diff --git a/res-pc/node_modules/.bin/avrgirl-arduino b/res-pc/node_modules/.bin/avrgirl-arduino deleted file mode 120000 index dcb5c716..00000000 --- a/res-pc/node_modules/.bin/avrgirl-arduino +++ /dev/null @@ -1 +0,0 @@ -../avrgirl-arduino/bin/cli.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/detect-libc b/res-pc/node_modules/.bin/detect-libc deleted file mode 120000 index b4c4b767..00000000 --- a/res-pc/node_modules/.bin/detect-libc +++ /dev/null @@ -1 +0,0 @@ -../detect-libc/bin/detect-libc.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/mkdirp b/res-pc/node_modules/.bin/mkdirp deleted file mode 120000 index 017896ce..00000000 --- a/res-pc/node_modules/.bin/mkdirp +++ /dev/null @@ -1 +0,0 @@ -../mkdirp/bin/cmd.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/prebuild-install b/res-pc/node_modules/.bin/prebuild-install deleted file mode 120000 index 12a458dd..00000000 --- a/res-pc/node_modules/.bin/prebuild-install +++ /dev/null @@ -1 +0,0 @@ -../prebuild-install/bin.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/prominode b/res-pc/node_modules/.bin/prominode deleted file mode 120000 index 2b21cfb8..00000000 --- a/res-pc/node_modules/.bin/prominode +++ /dev/null @@ -1 +0,0 @@ -../promirepl/bin/prominode.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/rc b/res-pc/node_modules/.bin/rc deleted file mode 120000 index 48b3cda7..00000000 --- a/res-pc/node_modules/.bin/rc +++ /dev/null @@ -1 +0,0 @@ -../rc/cli.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/semver b/res-pc/node_modules/.bin/semver deleted file mode 120000 index 317eb293..00000000 --- a/res-pc/node_modules/.bin/semver +++ /dev/null @@ -1 +0,0 @@ -../semver/bin/semver \ No newline at end of file diff --git a/res-pc/node_modules/.bin/serialport-list b/res-pc/node_modules/.bin/serialport-list deleted file mode 120000 index 316ae6a4..00000000 --- a/res-pc/node_modules/.bin/serialport-list +++ /dev/null @@ -1 +0,0 @@ -../serialport/bin/list.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/serialport-repl b/res-pc/node_modules/.bin/serialport-repl deleted file mode 120000 index 881e98d4..00000000 --- a/res-pc/node_modules/.bin/serialport-repl +++ /dev/null @@ -1 +0,0 @@ -../serialport/bin/repl.js \ No newline at end of file diff --git a/res-pc/node_modules/.bin/serialport-term b/res-pc/node_modules/.bin/serialport-term deleted file mode 120000 index 660f9b56..00000000 --- a/res-pc/node_modules/.bin/serialport-term +++ /dev/null @@ -1 +0,0 @@ -../serialport/bin/terminal.js \ No newline at end of file diff --git a/res-pc/node_modules/ansi-regex/index.js b/res-pc/node_modules/ansi-regex/index.js deleted file mode 100644 index b9574ed7..00000000 --- a/res-pc/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/res-pc/node_modules/ansi-regex/license b/res-pc/node_modules/ansi-regex/license deleted file mode 100644 index 654d0bfe..00000000 --- a/res-pc/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/res-pc/node_modules/ansi-regex/package.json b/res-pc/node_modules/ansi-regex/package.json deleted file mode 100644 index 3c475ce8..00000000 --- a/res-pc/node_modules/ansi-regex/package.json +++ /dev/null @@ -1,108 +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": [ - "/strip-ansi" - ], - "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", - "_spec": "ansi-regex@^2.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/strip-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/res-pc/node_modules/ansi-regex/readme.md b/res-pc/node_modules/ansi-regex/readme.md deleted file mode 100644 index 6a928edf..00000000 --- a/res-pc/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/res-pc/node_modules/aproba/LICENSE b/res-pc/node_modules/aproba/LICENSE deleted file mode 100644 index f4be44d8..00000000 --- a/res-pc/node_modules/aproba/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2015, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - diff --git a/res-pc/node_modules/aproba/README.md b/res-pc/node_modules/aproba/README.md deleted file mode 100644 index 0bfc594c..00000000 --- a/res-pc/node_modules/aproba/README.md +++ /dev/null @@ -1,94 +0,0 @@ -aproba -====== - -A ridiculously light-weight function argument validator - -``` -var validate = require("aproba") - -function myfunc(a, b, c) { - // `a` must be a string, `b` a number, `c` a function - validate('SNF', arguments) // [a,b,c] is also valid -} - -myfunc('test', 23, function () {}) // ok -myfunc(123, 23, function () {}) // type error -myfunc('test', 23) // missing arg error -myfunc('test', 23, function () {}, true) // too many args error - -``` - -Valid types are: - -| type | description -| :--: | :---------- -| * | matches any type -| A | `Array.isArray` OR an `arguments` object -| S | typeof == string -| N | typeof == number -| F | typeof == function -| O | typeof == object and not type A and not type E -| B | typeof == boolean -| E | `instanceof Error` OR `null` **(special: see below)** -| Z | == `null` - -Validation failures throw one of three exception types, distinguished by a -`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`. - -If you pass in an invalid type then it will throw with a code of -`EUNKNOWNTYPE`. - -If an **error** argument is found and is not null then the remaining -arguments are optional. That is, if you say `ESO` then that's like using a -non-magical `E` in: `E|ESO|ZSO`. - -### But I have optional arguments?! - -You can provide more than one signature by separating them with pipes `|`. -If any signature matches the arguments then they'll be considered valid. - -So for example, say you wanted to write a signature for -`fs.createWriteStream`. The docs for it describe it thusly: - -``` -fs.createWriteStream(path[, options]) -``` - -This would be a signature of `SO|S`. That is, a string and and object, or -just a string. - -Now, if you read the full `fs` docs, you'll see that actually path can ALSO -be a buffer. And options can be a string, that is: -``` -path | -options | -``` - -To reproduce this you have to fully enumerate all of the possible -combinations and that implies a signature of `SO|SS|OO|OS|S|O`. The -awkwardness is a feature: It reminds you of the complexity you're adding to -your API when you do this sort of thing. - - -### Browser support - -This has no dependencies and should work in browsers, though you'll have -noisier stack traces. - -### Why this exists - -I wanted a very simple argument validator. It needed to do two things: - -1. Be more concise and easier to use than assertions - -2. Not encourage an infinite bikeshed of DSLs - -This is why types are specified by a single character and there's no such -thing as an optional argument. - -This is not intended to validate user data. This is specifically about -asserting the interface of your functions. - -If you need greater validation, I encourage you to write them by hand or -look elsewhere. - diff --git a/res-pc/node_modules/aproba/index.js b/res-pc/node_modules/aproba/index.js deleted file mode 100644 index 6f3f797c..00000000 --- a/res-pc/node_modules/aproba/index.js +++ /dev/null @@ -1,105 +0,0 @@ -'use strict' - -function isArguments (thingy) { - return thingy != null && typeof thingy === 'object' && thingy.hasOwnProperty('callee') -} - -var types = { - '*': {label: 'any', check: function () { return true }}, - A: {label: 'array', check: function (thingy) { return Array.isArray(thingy) || isArguments(thingy) }}, - S: {label: 'string', check: function (thingy) { return typeof thingy === 'string' }}, - N: {label: 'number', check: function (thingy) { return typeof thingy === 'number' }}, - F: {label: 'function', check: function (thingy) { return typeof thingy === 'function' }}, - O: {label: 'object', check: function (thingy) { return typeof thingy === 'object' && thingy != null && !types.A.check(thingy) && !types.E.check(thingy) }}, - B: {label: 'boolean', check: function (thingy) { return typeof thingy === 'boolean' }}, - E: {label: 'error', check: function (thingy) { return thingy instanceof Error }}, - Z: {label: 'null', check: function (thingy) { return thingy == null }} -} - -function addSchema (schema, arity) { - var group = arity[schema.length] = arity[schema.length] || [] - if (group.indexOf(schema) === -1) group.push(schema) -} - -var validate = module.exports = function (rawSchemas, args) { - if (arguments.length !== 2) throw wrongNumberOfArgs(['SA'], arguments.length) - if (!rawSchemas) throw missingRequiredArg(0, 'rawSchemas') - if (!args) throw missingRequiredArg(1, 'args') - if (!types.S.check(rawSchemas)) throw invalidType(0, ['string'], rawSchemas) - if (!types.A.check(args)) throw invalidType(1, ['array'], args) - var schemas = rawSchemas.split('|') - var arity = {} - - schemas.forEach(function (schema) { - for (var ii = 0; ii < schema.length; ++ii) { - var type = schema[ii] - if (!types[type]) throw unknownType(ii, type) - } - if (/E.*E/.test(schema)) throw moreThanOneError(schema) - addSchema(schema, arity) - if (/E/.test(schema)) { - addSchema(schema.replace(/E.*$/, 'E'), arity) - addSchema(schema.replace(/E/, 'Z'), arity) - if (schema.length === 1) addSchema('', arity) - } - }) - var matching = arity[args.length] - if (!matching) { - throw wrongNumberOfArgs(Object.keys(arity), args.length) - } - for (var ii = 0; ii < args.length; ++ii) { - var newMatching = matching.filter(function (schema) { - var type = schema[ii] - var typeCheck = types[type].check - return typeCheck(args[ii]) - }) - if (!newMatching.length) { - var labels = matching.map(function (schema) { - return types[schema[ii]].label - }).filter(function (schema) { return schema != null }) - throw invalidType(ii, labels, args[ii]) - } - matching = newMatching - } -} - -function missingRequiredArg (num) { - return newException('EMISSINGARG', 'Missing required argument #' + (num + 1)) -} - -function unknownType (num, type) { - return newException('EUNKNOWNTYPE', 'Unknown type ' + type + ' in argument #' + (num + 1)) -} - -function invalidType (num, expectedTypes, value) { - var valueType - Object.keys(types).forEach(function (typeCode) { - if (types[typeCode].check(value)) valueType = types[typeCode].label - }) - return newException('EINVALIDTYPE', 'Argument #' + (num + 1) + ': Expected ' + - englishList(expectedTypes) + ' but got ' + valueType) -} - -function englishList (list) { - return list.join(', ').replace(/, ([^,]+)$/, ' or $1') -} - -function wrongNumberOfArgs (expected, got) { - var english = englishList(expected) - var args = expected.every(function (ex) { return ex.length === 1 }) - ? 'argument' - : 'arguments' - return newException('EWRONGARGCOUNT', 'Expected ' + english + ' ' + args + ' but got ' + got) -} - -function moreThanOneError (schema) { - return newException('ETOOMANYERRORTYPES', - 'Only one error type per argument signature is allowed, more than one found in "' + schema + '"') -} - -function newException (code, msg) { - var e = new Error(msg) - e.code = code - if (Error.captureStackTrace) Error.captureStackTrace(e, validate) - return e -} diff --git a/res-pc/node_modules/aproba/package.json b/res-pc/node_modules/aproba/package.json deleted file mode 100644 index 512e7981..00000000 --- a/res-pc/node_modules/aproba/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "aproba@^1.0.3", - "_id": "aproba@1.2.0", - "_inBundle": false, - "_integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "_location": "/aproba", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "aproba@^1.0.3", - "name": "aproba", - "escapedName": "aproba", - "rawSpec": "^1.0.3", - "saveSpec": null, - "fetchSpec": "^1.0.3" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "_shasum": "6802e6264efd18c790a1b0d517f0f2627bf2c94a", - "_spec": "aproba@^1.0.3", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/gauge", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/aproba/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "A ridiculously light-weight argument validator (now browser friendly)", - "devDependencies": { - "standard": "^10.0.3", - "tap": "^10.0.2" - }, - "directories": { - "test": "test" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/iarna/aproba", - "keywords": [ - "argument", - "validate" - ], - "license": "ISC", - "main": "index.js", - "name": "aproba", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/aproba.git" - }, - "scripts": { - "test": "standard && tap -j3 test/*.js" - }, - "version": "1.2.0" -} diff --git a/res-pc/node_modules/are-we-there-yet/CHANGES.md b/res-pc/node_modules/are-we-there-yet/CHANGES.md deleted file mode 100644 index 46ad0785..00000000 --- a/res-pc/node_modules/are-we-there-yet/CHANGES.md +++ /dev/null @@ -1,31 +0,0 @@ -Hi, figured we could actually use a changelog now: - -## 1.1.4 2017-04-21 - -* Fix typo in package.json - -## 1.1.3 2017-04-21 - -* Improve documentation and limit files included in the distribution. - -## 1.1.2 2016-03-15 - -* Add tracker group cycle detection and tests for it - -## 1.1.1 2016-01-29 - -* Fix a typo in stream completion tracker - -## 1.1.0 2016-01-29 - -* Rewrote completion percent computation to be low impact– no more walking a - tree of completion groups every time we need this info. Previously, with - medium sized tree of completion groups, even a relatively modest number of - calls to the top level `completed()` method would result in absurd numbers - of calls overall as it walked down the tree. We now, instead, keep track as - we bubble up changes, so the computation is limited to when data changes and - to the depth of that one branch, instead of _every_ node. (Plus, we were already - incurring _this_ cost, since we already bubbled out changes.) -* Moved different tracker types out to their own files. -* Made tests test for TOO MANY events too. -* Standarized the source code formatting diff --git a/res-pc/node_modules/are-we-there-yet/CHANGES.md~ b/res-pc/node_modules/are-we-there-yet/CHANGES.md~ deleted file mode 100644 index a932721f..00000000 --- a/res-pc/node_modules/are-we-there-yet/CHANGES.md~ +++ /dev/null @@ -1,27 +0,0 @@ -Hi, figured we could actually use a changelog now: - -## 1.1.3 2017-04-21 - -* Improve documentation and limit files included in the distribution. - -## 1.1.2 2016-03-15 - -* Add tracker group cycle detection and tests for it - -## 1.1.1 2016-01-29 - -* Fix a typo in stream completion tracker - -## 1.1.0 2016-01-29 - -* Rewrote completion percent computation to be low impact– no more walking a - tree of completion groups every time we need this info. Previously, with - medium sized tree of completion groups, even a relatively modest number of - calls to the top level `completed()` method would result in absurd numbers - of calls overall as it walked down the tree. We now, instead, keep track as - we bubble up changes, so the computation is limited to when data changes and - to the depth of that one branch, instead of _every_ node. (Plus, we were already - incurring _this_ cost, since we already bubbled out changes.) -* Moved different tracker types out to their own files. -* Made tests test for TOO MANY events too. -* Standarized the source code formatting diff --git a/res-pc/node_modules/are-we-there-yet/LICENSE b/res-pc/node_modules/are-we-there-yet/LICENSE deleted file mode 100644 index af458806..00000000 --- a/res-pc/node_modules/are-we-there-yet/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (c) 2015, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/res-pc/node_modules/are-we-there-yet/README.md b/res-pc/node_modules/are-we-there-yet/README.md deleted file mode 100644 index 7e2b42d8..00000000 --- a/res-pc/node_modules/are-we-there-yet/README.md +++ /dev/null @@ -1,195 +0,0 @@ -are-we-there-yet ----------------- - -Track complex hiearchies of asynchronous task completion statuses. This is -intended to give you a way of recording and reporting the progress of the big -recursive fan-out and gather type workflows that are so common in async. - -What you do with this completion data is up to you, but the most common use case is to -feed it to one of the many progress bar modules. - -Most progress bar modules include a rudamentary version of this, but my -needs were more complex. - -Usage -===== - -```javascript -var TrackerGroup = require("are-we-there-yet").TrackerGroup - -var top = new TrackerGroup("program") - -var single = top.newItem("one thing", 100) -single.completeWork(20) - -console.log(top.completed()) // 0.2 - -fs.stat("file", function(er, stat) { - if (er) throw er - var stream = top.newStream("file", stat.size) - console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete - // and 50% * 20% == 10% - fs.createReadStream("file").pipe(stream).on("data", function (chunk) { - // do stuff with chunk - }) - top.on("change", function (name) { - // called each time a chunk is read from "file" - // top.completed() will start at 0.1 and fill up to 0.6 as the file is read - }) -}) -``` - -Shared Methods -============== - -* var completed = tracker.completed() - -Implemented in: `Tracker`, `TrackerGroup`, `TrackerStream` - -Returns the ratio of completed work to work to be done. Range of 0 to 1. - -* tracker.finish() - -Implemented in: `Tracker`, `TrackerGroup` - -Marks the tracker as completed. With a TrackerGroup this marks all of its -components as completed. - -Marks all of the components of this tracker as finished, which in turn means -that `tracker.completed()` for this will now be 1. - -This will result in one or more `change` events being emitted. - -Events -====== - -All tracker objects emit `change` events with the following arguments: - -``` -function (name, completed, tracker) -``` - -`name` is the name of the tracker that originally emitted the event, -or if it didn't have one, the first containing tracker group that had one. - -`completed` is the percent complete (as returned by `tracker.completed()` method). - -`tracker` is the tracker object that you are listening for events on. - -TrackerGroup -============ - -* var tracker = new TrackerGroup(**name**) - - * **name** *(optional)* - The name of this tracker group, used in change - notifications if the component updating didn't have a name. Defaults to undefined. - -Creates a new empty tracker aggregation group. These are trackers whose -completion status is determined by the completion status of other trackers. - -* tracker.addUnit(**otherTracker**, **weight**) - - * **otherTracker** - Any of the other are-we-there-yet tracker objects - * **weight** *(optional)* - The weight to give the tracker, defaults to 1. - -Adds the **otherTracker** to this aggregation group. The weight determines -how long you expect this tracker to take to complete in proportion to other -units. So for instance, if you add one tracker with a weight of 1 and -another with a weight of 2, you're saying the second will take twice as long -to complete as the first. As such, the first will account for 33% of the -completion of this tracker and the second will account for the other 67%. - -Returns **otherTracker**. - -* var subGroup = tracker.newGroup(**name**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subGroup = tracker.addUnit(new TrackerGroup(name), weight) -``` - -* var subItem = tracker.newItem(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subItem = tracker.addUnit(new Tracker(name, todo), weight) -``` - -* var subStream = tracker.newStream(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subStream = tracker.addUnit(new TrackerStream(name, todo), weight) -``` - -* console.log( tracker.debug() ) - -Returns a tree showing the completion of this tracker group and all of its -children, including recursively entering all of the children. - -Tracker -======= - -* var tracker = new Tracker(**name**, **todo**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **todo** *(optional)* The amount of work todo (a number). Defaults to 0. - -Ordinarily these are constructed as a part of a tracker group (via -`newItem`). - -* var completed = tracker.completed() - -Returns the ratio of completed work to work to be done. Range of 0 to 1. If -total work to be done is 0 then it will return 0. - -* tracker.addWork(**todo**) - - * **todo** A number to add to the amount of work to be done. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. - -* tracker.completeWork(**completed**) - - * **completed** A number to add to the work complete - -Increase the amount of work complete, thus increasing the completion percentage. -Will never increase the work completed past the amount of work todo. That is, -percentages > 100% are not allowed. Triggers a `change` event. - -* tracker.finish() - -Marks this tracker as finished, tracker.completed() will now be 1. Triggers -a `change` event. - -TrackerStream -============= - -* var tracker = new TrackerStream(**name**, **size**, **options**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **size** *(optional)* The number of bytes being sent through this stream. - * **options** *(optional)* A hash of stream options - -The tracker stream object is a pass through stream that updates an internal -tracker object each time a block passes through. It's intended to track -downloads, file extraction and other related activities. You use it by piping -your data source into it and then using it as your data source. - -If your data has a length attribute then that's used as the amount of work -completed when the chunk is passed through. If it does not (eg, object -streams) then each chunk counts as completing 1 unit of work, so your size -should be the total number of objects being streamed. - -* tracker.addWork(**todo**) - - * **todo** Increase the expected overall size by **todo** bytes. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. diff --git a/res-pc/node_modules/are-we-there-yet/index.js b/res-pc/node_modules/are-we-there-yet/index.js deleted file mode 100644 index 57d8743f..00000000 --- a/res-pc/node_modules/are-we-there-yet/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict' -exports.TrackerGroup = require('./tracker-group.js') -exports.Tracker = require('./tracker.js') -exports.TrackerStream = require('./tracker-stream.js') diff --git a/res-pc/node_modules/are-we-there-yet/package.json b/res-pc/node_modules/are-we-there-yet/package.json deleted file mode 100644 index ecd6f346..00000000 --- a/res-pc/node_modules/are-we-there-yet/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_from": "are-we-there-yet@~1.1.2", - "_id": "are-we-there-yet@1.1.4", - "_inBundle": false, - "_integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "_location": "/are-we-there-yet", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "are-we-there-yet@~1.1.2", - "name": "are-we-there-yet", - "escapedName": "are-we-there-yet", - "rawSpec": "~1.1.2", - "saveSpec": null, - "fetchSpec": "~1.1.2" - }, - "_requiredBy": [ - "/npmlog" - ], - "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "_shasum": "bb5dca382bb94f05e15194373d16fd3ba1ca110d", - "_spec": "are-we-there-yet@~1.1.2", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/npmlog", - "author": { - "name": "Rebecca Turner", - "url": "http://re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/are-we-there-yet/issues" - }, - "bundleDependencies": false, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "deprecated": false, - "description": "Keep track of the overall completion of many disparate processes", - "devDependencies": { - "standard": "^6.0.8", - "tap": "^5.7.0" - }, - "files": [ - "index.js", - "tracker-base.js", - "tracker-group.js", - "tracker-stream.js", - "tracker.js", - "CHANGES.md" - ], - "homepage": "https://github.com/iarna/are-we-there-yet", - "license": "ISC", - "main": "index.js", - "name": "are-we-there-yet", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/are-we-there-yet.git" - }, - "scripts": { - "test": "standard && tap test/*.js" - }, - "version": "1.1.4" -} diff --git a/res-pc/node_modules/are-we-there-yet/tracker-base.js b/res-pc/node_modules/are-we-there-yet/tracker-base.js deleted file mode 100644 index 6f436875..00000000 --- a/res-pc/node_modules/are-we-there-yet/tracker-base.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' -var EventEmitter = require('events').EventEmitter -var util = require('util') - -var trackerId = 0 -var TrackerBase = module.exports = function (name) { - EventEmitter.call(this) - this.id = ++trackerId - this.name = name -} -util.inherits(TrackerBase, EventEmitter) diff --git a/res-pc/node_modules/are-we-there-yet/tracker-group.js b/res-pc/node_modules/are-we-there-yet/tracker-group.js deleted file mode 100644 index 9759e122..00000000 --- a/res-pc/node_modules/are-we-there-yet/tracker-group.js +++ /dev/null @@ -1,107 +0,0 @@ -'use strict' -var util = require('util') -var TrackerBase = require('./tracker-base.js') -var Tracker = require('./tracker.js') -var TrackerStream = require('./tracker-stream.js') - -var TrackerGroup = module.exports = function (name) { - TrackerBase.call(this, name) - this.parentGroup = null - this.trackers = [] - this.completion = {} - this.weight = {} - this.totalWeight = 0 - this.finished = false - this.bubbleChange = bubbleChange(this) -} -util.inherits(TrackerGroup, TrackerBase) - -function bubbleChange (trackerGroup) { - return function (name, completed, tracker) { - trackerGroup.completion[tracker.id] = completed - if (trackerGroup.finished) return - trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup) - } -} - -TrackerGroup.prototype.nameInTree = function () { - var names = [] - var from = this - while (from) { - names.unshift(from.name) - from = from.parentGroup - } - return names.join('/') -} - -TrackerGroup.prototype.addUnit = function (unit, weight) { - if (unit.addUnit) { - var toTest = this - while (toTest) { - if (unit === toTest) { - throw new Error( - 'Attempted to add tracker group ' + - unit.name + ' to tree that already includes it ' + - this.nameInTree(this)) - } - toTest = toTest.parentGroup - } - unit.parentGroup = this - } - this.weight[unit.id] = weight || 1 - this.totalWeight += this.weight[unit.id] - this.trackers.push(unit) - this.completion[unit.id] = unit.completed() - unit.on('change', this.bubbleChange) - if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit) - return unit -} - -TrackerGroup.prototype.completed = function () { - if (this.trackers.length === 0) return 0 - var valPerWeight = 1 / this.totalWeight - var completed = 0 - for (var ii = 0; ii < this.trackers.length; ii++) { - var trackerId = this.trackers[ii].id - completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId] - } - return completed -} - -TrackerGroup.prototype.newGroup = function (name, weight) { - return this.addUnit(new TrackerGroup(name), weight) -} - -TrackerGroup.prototype.newItem = function (name, todo, weight) { - return this.addUnit(new Tracker(name, todo), weight) -} - -TrackerGroup.prototype.newStream = function (name, todo, weight) { - return this.addUnit(new TrackerStream(name, todo), weight) -} - -TrackerGroup.prototype.finish = function () { - this.finished = true - if (!this.trackers.length) this.addUnit(new Tracker(), 1, true) - for (var ii = 0; ii < this.trackers.length; ii++) { - var tracker = this.trackers[ii] - tracker.finish() - tracker.removeListener('change', this.bubbleChange) - } - this.emit('change', this.name, 1, this) -} - -var buffer = ' ' -TrackerGroup.prototype.debug = function (depth) { - depth = depth || 0 - var indent = depth ? buffer.substr(0, depth) : '' - var output = indent + (this.name || 'top') + ': ' + this.completed() + '\n' - this.trackers.forEach(function (tracker) { - if (tracker instanceof TrackerGroup) { - output += tracker.debug(depth + 1) - } else { - output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\n' - } - }) - return output -} diff --git a/res-pc/node_modules/are-we-there-yet/tracker-stream.js b/res-pc/node_modules/are-we-there-yet/tracker-stream.js deleted file mode 100644 index fb9598ed..00000000 --- a/res-pc/node_modules/are-we-there-yet/tracker-stream.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' -var util = require('util') -var stream = require('readable-stream') -var delegate = require('delegates') -var Tracker = require('./tracker.js') - -var TrackerStream = module.exports = function (name, size, options) { - stream.Transform.call(this, options) - this.tracker = new Tracker(name, size) - this.name = name - this.id = this.tracker.id - this.tracker.on('change', delegateChange(this)) -} -util.inherits(TrackerStream, stream.Transform) - -function delegateChange (trackerStream) { - return function (name, completion, tracker) { - trackerStream.emit('change', name, completion, trackerStream) - } -} - -TrackerStream.prototype._transform = function (data, encoding, cb) { - this.tracker.completeWork(data.length ? data.length : 1) - this.push(data) - cb() -} - -TrackerStream.prototype._flush = function (cb) { - this.tracker.finish() - cb() -} - -delegate(TrackerStream.prototype, 'tracker') - .method('completed') - .method('addWork') diff --git a/res-pc/node_modules/are-we-there-yet/tracker.js b/res-pc/node_modules/are-we-there-yet/tracker.js deleted file mode 100644 index 68c2339b..00000000 --- a/res-pc/node_modules/are-we-there-yet/tracker.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict' -var util = require('util') -var TrackerBase = require('./tracker-base.js') - -var Tracker = module.exports = function (name, todo) { - TrackerBase.call(this, name) - this.workDone = 0 - this.workTodo = todo || 0 -} -util.inherits(Tracker, TrackerBase) - -Tracker.prototype.completed = function () { - return this.workTodo === 0 ? 0 : this.workDone / this.workTodo -} - -Tracker.prototype.addWork = function (work) { - this.workTodo += work - this.emit('change', this.name, this.completed(), this) -} - -Tracker.prototype.completeWork = function (work) { - this.workDone += work - if (this.workDone > this.workTodo) this.workDone = this.workTodo - this.emit('change', this.name, this.completed(), this) -} - -Tracker.prototype.finish = function () { - this.workTodo = this.workDone = 1 - this.emit('change', this.name, 1, this) -} diff --git a/res-pc/node_modules/async/CHANGELOG.md b/res-pc/node_modules/async/CHANGELOG.md deleted file mode 100644 index de85303d..00000000 --- a/res-pc/node_modules/async/CHANGELOG.md +++ /dev/null @@ -1,263 +0,0 @@ -# v2.6.0 -- Added missing aliases for many methods. Previously, you could not (e.g.) `require('async/find')` or use `async.anyLimit`. (#1483) -- Improved `queue` performance. (#1448, #1454) -- Add missing sourcemap (#1452, #1453) -- Various doc updates (#1448, #1471, #1483) - -# v2.5.0 -- Added `concatLimit`, the `Limit` equivalent of [`concat`](https://caolan.github.io/async/docs.html#concat) ([#1426](https://github.com/caolan/async/issues/1426), [#1430](https://github.com/caolan/async/pull/1430)) -- `concat` improvements: it now preserves order, handles falsy values and the `iteratee` callback takes a variable number of arguments ([#1437](https://github.com/caolan/async/issues/1437), [#1436](https://github.com/caolan/async/pull/1436)) -- Fixed an issue in `queue` where there was a size discrepancy between `workersList().length` and `running()` ([#1428](https://github.com/caolan/async/issues/1428), [#1429](https://github.com/caolan/async/pull/1429)) -- Various doc fixes ([#1422](https://github.com/caolan/async/issues/1422), [#1424](https://github.com/caolan/async/pull/1424)) - -# v2.4.1 -- Fixed a bug preventing functions wrapped with `timeout()` from being re-used. ([#1418](https://github.com/caolan/async/issues/1418), [#1419](https://github.com/caolan/async/issues/1419)) - -# v2.4.0 -- Added `tryEach`, for running async functions in parallel, where you only expect one to succeed. ([#1365](https://github.com/caolan/async/issues/1365), [#687](https://github.com/caolan/async/issues/687)) -- Improved performance, most notably in `parallel` and `waterfall` ([#1395](https://github.com/caolan/async/issues/1395)) -- Added `queue.remove()`, for removing items in a `queue` ([#1397](https://github.com/caolan/async/issues/1397), [#1391](https://github.com/caolan/async/issues/1391)) -- Fixed using `eval`, preventing Async from running in pages with Content Security Policy ([#1404](https://github.com/caolan/async/issues/1404), [#1403](https://github.com/caolan/async/issues/1403)) -- Fixed errors thrown in an `asyncify`ed function's callback being caught by the underlying Promise ([#1408](https://github.com/caolan/async/issues/1408)) -- Fixed timing of `queue.empty()` ([#1367](https://github.com/caolan/async/issues/1367)) -- Various doc fixes ([#1314](https://github.com/caolan/async/issues/1314), [#1394](https://github.com/caolan/async/issues/1394), [#1412](https://github.com/caolan/async/issues/1412)) - -# v2.3.0 -- Added support for ES2017 `async` functions. Wherever you can pass a Node-style/CPS function that uses a callback, you can also pass an `async` function. Previously, you had to wrap `async` functions with `asyncify`. The caveat is that it will only work if `async` functions are supported natively in your environment, transpiled implementations can't be detected. ([#1386](https://github.com/caolan/async/issues/1386), [#1390](https://github.com/caolan/async/issues/1390)) -- Small doc fix ([#1392](https://github.com/caolan/async/issues/1392)) - -# v2.2.0 -- Added `groupBy`, and the `Series`/`Limit` equivalents, analogous to [`_.groupBy`](http://lodash.com/docs#groupBy) ([#1364](https://github.com/caolan/async/issues/1364)) -- Fixed `transform` bug when `callback` was not passed ([#1381](https://github.com/caolan/async/issues/1381)) -- Added note about `reflect` to `parallel` docs ([#1385](https://github.com/caolan/async/issues/1385)) - -# v2.1.5 -- Fix `auto` bug when function names collided with Array.prototype ([#1358](https://github.com/caolan/async/issues/1358)) -- Improve some error messages ([#1349](https://github.com/caolan/async/issues/1349)) -- Avoid stack overflow case in queue -- Fixed an issue in `some`, `every` and `find` where processing would continue after the result was determined. -- Cleanup implementations of `some`, `every` and `find` - -# v2.1.3 -- Make bundle size smaller -- Create optimized hotpath for `filter` in array case. - -# v2.1.2 -- Fixed a stackoverflow bug with `detect`, `some`, `every` on large inputs ([#1293](https://github.com/caolan/async/issues/1293)). - -# v2.1.0 - -- `retry` and `retryable` now support an optional `errorFilter` function that determines if the `task` should retry on the error ([#1256](https://github.com/caolan/async/issues/1256), [#1261](https://github.com/caolan/async/issues/1261)) -- Optimized array iteration in `race`, `cargo`, `queue`, and `priorityQueue` ([#1253](https://github.com/caolan/async/issues/1253)) -- Added alias documentation to doc site ([#1251](https://github.com/caolan/async/issues/1251), [#1254](https://github.com/caolan/async/issues/1254)) -- Added [BootStrap scrollspy](http://getbootstrap.com/javascript/#scrollspy) to docs to highlight in the sidebar the current method being viewed ([#1289](https://github.com/caolan/async/issues/1289), [#1300](https://github.com/caolan/async/issues/1300)) -- Various minor doc fixes ([#1263](https://github.com/caolan/async/issues/1263), [#1264](https://github.com/caolan/async/issues/1264), [#1271](https://github.com/caolan/async/issues/1271), [#1278](https://github.com/caolan/async/issues/1278), [#1280](https://github.com/caolan/async/issues/1280), [#1282](https://github.com/caolan/async/issues/1282), [#1302](https://github.com/caolan/async/issues/1302)) - -# v2.0.1 - -- Significantly optimized all iteration based collection methods such as `each`, `map`, `filter`, etc ([#1245](https://github.com/caolan/async/issues/1245), [#1246](https://github.com/caolan/async/issues/1246), [#1247](https://github.com/caolan/async/issues/1247)). - -# v2.0.0 - -Lots of changes here! - -First and foremost, we have a slick new [site for docs](https://caolan.github.io/async/). Special thanks to [**@hargasinski**](https://github.com/hargasinski) for his work converting our old docs to `jsdoc` format and implementing the new website. Also huge ups to [**@ivanseidel**](https://github.com/ivanseidel) for designing our new logo. It was a long process for both of these tasks, but I think these changes turned out extraordinary well. - -The biggest feature is modularization. You can now `require("async/series")` to only require the `series` function. Every Async library function is available this way. You still can `require("async")` to require the entire library, like you could do before. - -We also provide Async as a collection of ES2015 modules. You can now `import {each} from 'async-es'` or `import waterfall from 'async-es/waterfall'`. If you are using only a few Async functions, and are using a ES bundler such as Rollup, this can significantly lower your build size. - -Major thanks to [**@Kikobeats**](github.com/Kikobeats), [**@aearly**](github.com/aearly) and [**@megawac**](github.com/megawac) for doing the majority of the modularization work, as well as [**@jdalton**](github.com/jdalton) and [**@Rich-Harris**](github.com/Rich-Harris) for advisory work on the general modularization strategy. - -Another one of the general themes of the 2.0 release is standardization of what an "async" function is. We are now more strictly following the node-style continuation passing style. That is, an async function is a function that: - -1. Takes a variable number of arguments -2. The last argument is always a callback -3. The callback can accept any number of arguments -4. The first argument passed to the callback will be treated as an error result, if the argument is truthy -5. Any number of result arguments can be passed after the "error" argument -6. The callback is called once and exactly once, either on the same tick or later tick of the JavaScript event loop. - -There were several cases where Async accepted some functions that did not strictly have these properties, most notably `auto`, `every`, `some`, and `filter`. - -Another theme is performance. We have eliminated internal deferrals in all cases where they make sense. For example, in `waterfall` and `auto`, there was a `setImmediate` between each task -- these deferrals have been removed. A `setImmediate` call can add up to 1ms of delay. This might not seem like a lot, but it can add up if you are using many Async functions in the course of processing a HTTP request, for example. Nearly all asynchronous functions that do I/O already have some sort of deferral built in, so the extra deferral is unnecessary. The trade-off of this change is removing our built-in stack-overflow defense. Many synchronous callback calls in series can quickly overflow the JS call stack. If you do have a function that is sometimes synchronous (calling its callback on the same tick), and are running into stack overflows, wrap it with `async.ensureAsync()`. - -Another big performance win has been re-implementing `queue`, `cargo`, and `priorityQueue` with [doubly linked lists](https://en.wikipedia.org/wiki/Doubly_linked_list) instead of arrays. This has lead to queues being an order of [magnitude faster on large sets of tasks](https://github.com/caolan/async/pull/1205). - -## New Features - -- Async is now modularized. Individual functions can be `require()`d from the main package. (`require('async/auto')`) ([#984](https://github.com/caolan/async/issues/984), [#996](https://github.com/caolan/async/issues/996)) -- Async is also available as a collection of ES2015 modules in the new `async-es` package. (`import {forEachSeries} from 'async-es'`) ([#984](https://github.com/caolan/async/issues/984), [#996](https://github.com/caolan/async/issues/996)) -- Added `race`, analogous to `Promise.race()`. It will run an array of async tasks in parallel and will call its callback with the result of the first task to respond. ([#568](https://github.com/caolan/async/issues/568), [#1038](https://github.com/caolan/async/issues/1038)) -- Collection methods now accept ES2015 iterators. Maps, Sets, and anything that implements the iterator spec can now be passed directly to `each`, `map`, `parallel`, etc.. ([#579](https://github.com/caolan/async/issues/579), [#839](https://github.com/caolan/async/issues/839), [#1074](https://github.com/caolan/async/issues/1074)) -- Added `mapValues`, for mapping over the properties of an object and returning an object with the same keys. ([#1157](https://github.com/caolan/async/issues/1157), [#1177](https://github.com/caolan/async/issues/1177)) -- Added `timeout`, a wrapper for an async function that will make the task time-out after the specified time. ([#1007](https://github.com/caolan/async/issues/1007), [#1027](https://github.com/caolan/async/issues/1027)) -- Added `reflect` and `reflectAll`, analagous to [`Promise.reflect()`](http://bluebirdjs.com/docs/api/reflect.html), a wrapper for async tasks that always succeeds, by gathering results and errors into an object. ([#942](https://github.com/caolan/async/issues/942), [#1012](https://github.com/caolan/async/issues/1012), [#1095](https://github.com/caolan/async/issues/1095)) -- `constant` supports dynamic arguments -- it will now always use its last argument as the callback. ([#1016](https://github.com/caolan/async/issues/1016), [#1052](https://github.com/caolan/async/issues/1052)) -- `setImmediate` and `nextTick` now support arguments to partially apply to the deferred function, like the node-native versions do. ([#940](https://github.com/caolan/async/issues/940), [#1053](https://github.com/caolan/async/issues/1053)) -- `auto` now supports resolving cyclic dependencies using [Kahn's algorithm](https://en.wikipedia.org/wiki/Topological_sorting#Kahn.27s_algorithm) ([#1140](https://github.com/caolan/async/issues/1140)). -- Added `autoInject`, a relative of `auto` that automatically spreads a task's dependencies as arguments to the task function. ([#608](https://github.com/caolan/async/issues/608), [#1055](https://github.com/caolan/async/issues/1055), [#1099](https://github.com/caolan/async/issues/1099), [#1100](https://github.com/caolan/async/issues/1100)) -- You can now limit the concurrency of `auto` tasks. ([#635](https://github.com/caolan/async/issues/635), [#637](https://github.com/caolan/async/issues/637)) -- Added `retryable`, a relative of `retry` that wraps an async function, making it retry when called. ([#1058](https://github.com/caolan/async/issues/1058)) -- `retry` now supports specifying a function that determines the next time interval, useful for exponential backoff, logging and other retry strategies. ([#1161](https://github.com/caolan/async/issues/1161)) -- `retry` will now pass all of the arguments the task function was resolved with to the callback ([#1231](https://github.com/caolan/async/issues/1231)). -- Added `q.unsaturated` -- callback called when a `queue`'s number of running workers falls below a threshold. ([#868](https://github.com/caolan/async/issues/868), [#1030](https://github.com/caolan/async/issues/1030), [#1033](https://github.com/caolan/async/issues/1033), [#1034](https://github.com/caolan/async/issues/1034)) -- Added `q.error` -- a callback called whenever a `queue` task calls its callback with an error. ([#1170](https://github.com/caolan/async/issues/1170)) -- `applyEach` and `applyEachSeries` now pass results to the final callback. ([#1088](https://github.com/caolan/async/issues/1088)) - -## Breaking changes - -- Calling a callback more than once is considered an error, and an error will be thrown. This had an explicit breaking change in `waterfall`. If you were relying on this behavior, you should more accurately represent your control flow as an event emitter or stream. ([#814](https://github.com/caolan/async/issues/814), [#815](https://github.com/caolan/async/issues/815), [#1048](https://github.com/caolan/async/issues/1048), [#1050](https://github.com/caolan/async/issues/1050)) -- `auto` task functions now always take the callback as the last argument. If a task has dependencies, the `results` object will be passed as the first argument. To migrate old task functions, wrap them with [`_.flip`](https://lodash.com/docs#flip) ([#1036](https://github.com/caolan/async/issues/1036), [#1042](https://github.com/caolan/async/issues/1042)) -- Internal `setImmediate` calls have been refactored away. This may make existing flows vulnerable to stack overflows if you use many synchronous functions in series. Use `ensureAsync` to work around this. ([#696](https://github.com/caolan/async/issues/696), [#704](https://github.com/caolan/async/issues/704), [#1049](https://github.com/caolan/async/issues/1049), [#1050](https://github.com/caolan/async/issues/1050)) -- `map` used to return an object when iterating over an object. `map` now always returns an array, like in other libraries. The previous object behavior has been split out into `mapValues`. ([#1157](https://github.com/caolan/async/issues/1157), [#1177](https://github.com/caolan/async/issues/1177)) -- `filter`, `reject`, `some`, `every`, and related functions now expect an error as the first callback argument, rather than just a simple boolean. Pass `null` as the first argument, or use `fs.access` instead of `fs.exists`. ([#118](https://github.com/caolan/async/issues/118), [#774](https://github.com/caolan/async/issues/774), [#1028](https://github.com/caolan/async/issues/1028), [#1041](https://github.com/caolan/async/issues/1041)) -- `{METHOD}` and `{METHOD}Series` are now implemented in terms of `{METHOD}Limit`. This is a major internal simplification, and is not expected to cause many problems, but it does subtly affect how functions execute internally. ([#778](https://github.com/caolan/async/issues/778), [#847](https://github.com/caolan/async/issues/847)) -- `retry`'s callback is now optional. Previously, omitting the callback would partially apply the function, meaning it could be passed directly as a task to `series` or `auto`. The partially applied "control-flow" behavior has been separated out into `retryable`. ([#1054](https://github.com/caolan/async/issues/1054), [#1058](https://github.com/caolan/async/issues/1058)) -- The test function for `whilst`, `until`, and `during` used to be passed non-error args from the iteratee function's callback, but this led to weirdness where the first call of the test function would be passed no args. We have made it so the test function is never passed extra arguments, and only the `doWhilst`, `doUntil`, and `doDuring` functions pass iteratee callback arguments to the test function ([#1217](https://github.com/caolan/async/issues/1217), [#1224](https://github.com/caolan/async/issues/1224)) -- The `q.tasks` array has been renamed `q._tasks` and is now implemented as a doubly linked list (DLL). Any code that used to interact with this array will need to be updated to either use the provided helpers or support DLLs ([#1205](https://github.com/caolan/async/issues/1205)). -- The timing of the `q.saturated()` callback in a `queue` has been modified to better reflect when tasks pushed to the queue will start queueing. ([#724](https://github.com/caolan/async/issues/724), [#1078](https://github.com/caolan/async/issues/1078)) -- Removed `iterator` method in favour of [ES2015 iterator protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators ) which natively supports arrays ([#1237](https://github.com/caolan/async/issues/1237)) -- Dropped support for Component, Jam, SPM, and Volo ([#1175](https://github.com/caolan/async/issues/1175), #[#176](https://github.com/caolan/async/issues/176)) - -## Bug Fixes - -- Improved handling of no dependency cases in `auto` & `autoInject` ([#1147](https://github.com/caolan/async/issues/1147)). -- Fixed a bug where the callback generated by `asyncify` with `Promises` could resolve twice ([#1197](https://github.com/caolan/async/issues/1197)). -- Fixed several documented optional callbacks not actually being optional ([#1223](https://github.com/caolan/async/issues/1223)). - -## Other - -- Added `someSeries` and `everySeries` for symmetry, as well as a complete set of `any`/`anyLimit`/`anySeries` and `all`/`/allLmit`/`allSeries` aliases. -- Added `find` as an alias for `detect. (as well as `findLimit` and `findSeries`). -- Various doc fixes ([#1005](https://github.com/caolan/async/issues/1005), [#1008](https://github.com/caolan/async/issues/1008), [#1010](https://github.com/caolan/async/issues/1010), [#1015](https://github.com/caolan/async/issues/1015), [#1021](https://github.com/caolan/async/issues/1021), [#1037](https://github.com/caolan/async/issues/1037), [#1039](https://github.com/caolan/async/issues/1039), [#1051](https://github.com/caolan/async/issues/1051), [#1102](https://github.com/caolan/async/issues/1102), [#1107](https://github.com/caolan/async/issues/1107), [#1121](https://github.com/caolan/async/issues/1121), [#1123](https://github.com/caolan/async/issues/1123), [#1129](https://github.com/caolan/async/issues/1129), [#1135](https://github.com/caolan/async/issues/1135), [#1138](https://github.com/caolan/async/issues/1138), [#1141](https://github.com/caolan/async/issues/1141), [#1153](https://github.com/caolan/async/issues/1153), [#1216](https://github.com/caolan/async/issues/1216), [#1217](https://github.com/caolan/async/issues/1217), [#1232](https://github.com/caolan/async/issues/1232), [#1233](https://github.com/caolan/async/issues/1233), [#1236](https://github.com/caolan/async/issues/1236), [#1238](https://github.com/caolan/async/issues/1238)) - -Thank you [**@aearly**](github.com/aearly) and [**@megawac**](github.com/megawac) for taking the lead on version 2 of async. - ------------------------------------------- - -# v1.5.2 -- Allow using `"constructor"` as an argument in `memoize` ([#998](https://github.com/caolan/async/issues/998)) -- Give a better error messsage when `auto` dependency checking fails ([#994](https://github.com/caolan/async/issues/994)) -- Various doc updates ([#936](https://github.com/caolan/async/issues/936), [#956](https://github.com/caolan/async/issues/956), [#979](https://github.com/caolan/async/issues/979), [#1002](https://github.com/caolan/async/issues/1002)) - -# v1.5.1 -- Fix issue with `pause` in `queue` with concurrency enabled ([#946](https://github.com/caolan/async/issues/946)) -- `while` and `until` now pass the final result to callback ([#963](https://github.com/caolan/async/issues/963)) -- `auto` will properly handle concurrency when there is no callback ([#966](https://github.com/caolan/async/issues/966)) -- `auto` will no. properly stop execution when an error occurs ([#988](https://github.com/caolan/async/issues/988), [#993](https://github.com/caolan/async/issues/993)) -- Various doc fixes ([#971](https://github.com/caolan/async/issues/971), [#980](https://github.com/caolan/async/issues/980)) - -# v1.5.0 - -- Added `transform`, analogous to [`_.transform`](http://lodash.com/docs#transform) ([#892](https://github.com/caolan/async/issues/892)) -- `map` now returns an object when an object is passed in, rather than array with non-numeric keys. `map` will begin always returning an array with numeric indexes in the next major release. ([#873](https://github.com/caolan/async/issues/873)) -- `auto` now accepts an optional `concurrency` argument to limit the number o. running tasks ([#637](https://github.com/caolan/async/issues/637)) -- Added `queue#workersList()`, to retrieve the lis. of currently running tasks. ([#891](https://github.com/caolan/async/issues/891)) -- Various code simplifications ([#896](https://github.com/caolan/async/issues/896), [#904](https://github.com/caolan/async/issues/904)) -- Various doc fixes :scroll: ([#890](https://github.com/caolan/async/issues/890), [#894](https://github.com/caolan/async/issues/894), [#903](https://github.com/caolan/async/issues/903), [#905](https://github.com/caolan/async/issues/905), [#912](https://github.com/caolan/async/issues/912)) - -# v1.4.2 - -- Ensure coverage files don't get published on npm ([#879](https://github.com/caolan/async/issues/879)) - -# v1.4.1 - -- Add in overlooked `detectLimit` method ([#866](https://github.com/caolan/async/issues/866)) -- Removed unnecessary files from npm releases ([#861](https://github.com/caolan/async/issues/861)) -- Removed usage of a reserved word to prevent :boom: in older environments ([#870](https://github.com/caolan/async/issues/870)) - -# v1.4.0 - -- `asyncify` now supports promises ([#840](https://github.com/caolan/async/issues/840)) -- Added `Limit` versions of `filter` and `reject` ([#836](https://github.com/caolan/async/issues/836)) -- Add `Limit` versions of `detect`, `some` and `every` ([#828](https://github.com/caolan/async/issues/828), [#829](https://github.com/caolan/async/issues/829)) -- `some`, `every` and `detect` now short circuit early ([#828](https://github.com/caolan/async/issues/828), [#829](https://github.com/caolan/async/issues/829)) -- Improve detection of the global object ([#804](https://github.com/caolan/async/issues/804)), enabling use in WebWorkers -- `whilst` now called with arguments from iterator ([#823](https://github.com/caolan/async/issues/823)) -- `during` now gets called with arguments from iterator ([#824](https://github.com/caolan/async/issues/824)) -- Code simplifications and optimizations aplenty ([diff](https://github.com/caolan/async/compare/v1.3.0...v1.4.0)) - - -# v1.3.0 - -New Features: -- Added `constant` -- Added `asyncify`/`wrapSync` for making sync functions work with callbacks. ([#671](https://github.com/caolan/async/issues/671), [#806](https://github.com/caolan/async/issues/806)) -- Added `during` and `doDuring`, which are like `whilst` with an async truth test. ([#800](https://github.com/caolan/async/issues/800)) -- `retry` now accepts an `interval` parameter to specify a delay between retries. ([#793](https://github.com/caolan/async/issues/793)) -- `async` should work better in Web Workers due to better `root` detection ([#804](https://github.com/caolan/async/issues/804)) -- Callbacks are now optional in `whilst`, `doWhilst`, `until`, and `doUntil` ([#642](https://github.com/caolan/async/issues/642)) -- Various internal updates ([#786](https://github.com/caolan/async/issues/786), [#801](https://github.com/caolan/async/issues/801), [#802](https://github.com/caolan/async/issues/802), [#803](https://github.com/caolan/async/issues/803)) -- Various doc fixes ([#790](https://github.com/caolan/async/issues/790), [#794](https://github.com/caolan/async/issues/794)) - -Bug Fixes: -- `cargo` now exposes the `payload` size, and `cargo.payload` can be changed on the fly after the `cargo` is created. ([#740](https://github.com/caolan/async/issues/740), [#744](https://github.com/caolan/async/issues/744), [#783](https://github.com/caolan/async/issues/783)) - - -# v1.2.1 - -Bug Fix: - -- Small regression with synchronous iterator behavior in `eachSeries` with a 1-element array. Before 1.1.0, `eachSeries`'s callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. ([#782](https://github.com/caolan/async/issues/782)) - - -# v1.2.0 - -New Features: - -- Added `timesLimit` ([#743](https://github.com/caolan/async/issues/743)) -- `concurrency` can be changed after initialization in `queue` by setting `q.concurrency`. The new concurrency will be reflected the next time a task is processed. ([#747](https://github.com/caolan/async/issues/747), [#772](https://github.com/caolan/async/issues/772)) - -Bug Fixes: - -- Fixed a regression in `each` and family with empty arrays that have additional properties. ([#775](https://github.com/caolan/async/issues/775), [#777](https://github.com/caolan/async/issues/777)) - - -# v1.1.1 - -Bug Fix: - -- Small regression with synchronous iterator behavior in `eachSeries` with a 1-element array. Before 1.1.0, `eachSeries`'s callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. ([#782](https://github.com/caolan/async/issues/782)) - - -# v1.1.0 - -New Features: - -- `cargo` now supports all of the same methods and event callbacks as `queue`. -- Added `ensureAsync` - A wrapper that ensures an async function calls its callback on a later tick. ([#769](https://github.com/caolan/async/issues/769)) -- Optimized `map`, `eachOf`, and `waterfall` families of functions -- Passing a `null` or `undefined` array to `map`, `each`, `parallel` and families will be treated as an empty array ([#667](https://github.com/caolan/async/issues/667)). -- The callback is now optional for the composed results of `compose` and `seq`. ([#618](https://github.com/caolan/async/issues/618)) -- Reduced file size by 4kb, (minified version by 1kb) -- Added code coverage through `nyc` and `coveralls` ([#768](https://github.com/caolan/async/issues/768)) - -Bug Fixes: - -- `forever` will no longer stack overflow with a synchronous iterator ([#622](https://github.com/caolan/async/issues/622)) -- `eachLimit` and other limit functions will stop iterating once an error occurs ([#754](https://github.com/caolan/async/issues/754)) -- Always pass `null` in callbacks when there is no error ([#439](https://github.com/caolan/async/issues/439)) -- Ensure proper conditions when calling `drain()` after pushing an empty data set to a queue ([#668](https://github.com/caolan/async/issues/668)) -- `each` and family will properly handle an empty array ([#578](https://github.com/caolan/async/issues/578)) -- `eachSeries` and family will finish if the underlying array is modified during execution ([#557](https://github.com/caolan/async/issues/557)) -- `queue` will throw if a non-function is passed to `q.push()` ([#593](https://github.com/caolan/async/issues/593)) -- Doc fixes ([#629](https://github.com/caolan/async/issues/629), [#766](https://github.com/caolan/async/issues/766)) - - -# v1.0.0 - -No known breaking changes, we are simply complying with semver from here on out. - -Changes: - -- Start using a changelog! -- Add `forEachOf` for iterating over Objects (or to iterate Arrays with indexes available) ([#168](https://github.com/caolan/async/issues/168) [#704](https://github.com/caolan/async/issues/704) [#321](https://github.com/caolan/async/issues/321)) -- Detect deadlocks in `auto` ([#663](https://github.com/caolan/async/issues/663)) -- Better support for require.js ([#527](https://github.com/caolan/async/issues/527)) -- Throw if queue created with concurrency `0` ([#714](https://github.com/caolan/async/issues/714)) -- Fix unneeded iteration in `queue.resume()` ([#758](https://github.com/caolan/async/issues/758)) -- Guard against timer mocking overriding `setImmediate` ([#609](https://github.com/caolan/async/issues/609) [#611](https://github.com/caolan/async/issues/611)) -- Miscellaneous doc fixes ([#542](https://github.com/caolan/async/issues/542) [#596](https://github.com/caolan/async/issues/596) [#615](https://github.com/caolan/async/issues/615) [#628](https://github.com/caolan/async/issues/628) [#631](https://github.com/caolan/async/issues/631) [#690](https://github.com/caolan/async/issues/690) [#729](https://github.com/caolan/async/issues/729)) -- Use single noop function internally ([#546](https://github.com/caolan/async/issues/546)) -- Optimize internal `_each`, `_map` and `_keys` functions. diff --git a/res-pc/node_modules/async/LICENSE b/res-pc/node_modules/async/LICENSE deleted file mode 100644 index d807c05a..00000000 --- a/res-pc/node_modules/async/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2010-2017 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/res-pc/node_modules/async/README.md b/res-pc/node_modules/async/README.md deleted file mode 100644 index b48c7dee..00000000 --- a/res-pc/node_modules/async/README.md +++ /dev/null @@ -1,50 +0,0 @@ -![Async Logo](https://raw.githubusercontent.com/caolan/async/master/logo/async-logo_readme.jpg) - -[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async) -[![NPM version](https://img.shields.io/npm/v/async.svg)](https://www.npmjs.com/package/async) -[![Coverage Status](https://coveralls.io/repos/caolan/async/badge.svg?branch=master)](https://coveralls.io/r/caolan/async?branch=master) -[![Join the chat at https://gitter.im/caolan/async](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/caolan/async?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![libhive - Open source examples](https://www.libhive.com/providers/npm/packages/async/examples/badge.svg)](https://www.libhive.com/providers/npm/packages/async) -[![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/async/badge?style=rounded)](https://www.jsdelivr.com/package/npm/async) - - -Async is a utility module which provides straight-forward, powerful functions for working with [asynchronous JavaScript](http://caolan.github.io/async/global.html). Although originally designed for use with [Node.js](https://nodejs.org/) and installable via `npm install --save async`, it can also be used directly in the browser. - -For Documentation, visit - -*For Async v1.5.x documentation, go [HERE](https://github.com/caolan/async/blob/v1.5.2/README.md)* - - -```javascript -// for use with Node-style callbacks... -var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"}; -var configs = {}; - -async.forEachOf(obj, (value, key, callback) => { - fs.readFile(__dirname + value, "utf8", (err, data) => { - if (err) return callback(err); - try { - configs[key] = JSON.parse(data); - } catch (e) { - return callback(e); - } - callback(); - }); -}, err => { - if (err) console.error(err.message); - // configs is now a map of JSON data - doSomethingWith(configs); -}); -``` - -```javascript -// ...or ES2017 async functions -async.mapLimit(urls, 5, async function(url) { - const response = await fetch(url) - return response.body -}, (err, results) => { - if (err) throw err - // results is now an array of the response bodies - console.log(results) -}) -``` diff --git a/res-pc/node_modules/async/all.js b/res-pc/node_modules/async/all.js deleted file mode 100644 index d0565b04..00000000 --- a/res-pc/node_modules/async/all.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -var _notId = require('./internal/notId'); - -var _notId2 = _interopRequireDefault(_notId); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns `true` if every element in `coll` satisfies an async test. If any - * iteratee call returns `false`, the main `callback` is immediately called. - * - * @name every - * @static - * @memberOf module:Collections - * @method - * @alias all - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in parallel. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - * @example - * - * async.every(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // if result is true then every file exists - * }); - */ -exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_notId2.default, _notId2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/allLimit.js b/res-pc/node_modules/async/allLimit.js deleted file mode 100644 index a1a759a2..00000000 --- a/res-pc/node_modules/async/allLimit.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -var _notId = require('./internal/notId'); - -var _notId2 = _interopRequireDefault(_notId); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`every`]{@link module:Collections.every} but runs a maximum of `limit` async operations at a time. - * - * @name everyLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.every]{@link module:Collections.every} - * @alias allLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in parallel. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - */ -exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_notId2.default, _notId2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/allSeries.js b/res-pc/node_modules/async/allSeries.js deleted file mode 100644 index 23bfebb5..00000000 --- a/res-pc/node_modules/async/allSeries.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _everyLimit = require('./everyLimit'); - -var _everyLimit2 = _interopRequireDefault(_everyLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`every`]{@link module:Collections.every} but runs only a single async operation at a time. - * - * @name everySeries - * @static - * @memberOf module:Collections - * @method - * @see [async.every]{@link module:Collections.every} - * @alias allSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in series. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - */ -exports.default = (0, _doLimit2.default)(_everyLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/any.js b/res-pc/node_modules/async/any.js deleted file mode 100644 index a8e70f71..00000000 --- a/res-pc/node_modules/async/any.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -var _identity = require('lodash/identity'); - -var _identity2 = _interopRequireDefault(_identity); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns `true` if at least one element in the `coll` satisfies an async test. - * If any iteratee call returns `true`, the main `callback` is immediately - * called. - * - * @name some - * @static - * @memberOf module:Collections - * @method - * @alias any - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in parallel. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - * @example - * - * async.some(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // if result is true then at least one of the files exists - * }); - */ -exports.default = (0, _doParallel2.default)((0, _createTester2.default)(Boolean, _identity2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/anyLimit.js b/res-pc/node_modules/async/anyLimit.js deleted file mode 100644 index 24ca3f49..00000000 --- a/res-pc/node_modules/async/anyLimit.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -var _identity = require('lodash/identity'); - -var _identity2 = _interopRequireDefault(_identity); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`some`]{@link module:Collections.some} but runs a maximum of `limit` async operations at a time. - * - * @name someLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.some]{@link module:Collections.some} - * @alias anyLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in parallel. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - */ -exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(Boolean, _identity2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/anySeries.js b/res-pc/node_modules/async/anySeries.js deleted file mode 100644 index dc24ed25..00000000 --- a/res-pc/node_modules/async/anySeries.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _someLimit = require('./someLimit'); - -var _someLimit2 = _interopRequireDefault(_someLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`some`]{@link module:Collections.some} but runs only a single async operation at a time. - * - * @name someSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.some]{@link module:Collections.some} - * @alias anySeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in series. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - */ -exports.default = (0, _doLimit2.default)(_someLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/apply.js b/res-pc/node_modules/async/apply.js deleted file mode 100644 index f590fa57..00000000 --- a/res-pc/node_modules/async/apply.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (fn /*, ...args*/) { - var args = (0, _slice2.default)(arguments, 1); - return function () /*callArgs*/{ - var callArgs = (0, _slice2.default)(arguments); - return fn.apply(null, args.concat(callArgs)); - }; -}; - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -; - -/** - * 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. - * - * @name apply - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {Function} fn - The function you want to eventually apply all - * arguments to. Invokes with (arguments...). - * @param {...*} arguments... - Any number of arguments to automatically apply - * when the continuation is called. - * @returns {Function} the partially-applied function - * @example - * - * // 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: - * - * node> var fn = async.apply(sys.puts, 'one'); - * node> fn('two', 'three'); - * one - * two - * three - */ -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/applyEach.js b/res-pc/node_modules/async/applyEach.js deleted file mode 100644 index 06c08450..00000000 --- a/res-pc/node_modules/async/applyEach.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _applyEach = require('./internal/applyEach'); - -var _applyEach2 = _interopRequireDefault(_applyEach); - -var _map = require('./map'); - -var _map2 = _interopRequireDefault(_map); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Applies the provided arguments to each function in the array, calling - * `callback` after all functions have completed. If you only provide the first - * argument, `fns`, then it will return a function which lets you pass in the - * arguments as if it were a single function call. If more arguments are - * provided, `callback` is required while `args` is still optional. - * - * @name applyEach - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} fns - A collection of {@link AsyncFunction}s - * to all call with the same arguments - * @param {...*} [args] - any number of separate arguments to pass to the - * function. - * @param {Function} [callback] - the final argument should be the callback, - * called when all functions have completed processing. - * @returns {Function} - If only the first argument, `fns`, is provided, it will - * return a function which lets you pass in the arguments as if it were a single - * function call. The signature is `(..args, callback)`. If invoked with any - * arguments, `callback` is required. - * @example - * - * async.applyEach([enableSearch, updateSchema], 'bucket', callback); - * - * // partial application example: - * async.each( - * buckets, - * async.applyEach([enableSearch, updateSchema]), - * callback - * ); - */ -exports.default = (0, _applyEach2.default)(_map2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/applyEachSeries.js b/res-pc/node_modules/async/applyEachSeries.js deleted file mode 100644 index ad80280c..00000000 --- a/res-pc/node_modules/async/applyEachSeries.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _applyEach = require('./internal/applyEach'); - -var _applyEach2 = _interopRequireDefault(_applyEach); - -var _mapSeries = require('./mapSeries'); - -var _mapSeries2 = _interopRequireDefault(_mapSeries); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`applyEach`]{@link module:ControlFlow.applyEach} but runs only a single async operation at a time. - * - * @name applyEachSeries - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.applyEach]{@link module:ControlFlow.applyEach} - * @category Control Flow - * @param {Array|Iterable|Object} fns - A collection of {@link AsyncFunction}s to all - * call with the same arguments - * @param {...*} [args] - any number of separate arguments to pass to the - * function. - * @param {Function} [callback] - the final argument should be the callback, - * called when all functions have completed processing. - * @returns {Function} - If only the first argument is provided, it will return - * a function which lets you pass in the arguments as if it were a single - * function call. - */ -exports.default = (0, _applyEach2.default)(_mapSeries2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/asyncify.js b/res-pc/node_modules/async/asyncify.js deleted file mode 100644 index 5e3fc915..00000000 --- a/res-pc/node_modules/async/asyncify.js +++ /dev/null @@ -1,110 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = asyncify; - -var _isObject = require('lodash/isObject'); - -var _isObject2 = _interopRequireDefault(_isObject); - -var _initialParams = require('./internal/initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _setImmediate = require('./internal/setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Take a sync function and make it async, passing its return value to a - * callback. This is useful for plugging sync functions into a waterfall, - * series, or other async functions. Any arguments passed to the generated - * function will be passed to the wrapped function (except for the final - * callback argument). Errors thrown will be passed to the callback. - * - * If the function passed to `asyncify` returns a Promise, that promises's - * resolved/rejected state will be used to call the callback, rather than simply - * the synchronous return value. - * - * This also means you can asyncify ES2017 `async` functions. - * - * @name asyncify - * @static - * @memberOf module:Utils - * @method - * @alias wrapSync - * @category Util - * @param {Function} func - The synchronous function, or Promise-returning - * function to convert to an {@link AsyncFunction}. - * @returns {AsyncFunction} An asynchronous wrapper of the `func`. To be - * invoked with `(args..., callback)`. - * @example - * - * // passing a regular synchronous function - * async.waterfall([ - * async.apply(fs.readFile, filename, "utf8"), - * async.asyncify(JSON.parse), - * function (data, next) { - * // data is the result of parsing the text. - * // If there was a parsing error, it would have been caught. - * } - * ], callback); - * - * // passing a function returning a promise - * async.waterfall([ - * async.apply(fs.readFile, filename, "utf8"), - * async.asyncify(function (contents) { - * return db.model.create(contents); - * }), - * function (model, next) { - * // `model` is the instantiated model object. - * // If there was an error, this function would be skipped. - * } - * ], callback); - * - * // es2017 example, though `asyncify` is not needed if your JS environment - * // supports async functions out of the box - * var q = async.queue(async.asyncify(async function(file) { - * var intermediateStep = await processFile(file); - * return await somePromise(intermediateStep) - * })); - * - * q.push(files); - */ -function asyncify(func) { - return (0, _initialParams2.default)(function (args, callback) { - var result; - try { - result = func.apply(this, args); - } catch (e) { - return callback(e); - } - // if result is Promise object - if ((0, _isObject2.default)(result) && typeof result.then === 'function') { - result.then(function (value) { - invokeCallback(callback, null, value); - }, function (err) { - invokeCallback(callback, err.message ? err : new Error(err)); - }); - } else { - callback(null, result); - } - }); -} - -function invokeCallback(callback, error, value) { - try { - callback(error, value); - } catch (e) { - (0, _setImmediate2.default)(rethrow, e); - } -} - -function rethrow(error) { - throw error; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/auto.js b/res-pc/node_modules/async/auto.js deleted file mode 100644 index 26c1d562..00000000 --- a/res-pc/node_modules/async/auto.js +++ /dev/null @@ -1,289 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (tasks, concurrency, callback) { - if (typeof concurrency === 'function') { - // concurrency is optional, shift the args. - callback = concurrency; - concurrency = null; - } - callback = (0, _once2.default)(callback || _noop2.default); - var keys = (0, _keys2.default)(tasks); - var numTasks = keys.length; - if (!numTasks) { - return callback(null); - } - if (!concurrency) { - concurrency = numTasks; - } - - var results = {}; - var runningTasks = 0; - var hasError = false; - - var listeners = Object.create(null); - - var readyTasks = []; - - // for cycle detection: - var readyToCheck = []; // tasks that have been identified as reachable - // without the possibility of returning to an ancestor task - var uncheckedDependencies = {}; - - (0, _baseForOwn2.default)(tasks, function (task, key) { - if (!(0, _isArray2.default)(task)) { - // no dependencies - enqueueTask(key, [task]); - readyToCheck.push(key); - return; - } - - var dependencies = task.slice(0, task.length - 1); - var remainingDependencies = dependencies.length; - if (remainingDependencies === 0) { - enqueueTask(key, task); - readyToCheck.push(key); - return; - } - uncheckedDependencies[key] = remainingDependencies; - - (0, _arrayEach2.default)(dependencies, function (dependencyName) { - if (!tasks[dependencyName]) { - throw new Error('async.auto task `' + key + '` has a non-existent dependency `' + dependencyName + '` in ' + dependencies.join(', ')); - } - addListener(dependencyName, function () { - remainingDependencies--; - if (remainingDependencies === 0) { - enqueueTask(key, task); - } - }); - }); - }); - - checkForDeadlocks(); - processQueue(); - - function enqueueTask(key, task) { - readyTasks.push(function () { - runTask(key, task); - }); - } - - function processQueue() { - if (readyTasks.length === 0 && runningTasks === 0) { - return callback(null, results); - } - while (readyTasks.length && runningTasks < concurrency) { - var run = readyTasks.shift(); - run(); - } - } - - function addListener(taskName, fn) { - var taskListeners = listeners[taskName]; - if (!taskListeners) { - taskListeners = listeners[taskName] = []; - } - - taskListeners.push(fn); - } - - function taskComplete(taskName) { - var taskListeners = listeners[taskName] || []; - (0, _arrayEach2.default)(taskListeners, function (fn) { - fn(); - }); - processQueue(); - } - - function runTask(key, task) { - if (hasError) return; - - var taskCallback = (0, _onlyOnce2.default)(function (err, result) { - runningTasks--; - if (arguments.length > 2) { - result = (0, _slice2.default)(arguments, 1); - } - if (err) { - var safeResults = {}; - (0, _baseForOwn2.default)(results, function (val, rkey) { - safeResults[rkey] = val; - }); - safeResults[key] = result; - hasError = true; - listeners = Object.create(null); - - callback(err, safeResults); - } else { - results[key] = result; - taskComplete(key); - } - }); - - runningTasks++; - var taskFn = (0, _wrapAsync2.default)(task[task.length - 1]); - if (task.length > 1) { - taskFn(results, taskCallback); - } else { - taskFn(taskCallback); - } - } - - function checkForDeadlocks() { - // Kahn's algorithm - // https://en.wikipedia.org/wiki/Topological_sorting#Kahn.27s_algorithm - // http://connalle.blogspot.com/2013/10/topological-sortingkahn-algorithm.html - var currentTask; - var counter = 0; - while (readyToCheck.length) { - currentTask = readyToCheck.pop(); - counter++; - (0, _arrayEach2.default)(getDependents(currentTask), function (dependent) { - if (--uncheckedDependencies[dependent] === 0) { - readyToCheck.push(dependent); - } - }); - } - - if (counter !== numTasks) { - throw new Error('async.auto cannot execute tasks due to a recursive dependency'); - } - } - - function getDependents(taskName) { - var result = []; - (0, _baseForOwn2.default)(tasks, function (task, key) { - if ((0, _isArray2.default)(task) && (0, _baseIndexOf2.default)(task, taskName, 0) >= 0) { - result.push(key); - } - }); - return result; - } -}; - -var _arrayEach = require('lodash/_arrayEach'); - -var _arrayEach2 = _interopRequireDefault(_arrayEach); - -var _baseForOwn = require('lodash/_baseForOwn'); - -var _baseForOwn2 = _interopRequireDefault(_baseForOwn); - -var _baseIndexOf = require('lodash/_baseIndexOf'); - -var _baseIndexOf2 = _interopRequireDefault(_baseIndexOf); - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _keys = require('lodash/keys'); - -var _keys2 = _interopRequireDefault(_keys); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _onlyOnce = require('./internal/onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -module.exports = exports['default']; - -/** - * Determines the best order for running the {@link AsyncFunction}s 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 {@link AsyncFunction}s pass an error to their callback, the `auto` sequence - * will stop. Further tasks will not execute (so any other functions depending - * on it will not run), and the main `callback` is immediately called with the - * error. - * - * {@link AsyncFunction}s also receive an object containing the results of functions which - * have completed so far as the first argument, if they have dependencies. If a - * task function has no dependencies, it will only be passed a callback. - * - * @name auto - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Object} tasks - An object. Each of its properties is either a - * function or an array of requirements, with the {@link AsyncFunction} 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 one or two arguments: - * * a `results` object, containing the results of the previously executed - * functions, only passed if the task has any dependencies, - * * a `callback(err, result)` function, which must be called when finished, - * passing an `error` (which can be `null`) and the result of the function's - * execution. - * @param {number} [concurrency=Infinity] - An optional `integer` for - * determining the maximum number of tasks that can be run in parallel. By - * default, as many as possible. - * @param {Function} [callback] - 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. Invoked with (err, results). - * @returns undefined - * @example - * - * async.auto({ - * // this function will just be passed a callback - * readData: async.apply(fs.readFile, 'data.txt', 'utf-8'), - * showData: ['readData', function(results, cb) { - * // results.readData is the file's contents - * // ... - * }] - * }, callback); - * - * 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(results, 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 - * callback(null, 'filename'); - * }], - * email_link: ['write_file', function(results, callback) { - * 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); - * }); - */ \ No newline at end of file diff --git a/res-pc/node_modules/async/autoInject.js b/res-pc/node_modules/async/autoInject.js deleted file mode 100644 index bfbe7e8e..00000000 --- a/res-pc/node_modules/async/autoInject.js +++ /dev/null @@ -1,170 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = autoInject; - -var _auto = require('./auto'); - -var _auto2 = _interopRequireDefault(_auto); - -var _baseForOwn = require('lodash/_baseForOwn'); - -var _baseForOwn2 = _interopRequireDefault(_baseForOwn); - -var _arrayMap = require('lodash/_arrayMap'); - -var _arrayMap2 = _interopRequireDefault(_arrayMap); - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _trim = require('lodash/trim'); - -var _trim2 = _interopRequireDefault(_trim); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var FN_ARGS = /^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m; -var FN_ARG_SPLIT = /,/; -var FN_ARG = /(=.+)?(\s*)$/; -var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; - -function parseParams(func) { - func = func.toString().replace(STRIP_COMMENTS, ''); - func = func.match(FN_ARGS)[2].replace(' ', ''); - func = func ? func.split(FN_ARG_SPLIT) : []; - func = func.map(function (arg) { - return (0, _trim2.default)(arg.replace(FN_ARG, '')); - }); - return func; -} - -/** - * A dependency-injected version of the [async.auto]{@link module:ControlFlow.auto} function. Dependent - * tasks are specified as parameters to the function, after the usual callback - * parameter, with the parameter names matching the names of the tasks it - * depends on. This can provide even more readable task graphs which can be - * easier to maintain. - * - * If a final callback is specified, the task results are similarly injected, - * specified as named parameters after the initial error parameter. - * - * The autoInject function is purely syntactic sugar and its semantics are - * otherwise equivalent to [async.auto]{@link module:ControlFlow.auto}. - * - * @name autoInject - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.auto]{@link module:ControlFlow.auto} - * @category Control Flow - * @param {Object} tasks - An object, each of whose properties is an {@link AsyncFunction} of - * the form 'func([dependencies...], callback). 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 `callback` parameter is 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. The remaining parameters name other tasks on - * which the task is dependent, and the results from those tasks are the - * arguments of those parameters. - * @param {Function} [callback] - 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, and a `results` object with any completed - * task results, similar to `auto`. - * @example - * - * // The example from `auto` can be rewritten as follows: - * async.autoInject({ - * get_data: function(callback) { - * // async code to get some data - * callback(null, 'data', 'converted to array'); - * }, - * make_folder: function(callback) { - * // 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: function(get_data, make_folder, callback) { - * // once there is some data and the directory exists, - * // write the data to a file in the directory - * callback(null, 'filename'); - * }, - * email_link: function(write_file, callback) { - * // once the file is written let's email a link to it... - * // write_file contains the filename returned by write_file. - * callback(null, {'file':write_file, 'email':'user@example.com'}); - * } - * }, function(err, results) { - * console.log('err = ', err); - * console.log('email_link = ', results.email_link); - * }); - * - * // If you are using a JS minifier that mangles parameter names, `autoInject` - * // will not work with plain functions, since the parameter names will be - * // collapsed to a single letter identifier. To work around this, you can - * // explicitly specify the names of the parameters your task function needs - * // in an array, similar to Angular.js dependency injection. - * - * // This still has an advantage over plain `auto`, since the results a task - * // depends on are still spread into arguments. - * async.autoInject({ - * //... - * write_file: ['get_data', 'make_folder', function(get_data, make_folder, callback) { - * callback(null, 'filename'); - * }], - * email_link: ['write_file', function(write_file, callback) { - * callback(null, {'file':write_file, 'email':'user@example.com'}); - * }] - * //... - * }, function(err, results) { - * console.log('err = ', err); - * console.log('email_link = ', results.email_link); - * }); - */ -function autoInject(tasks, callback) { - var newTasks = {}; - - (0, _baseForOwn2.default)(tasks, function (taskFn, key) { - var params; - var fnIsAsync = (0, _wrapAsync.isAsync)(taskFn); - var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0; - - if ((0, _isArray2.default)(taskFn)) { - params = taskFn.slice(0, -1); - taskFn = taskFn[taskFn.length - 1]; - - newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn); - } else if (hasNoDeps) { - // no dependencies, use the function as-is - newTasks[key] = taskFn; - } else { - params = parseParams(taskFn); - if (taskFn.length === 0 && !fnIsAsync && params.length === 0) { - throw new Error("autoInject task functions require explicit parameters."); - } - - // remove callback param - if (!fnIsAsync) params.pop(); - - newTasks[key] = params.concat(newTask); - } - - function newTask(results, taskCb) { - var newArgs = (0, _arrayMap2.default)(params, function (name) { - return results[name]; - }); - newArgs.push(taskCb); - (0, _wrapAsync2.default)(taskFn).apply(null, newArgs); - } - }); - - (0, _auto2.default)(newTasks, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/bower.json b/res-pc/node_modules/async/bower.json deleted file mode 100644 index 7dbeb149..00000000 --- a/res-pc/node_modules/async/bower.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "async", - "main": "dist/async.js", - "ignore": [ - "bower_components", - "lib", - "mocha_test", - "node_modules", - "perf", - "support", - "**/.*", - "*.config.js", - "*.json", - "index.js", - "Makefile" - ] -} diff --git a/res-pc/node_modules/async/cargo.js b/res-pc/node_modules/async/cargo.js deleted file mode 100644 index c7e59c7c..00000000 --- a/res-pc/node_modules/async/cargo.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = cargo; - -var _queue = require('./internal/queue'); - -var _queue2 = _interopRequireDefault(_queue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * A cargo of tasks for the worker function to complete. Cargo inherits all of - * the same methods and event callbacks as [`queue`]{@link module:ControlFlow.queue}. - * @typedef {Object} CargoObject - * @memberOf module:ControlFlow - * @property {Function} length - A function returning the number of items - * waiting to be processed. Invoke like `cargo.length()`. - * @property {number} 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. - * @property {Function} push - 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. Invoke like `cargo.push(task, [callback])`. - * @property {Function} saturated - A callback that is called when the - * `queue.length()` hits the concurrency and further tasks will be queued. - * @property {Function} empty - A callback that is called when the last item - * from the `queue` is given to a `worker`. - * @property {Function} drain - A callback that is called when the last item - * from the `queue` has returned from the `worker`. - * @property {Function} idle - a function returning false if there are items - * waiting or being processed, or true if not. Invoke like `cargo.idle()`. - * @property {Function} pause - a function that pauses the processing of tasks - * until `resume()` is called. Invoke like `cargo.pause()`. - * @property {Function} resume - a function that resumes the processing of - * queued tasks when the queue is paused. Invoke like `cargo.resume()`. - * @property {Function} kill - a function that removes the `drain` callback and - * empties remaining tasks from the queue forcing it to go idle. Invoke like `cargo.kill()`. - */ - -/** - * 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 [these](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) [animations](https://camo.githubusercontent.com/f4810e00e1c5f5f8addbe3e9f49064fd5d102699/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130312f38346339323036362d356632392d313165322d383134662d3964336430323431336266642e676966) - * for how `cargo` and `queue` work. - * - * While [`queue`]{@link module:ControlFlow.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. - * - * @name cargo - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.queue]{@link module:ControlFlow.queue} - * @category Control Flow - * @param {AsyncFunction} worker - An asynchronous function for processing an array - * of queued tasks. Invoked with `(tasks, callback)`. - * @param {number} [payload=Infinity] - An optional `integer` for determining - * how many tasks should be processed per round; if omitted, the default is - * unlimited. - * @returns {module:ControlFlow.CargoObject} A cargo object to manage the tasks. Callbacks can - * attached as certain properties to listen for specific events during the - * lifecycle of the cargo and inner queue. - * @example - * - * // create a cargo object with payload 2 - * var cargo = async.cargo(function(tasks, callback) { - * for (var i=0; i async.dir(hello, 'world'); - * {hello: 'world'} - */ -exports.default = (0, _consoleFunc2.default)('dir'); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/dist/async.js b/res-pc/node_modules/async/dist/async.js deleted file mode 100644 index ddb1af71..00000000 --- a/res-pc/node_modules/async/dist/async.js +++ /dev/null @@ -1,5595 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.async = global.async || {}))); -}(this, (function (exports) { 'use strict'; - -function slice(arrayLike, start) { - start = start|0; - var newLen = Math.max(arrayLike.length - start, 0); - var newArr = Array(newLen); - for(var idx = 0; idx < newLen; idx++) { - newArr[idx] = arrayLike[start + idx]; - } - return newArr; -} - -/** - * 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. - * - * @name apply - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {Function} fn - The function you want to eventually apply all - * arguments to. Invokes with (arguments...). - * @param {...*} arguments... - Any number of arguments to automatically apply - * when the continuation is called. - * @returns {Function} the partially-applied function - * @example - * - * // 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: - * - * node> var fn = async.apply(sys.puts, 'one'); - * node> fn('two', 'three'); - * one - * two - * three - */ -var apply = function(fn/*, ...args*/) { - var args = slice(arguments, 1); - return function(/*callArgs*/) { - var callArgs = slice(arguments); - return fn.apply(null, args.concat(callArgs)); - }; -}; - -var initialParams = function (fn) { - return function (/*...args, callback*/) { - var args = slice(arguments); - var callback = args.pop(); - fn.call(this, args, callback); - }; -}; - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); -} - -var hasSetImmediate = typeof setImmediate === 'function' && setImmediate; -var hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function'; - -function fallback(fn) { - setTimeout(fn, 0); -} - -function wrap(defer) { - return function (fn/*, ...args*/) { - var args = slice(arguments, 1); - defer(function () { - fn.apply(null, args); - }); - }; -} - -var _defer; - -if (hasSetImmediate) { - _defer = setImmediate; -} else if (hasNextTick) { - _defer = process.nextTick; -} else { - _defer = fallback; -} - -var setImmediate$1 = wrap(_defer); - -/** - * Take a sync function and make it async, passing its return value to a - * callback. This is useful for plugging sync functions into a waterfall, - * series, or other async functions. Any arguments passed to the generated - * function will be passed to the wrapped function (except for the final - * callback argument). Errors thrown will be passed to the callback. - * - * If the function passed to `asyncify` returns a Promise, that promises's - * resolved/rejected state will be used to call the callback, rather than simply - * the synchronous return value. - * - * This also means you can asyncify ES2017 `async` functions. - * - * @name asyncify - * @static - * @memberOf module:Utils - * @method - * @alias wrapSync - * @category Util - * @param {Function} func - The synchronous function, or Promise-returning - * function to convert to an {@link AsyncFunction}. - * @returns {AsyncFunction} An asynchronous wrapper of the `func`. To be - * invoked with `(args..., callback)`. - * @example - * - * // passing a regular synchronous function - * async.waterfall([ - * async.apply(fs.readFile, filename, "utf8"), - * async.asyncify(JSON.parse), - * function (data, next) { - * // data is the result of parsing the text. - * // If there was a parsing error, it would have been caught. - * } - * ], callback); - * - * // passing a function returning a promise - * async.waterfall([ - * async.apply(fs.readFile, filename, "utf8"), - * async.asyncify(function (contents) { - * return db.model.create(contents); - * }), - * function (model, next) { - * // `model` is the instantiated model object. - * // If there was an error, this function would be skipped. - * } - * ], callback); - * - * // es2017 example, though `asyncify` is not needed if your JS environment - * // supports async functions out of the box - * var q = async.queue(async.asyncify(async function(file) { - * var intermediateStep = await processFile(file); - * return await somePromise(intermediateStep) - * })); - * - * q.push(files); - */ -function asyncify(func) { - return initialParams(function (args, callback) { - var result; - try { - result = func.apply(this, args); - } catch (e) { - return callback(e); - } - // if result is Promise object - if (isObject(result) && typeof result.then === 'function') { - result.then(function(value) { - invokeCallback(callback, null, value); - }, function(err) { - invokeCallback(callback, err.message ? err : new Error(err)); - }); - } else { - callback(null, result); - } - }); -} - -function invokeCallback(callback, error, value) { - try { - callback(error, value); - } catch (e) { - setImmediate$1(rethrow, e); - } -} - -function rethrow(error) { - throw error; -} - -var supportsSymbol = typeof Symbol === 'function'; - -function isAsync(fn) { - return supportsSymbol && fn[Symbol.toStringTag] === 'AsyncFunction'; -} - -function wrapAsync(asyncFn) { - return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn; -} - -function applyEach$1(eachfn) { - return function(fns/*, ...args*/) { - var args = slice(arguments, 1); - var go = initialParams(function(args, callback) { - var that = this; - return eachfn(fns, function (fn, cb) { - wrapAsync(fn).apply(that, args.concat(cb)); - }, callback); - }); - if (args.length) { - return go.apply(this, args); - } - else { - return go; - } - }; -} - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - -/** Detect free variable `self`. */ -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); - -/** Built-in value references. */ -var Symbol$1 = root.Symbol; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** Built-in value references. */ -var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined; - -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag$1), - tag = value[symToStringTag$1]; - - try { - value[symToStringTag$1] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag$1] = tag; - } else { - delete value[symToStringTag$1]; - } - } - return result; -} - -/** Used for built-in method references. */ -var objectProto$1 = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString$1 = objectProto$1.toString; - -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ -function objectToString(value) { - return nativeObjectToString$1.call(value); -} - -/** `Object#toString` result references. */ -var nullTag = '[object Null]'; -var undefinedTag = '[object Undefined]'; - -/** Built-in value references. */ -var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined; - -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); -} - -/** `Object#toString` result references. */ -var asyncTag = '[object AsyncFunction]'; -var funcTag = '[object Function]'; -var genTag = '[object GeneratorFunction]'; -var proxyTag = '[object Proxy]'; - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; -} - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ -function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ -function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); -} - -// A temporary value used to identify if the loop should be broken. -// See #1064, #1293 -var breakLoop = {}; - -/** - * This method returns `undefined`. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Util - * @example - * - * _.times(2, _.noop); - * // => [undefined, undefined] - */ -function noop() { - // No operation performed. -} - -function once(fn) { - return function () { - if (fn === null) return; - var callFn = fn; - fn = null; - callFn.apply(this, arguments); - }; -} - -var iteratorSymbol = typeof Symbol === 'function' && Symbol.iterator; - -var getIterator = function (coll) { - return iteratorSymbol && coll[iteratorSymbol] && coll[iteratorSymbol](); -}; - -/** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ -function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; -} - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]'; - -/** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ -function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; -} - -/** Used for built-in method references. */ -var objectProto$3 = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty$2 = objectProto$3.hasOwnProperty; - -/** Built-in value references. */ -var propertyIsEnumerable = objectProto$3.propertyIsEnumerable; - -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty$2.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); -}; - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray = Array.isArray; - -/** - * This method returns `false`. - * - * @static - * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {boolean} Returns `false`. - * @example - * - * _.times(2, _.stubFalse); - * // => [false, false] - */ -function stubFalse() { - return false; -} - -/** Detect free variable `exports`. */ -var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports = freeModule && freeModule.exports === freeExports; - -/** Built-in value references. */ -var Buffer = moduleExports ? root.Buffer : undefined; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; - -/** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ -var isBuffer = nativeIsBuffer || stubFalse; - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER$1 = 9007199254740991; - -/** Used to detect unsigned integer values. */ -var reIsUint = /^(?:0|[1-9]\d*)$/; - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - length = length == null ? MAX_SAFE_INTEGER$1 : length; - return !!length && - (typeof value == 'number' || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length); -} - -/** `Object#toString` result references. */ -var argsTag$1 = '[object Arguments]'; -var arrayTag = '[object Array]'; -var boolTag = '[object Boolean]'; -var dateTag = '[object Date]'; -var errorTag = '[object Error]'; -var funcTag$1 = '[object Function]'; -var mapTag = '[object Map]'; -var numberTag = '[object Number]'; -var objectTag = '[object Object]'; -var regexpTag = '[object RegExp]'; -var setTag = '[object Set]'; -var stringTag = '[object String]'; -var weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]'; -var dataViewTag = '[object DataView]'; -var float32Tag = '[object Float32Array]'; -var float64Tag = '[object Float64Array]'; -var int8Tag = '[object Int8Array]'; -var int16Tag = '[object Int16Array]'; -var int32Tag = '[object Int32Array]'; -var uint8Tag = '[object Uint8Array]'; -var uint8ClampedTag = '[object Uint8ClampedArray]'; -var uint16Tag = '[object Uint16Array]'; -var uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values of typed arrays. */ -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = -typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = -typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = -typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = -typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag$1] = typedArrayTags[arrayTag] = -typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = -typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = -typedArrayTags[errorTag] = typedArrayTags[funcTag$1] = -typedArrayTags[mapTag] = typedArrayTags[numberTag] = -typedArrayTags[objectTag] = typedArrayTags[regexpTag] = -typedArrayTags[setTag] = typedArrayTags[stringTag] = -typedArrayTags[weakMapTag] = false; - -/** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ -function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; -} - -/** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ -function baseUnary(func) { - return function(value) { - return func(value); - }; -} - -/** Detect free variable `exports`. */ -var freeExports$1 = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1; - -/** Detect free variable `process` from Node.js. */ -var freeProcess = moduleExports$1 && freeGlobal.process; - -/** Used to access faster Node.js helpers. */ -var nodeUtil = (function() { - try { - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} -}()); - -/* Node.js helper references. */ -var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ -var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - -/** Used for built-in method references. */ -var objectProto$2 = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty$1 = objectProto$2.hasOwnProperty; - -/** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ -function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty$1.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { - result.push(key); - } - } - return result; -} - -/** Used for built-in method references. */ -var objectProto$5 = Object.prototype; - -/** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ -function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$5; - - return value === proto; -} - -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; -} - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeKeys = overArg(Object.keys, Object); - -/** Used for built-in method references. */ -var objectProto$4 = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty$3 = objectProto$4.hasOwnProperty; - -/** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty$3.call(object, key) && key != 'constructor') { - result.push(key); - } - } - return result; -} - -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ -function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); -} - -function createArrayIterator(coll) { - var i = -1; - var len = coll.length; - return function next() { - return ++i < len ? {value: coll[i], key: i} : null; - } -} - -function createES2015Iterator(iterator) { - var i = -1; - return function next() { - var item = iterator.next(); - if (item.done) - return null; - i++; - return {value: item.value, key: i}; - } -} - -function createObjectIterator(obj) { - var okeys = keys(obj); - var i = -1; - var len = okeys.length; - return function next() { - var key = okeys[++i]; - return i < len ? {value: obj[key], key: key} : null; - }; -} - -function iterator(coll) { - if (isArrayLike(coll)) { - return createArrayIterator(coll); - } - - var iterator = getIterator(coll); - return iterator ? createES2015Iterator(iterator) : createObjectIterator(coll); -} - -function onlyOnce(fn) { - return function() { - if (fn === null) throw new Error("Callback was already called."); - var callFn = fn; - fn = null; - callFn.apply(this, arguments); - }; -} - -function _eachOfLimit(limit) { - return function (obj, iteratee, callback) { - callback = once(callback || noop); - if (limit <= 0 || !obj) { - return callback(null); - } - var nextElem = iterator(obj); - var done = false; - var running = 0; - - function iterateeCallback(err, value) { - running -= 1; - if (err) { - done = true; - callback(err); - } - else if (value === breakLoop || (done && running <= 0)) { - done = true; - return callback(null); - } - else { - replenish(); - } - } - - function replenish () { - while (running < limit && !done) { - var elem = nextElem(); - if (elem === null) { - done = true; - if (running <= 0) { - callback(null); - } - return; - } - running += 1; - iteratee(elem.value, elem.key, onlyOnce(iterateeCallback)); - } - } - - replenish(); - }; -} - -/** - * The same as [`eachOf`]{@link module:Collections.eachOf} but runs a maximum of `limit` async operations at a - * time. - * - * @name eachOfLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.eachOf]{@link module:Collections.eachOf} - * @alias forEachOfLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each - * item in `coll`. The `key` is the item's key, or index in the case of an - * array. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -function eachOfLimit(coll, limit, iteratee, callback) { - _eachOfLimit(limit)(coll, wrapAsync(iteratee), callback); -} - -function doLimit(fn, limit) { - return function (iterable, iteratee, callback) { - return fn(iterable, limit, iteratee, callback); - }; -} - -// eachOf implementation optimized for array-likes -function eachOfArrayLike(coll, iteratee, callback) { - callback = once(callback || noop); - var index = 0, - completed = 0, - length = coll.length; - if (length === 0) { - callback(null); - } - - function iteratorCallback(err, value) { - if (err) { - callback(err); - } else if ((++completed === length) || value === breakLoop) { - callback(null); - } - } - - for (; index < length; index++) { - iteratee(coll[index], index, onlyOnce(iteratorCallback)); - } -} - -// a generic version of eachOf which can handle array, object, and iterator cases. -var eachOfGeneric = doLimit(eachOfLimit, Infinity); - -/** - * Like [`each`]{@link module:Collections.each}, except that it passes the key (or index) as the second argument - * to the iteratee. - * - * @name eachOf - * @static - * @memberOf module:Collections - * @method - * @alias forEachOf - * @category Collection - * @see [async.each]{@link module:Collections.each} - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - A function to apply to each - * item in `coll`. - * The `key` is the item's key, or index in the case of an array. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - * @example - * - * var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"}; - * var configs = {}; - * - * async.forEachOf(obj, function (value, key, callback) { - * fs.readFile(__dirname + value, "utf8", function (err, data) { - * if (err) return callback(err); - * try { - * configs[key] = JSON.parse(data); - * } catch (e) { - * return callback(e); - * } - * callback(); - * }); - * }, function (err) { - * if (err) console.error(err.message); - * // configs is now a map of JSON data - * doSomethingWith(configs); - * }); - */ -var eachOf = function(coll, iteratee, callback) { - var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric; - eachOfImplementation(coll, wrapAsync(iteratee), callback); -}; - -function doParallel(fn) { - return function (obj, iteratee, callback) { - return fn(eachOf, obj, wrapAsync(iteratee), callback); - }; -} - -function _asyncMap(eachfn, arr, iteratee, callback) { - callback = callback || noop; - arr = arr || []; - var results = []; - var counter = 0; - var _iteratee = wrapAsync(iteratee); - - eachfn(arr, function (value, _, callback) { - var index = counter++; - _iteratee(value, function (err, v) { - results[index] = v; - callback(err); - }); - }, function (err) { - callback(err, results); - }); -} - -/** - * Produces a new collection of values by mapping each value in `coll` through - * the `iteratee` function. The `iteratee` is called with an item from `coll` - * and a callback for when it has finished processing. Each of these callback - * takes 2 arguments: an `error`, and the transformed item from `coll`. If - * `iteratee` passes an error to its callback, the main `callback` (for the - * `map` function) is immediately called with the error. - * - * Note, that since this function applies the `iteratee` to each item in - * parallel, there is no guarantee that the `iteratee` functions will complete - * in order. However, the results array will be in the same order as the - * original `coll`. - * - * If `map` is passed an Object, the results will be an Array. The results - * will roughly be in the order of the original Objects' keys (but this can - * vary across JavaScript engines). - * - * @name map - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with the transformed item. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Results is an Array of the - * transformed items from the `coll`. Invoked with (err, results). - * @example - * - * async.map(['file1','file2','file3'], fs.stat, function(err, results) { - * // results is now an array of stats for each file - * }); - */ -var map = doParallel(_asyncMap); - -/** - * Applies the provided arguments to each function in the array, calling - * `callback` after all functions have completed. If you only provide the first - * argument, `fns`, then it will return a function which lets you pass in the - * arguments as if it were a single function call. If more arguments are - * provided, `callback` is required while `args` is still optional. - * - * @name applyEach - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} fns - A collection of {@link AsyncFunction}s - * to all call with the same arguments - * @param {...*} [args] - any number of separate arguments to pass to the - * function. - * @param {Function} [callback] - the final argument should be the callback, - * called when all functions have completed processing. - * @returns {Function} - If only the first argument, `fns`, is provided, it will - * return a function which lets you pass in the arguments as if it were a single - * function call. The signature is `(..args, callback)`. If invoked with any - * arguments, `callback` is required. - * @example - * - * async.applyEach([enableSearch, updateSchema], 'bucket', callback); - * - * // partial application example: - * async.each( - * buckets, - * async.applyEach([enableSearch, updateSchema]), - * callback - * ); - */ -var applyEach = applyEach$1(map); - -function doParallelLimit(fn) { - return function (obj, limit, iteratee, callback) { - return fn(_eachOfLimit(limit), obj, wrapAsync(iteratee), callback); - }; -} - -/** - * The same as [`map`]{@link module:Collections.map} but runs a maximum of `limit` async operations at a time. - * - * @name mapLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.map]{@link module:Collections.map} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with the transformed item. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Results is an array of the - * transformed items from the `coll`. Invoked with (err, results). - */ -var mapLimit = doParallelLimit(_asyncMap); - -/** - * The same as [`map`]{@link module:Collections.map} but runs only a single async operation at a time. - * - * @name mapSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.map]{@link module:Collections.map} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with the transformed item. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Results is an array of the - * transformed items from the `coll`. Invoked with (err, results). - */ -var mapSeries = doLimit(mapLimit, 1); - -/** - * The same as [`applyEach`]{@link module:ControlFlow.applyEach} but runs only a single async operation at a time. - * - * @name applyEachSeries - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.applyEach]{@link module:ControlFlow.applyEach} - * @category Control Flow - * @param {Array|Iterable|Object} fns - A collection of {@link AsyncFunction}s to all - * call with the same arguments - * @param {...*} [args] - any number of separate arguments to pass to the - * function. - * @param {Function} [callback] - the final argument should be the callback, - * called when all functions have completed processing. - * @returns {Function} - If only the first argument is provided, it will return - * a function which lets you pass in the arguments as if it were a single - * function call. - */ -var applyEachSeries = applyEach$1(mapSeries); - -/** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ -function arrayEach(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; -} - -/** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; -} - -/** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseFor = createBaseFor(); - -/** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); -} - -/** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; -} - -/** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ -function baseIsNaN(value) { - return value !== value; -} - -/** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; -} - -/** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); -} - -/** - * Determines the best order for running the {@link AsyncFunction}s 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 {@link AsyncFunction}s pass an error to their callback, the `auto` sequence - * will stop. Further tasks will not execute (so any other functions depending - * on it will not run), and the main `callback` is immediately called with the - * error. - * - * {@link AsyncFunction}s also receive an object containing the results of functions which - * have completed so far as the first argument, if they have dependencies. If a - * task function has no dependencies, it will only be passed a callback. - * - * @name auto - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Object} tasks - An object. Each of its properties is either a - * function or an array of requirements, with the {@link AsyncFunction} 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 one or two arguments: - * * a `results` object, containing the results of the previously executed - * functions, only passed if the task has any dependencies, - * * a `callback(err, result)` function, which must be called when finished, - * passing an `error` (which can be `null`) and the result of the function's - * execution. - * @param {number} [concurrency=Infinity] - An optional `integer` for - * determining the maximum number of tasks that can be run in parallel. By - * default, as many as possible. - * @param {Function} [callback] - 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. Invoked with (err, results). - * @returns undefined - * @example - * - * async.auto({ - * // this function will just be passed a callback - * readData: async.apply(fs.readFile, 'data.txt', 'utf-8'), - * showData: ['readData', function(results, cb) { - * // results.readData is the file's contents - * // ... - * }] - * }, callback); - * - * 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(results, 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 - * callback(null, 'filename'); - * }], - * email_link: ['write_file', function(results, callback) { - * 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); - * }); - */ -var auto = function (tasks, concurrency, callback) { - if (typeof concurrency === 'function') { - // concurrency is optional, shift the args. - callback = concurrency; - concurrency = null; - } - callback = once(callback || noop); - var keys$$1 = keys(tasks); - var numTasks = keys$$1.length; - if (!numTasks) { - return callback(null); - } - if (!concurrency) { - concurrency = numTasks; - } - - var results = {}; - var runningTasks = 0; - var hasError = false; - - var listeners = Object.create(null); - - var readyTasks = []; - - // for cycle detection: - var readyToCheck = []; // tasks that have been identified as reachable - // without the possibility of returning to an ancestor task - var uncheckedDependencies = {}; - - baseForOwn(tasks, function (task, key) { - if (!isArray(task)) { - // no dependencies - enqueueTask(key, [task]); - readyToCheck.push(key); - return; - } - - var dependencies = task.slice(0, task.length - 1); - var remainingDependencies = dependencies.length; - if (remainingDependencies === 0) { - enqueueTask(key, task); - readyToCheck.push(key); - return; - } - uncheckedDependencies[key] = remainingDependencies; - - arrayEach(dependencies, function (dependencyName) { - if (!tasks[dependencyName]) { - throw new Error('async.auto task `' + key + - '` has a non-existent dependency `' + - dependencyName + '` in ' + - dependencies.join(', ')); - } - addListener(dependencyName, function () { - remainingDependencies--; - if (remainingDependencies === 0) { - enqueueTask(key, task); - } - }); - }); - }); - - checkForDeadlocks(); - processQueue(); - - function enqueueTask(key, task) { - readyTasks.push(function () { - runTask(key, task); - }); - } - - function processQueue() { - if (readyTasks.length === 0 && runningTasks === 0) { - return callback(null, results); - } - while(readyTasks.length && runningTasks < concurrency) { - var run = readyTasks.shift(); - run(); - } - - } - - function addListener(taskName, fn) { - var taskListeners = listeners[taskName]; - if (!taskListeners) { - taskListeners = listeners[taskName] = []; - } - - taskListeners.push(fn); - } - - function taskComplete(taskName) { - var taskListeners = listeners[taskName] || []; - arrayEach(taskListeners, function (fn) { - fn(); - }); - processQueue(); - } - - - function runTask(key, task) { - if (hasError) return; - - var taskCallback = onlyOnce(function(err, result) { - runningTasks--; - if (arguments.length > 2) { - result = slice(arguments, 1); - } - if (err) { - var safeResults = {}; - baseForOwn(results, function(val, rkey) { - safeResults[rkey] = val; - }); - safeResults[key] = result; - hasError = true; - listeners = Object.create(null); - - callback(err, safeResults); - } else { - results[key] = result; - taskComplete(key); - } - }); - - runningTasks++; - var taskFn = wrapAsync(task[task.length - 1]); - if (task.length > 1) { - taskFn(results, taskCallback); - } else { - taskFn(taskCallback); - } - } - - function checkForDeadlocks() { - // Kahn's algorithm - // https://en.wikipedia.org/wiki/Topological_sorting#Kahn.27s_algorithm - // http://connalle.blogspot.com/2013/10/topological-sortingkahn-algorithm.html - var currentTask; - var counter = 0; - while (readyToCheck.length) { - currentTask = readyToCheck.pop(); - counter++; - arrayEach(getDependents(currentTask), function (dependent) { - if (--uncheckedDependencies[dependent] === 0) { - readyToCheck.push(dependent); - } - }); - } - - if (counter !== numTasks) { - throw new Error( - 'async.auto cannot execute tasks due to a recursive dependency' - ); - } - } - - function getDependents(taskName) { - var result = []; - baseForOwn(tasks, function (task, key) { - if (isArray(task) && baseIndexOf(task, taskName, 0) >= 0) { - result.push(key); - } - }); - return result; - } -}; - -/** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ -function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; -} - -/** `Object#toString` result references. */ -var symbolTag = '[object Symbol]'; - -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ -function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); -} - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol$1 ? Symbol$1.prototype : undefined; -var symbolToString = symbolProto ? symbolProto.toString : undefined; - -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} - -/** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ -function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; -} - -/** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ -function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return (!start && end >= length) ? array : baseSlice(array, start, end); -} - -/** - * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the last unmatched string symbol. - */ -function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; -} - -/** - * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the first unmatched string symbol. - */ -function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, - length = strSymbols.length; - - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; -} - -/** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function asciiToArray(string) { - return string.split(''); -} - -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff'; -var rsComboMarksRange = '\\u0300-\\u036f'; -var reComboHalfMarksRange = '\\ufe20-\\ufe2f'; -var rsComboSymbolsRange = '\\u20d0-\\u20ff'; -var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange; -var rsVarRange = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsZWJ = '\\u200d'; - -/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ -var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); - -/** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ -function hasUnicode(string) { - return reHasUnicode.test(string); -} - -/** Used to compose unicode character classes. */ -var rsAstralRange$1 = '\\ud800-\\udfff'; -var rsComboMarksRange$1 = '\\u0300-\\u036f'; -var reComboHalfMarksRange$1 = '\\ufe20-\\ufe2f'; -var rsComboSymbolsRange$1 = '\\u20d0-\\u20ff'; -var rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1; -var rsVarRange$1 = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsAstral = '[' + rsAstralRange$1 + ']'; -var rsCombo = '[' + rsComboRange$1 + ']'; -var rsFitz = '\\ud83c[\\udffb-\\udfff]'; -var rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')'; -var rsNonAstral = '[^' + rsAstralRange$1 + ']'; -var rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}'; -var rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]'; -var rsZWJ$1 = '\\u200d'; - -/** Used to compose unicode regexes. */ -var reOptMod = rsModifier + '?'; -var rsOptVar = '[' + rsVarRange$1 + ']?'; -var rsOptJoin = '(?:' + rsZWJ$1 + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*'; -var rsSeq = rsOptVar + reOptMod + rsOptJoin; -var rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - -/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ -var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - -/** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function unicodeToArray(string) { - return string.match(reUnicode) || []; -} - -/** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); -} - -/** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ -function toString(value) { - return value == null ? '' : baseToString(value); -} - -/** Used to match leading and trailing whitespace. */ -var reTrim = /^\s+|\s+$/g; - -/** - * Removes leading and trailing whitespace or specified characters from `string`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to trim. - * @param {string} [chars=whitespace] The characters to trim. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {string} Returns the trimmed string. - * @example - * - * _.trim(' abc '); - * // => 'abc' - * - * _.trim('-_-abc-_-', '_-'); - * // => 'abc' - * - * _.map([' foo ', ' bar '], _.trim); - * // => ['foo', 'bar'] - */ -function trim(string, chars, guard) { - string = toString(string); - if (string && (guard || chars === undefined)) { - return string.replace(reTrim, ''); - } - if (!string || !(chars = baseToString(chars))) { - return string; - } - var strSymbols = stringToArray(string), - chrSymbols = stringToArray(chars), - start = charsStartIndex(strSymbols, chrSymbols), - end = charsEndIndex(strSymbols, chrSymbols) + 1; - - return castSlice(strSymbols, start, end).join(''); -} - -var FN_ARGS = /^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m; -var FN_ARG_SPLIT = /,/; -var FN_ARG = /(=.+)?(\s*)$/; -var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; - -function parseParams(func) { - func = func.toString().replace(STRIP_COMMENTS, ''); - func = func.match(FN_ARGS)[2].replace(' ', ''); - func = func ? func.split(FN_ARG_SPLIT) : []; - func = func.map(function (arg){ - return trim(arg.replace(FN_ARG, '')); - }); - return func; -} - -/** - * A dependency-injected version of the [async.auto]{@link module:ControlFlow.auto} function. Dependent - * tasks are specified as parameters to the function, after the usual callback - * parameter, with the parameter names matching the names of the tasks it - * depends on. This can provide even more readable task graphs which can be - * easier to maintain. - * - * If a final callback is specified, the task results are similarly injected, - * specified as named parameters after the initial error parameter. - * - * The autoInject function is purely syntactic sugar and its semantics are - * otherwise equivalent to [async.auto]{@link module:ControlFlow.auto}. - * - * @name autoInject - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.auto]{@link module:ControlFlow.auto} - * @category Control Flow - * @param {Object} tasks - An object, each of whose properties is an {@link AsyncFunction} of - * the form 'func([dependencies...], callback). 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 `callback` parameter is 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. The remaining parameters name other tasks on - * which the task is dependent, and the results from those tasks are the - * arguments of those parameters. - * @param {Function} [callback] - 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, and a `results` object with any completed - * task results, similar to `auto`. - * @example - * - * // The example from `auto` can be rewritten as follows: - * async.autoInject({ - * get_data: function(callback) { - * // async code to get some data - * callback(null, 'data', 'converted to array'); - * }, - * make_folder: function(callback) { - * // 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: function(get_data, make_folder, callback) { - * // once there is some data and the directory exists, - * // write the data to a file in the directory - * callback(null, 'filename'); - * }, - * email_link: function(write_file, callback) { - * // once the file is written let's email a link to it... - * // write_file contains the filename returned by write_file. - * callback(null, {'file':write_file, 'email':'user@example.com'}); - * } - * }, function(err, results) { - * console.log('err = ', err); - * console.log('email_link = ', results.email_link); - * }); - * - * // If you are using a JS minifier that mangles parameter names, `autoInject` - * // will not work with plain functions, since the parameter names will be - * // collapsed to a single letter identifier. To work around this, you can - * // explicitly specify the names of the parameters your task function needs - * // in an array, similar to Angular.js dependency injection. - * - * // This still has an advantage over plain `auto`, since the results a task - * // depends on are still spread into arguments. - * async.autoInject({ - * //... - * write_file: ['get_data', 'make_folder', function(get_data, make_folder, callback) { - * callback(null, 'filename'); - * }], - * email_link: ['write_file', function(write_file, callback) { - * callback(null, {'file':write_file, 'email':'user@example.com'}); - * }] - * //... - * }, function(err, results) { - * console.log('err = ', err); - * console.log('email_link = ', results.email_link); - * }); - */ -function autoInject(tasks, callback) { - var newTasks = {}; - - baseForOwn(tasks, function (taskFn, key) { - var params; - var fnIsAsync = isAsync(taskFn); - var hasNoDeps = - (!fnIsAsync && taskFn.length === 1) || - (fnIsAsync && taskFn.length === 0); - - if (isArray(taskFn)) { - params = taskFn.slice(0, -1); - taskFn = taskFn[taskFn.length - 1]; - - newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn); - } else if (hasNoDeps) { - // no dependencies, use the function as-is - newTasks[key] = taskFn; - } else { - params = parseParams(taskFn); - if (taskFn.length === 0 && !fnIsAsync && params.length === 0) { - throw new Error("autoInject task functions require explicit parameters."); - } - - // remove callback param - if (!fnIsAsync) params.pop(); - - newTasks[key] = params.concat(newTask); - } - - function newTask(results, taskCb) { - var newArgs = arrayMap(params, function (name) { - return results[name]; - }); - newArgs.push(taskCb); - wrapAsync(taskFn).apply(null, newArgs); - } - }); - - auto(newTasks, callback); -} - -// Simple doubly linked list (https://en.wikipedia.org/wiki/Doubly_linked_list) implementation -// used for queues. This implementation assumes that the node provided by the user can be modified -// to adjust the next and last properties. We implement only the minimal functionality -// for queue support. -function DLL() { - this.head = this.tail = null; - this.length = 0; -} - -function setInitial(dll, node) { - dll.length = 1; - dll.head = dll.tail = node; -} - -DLL.prototype.removeLink = function(node) { - if (node.prev) node.prev.next = node.next; - else this.head = node.next; - if (node.next) node.next.prev = node.prev; - else this.tail = node.prev; - - node.prev = node.next = null; - this.length -= 1; - return node; -}; - -DLL.prototype.empty = function () { - while(this.head) this.shift(); - return this; -}; - -DLL.prototype.insertAfter = function(node, newNode) { - newNode.prev = node; - newNode.next = node.next; - if (node.next) node.next.prev = newNode; - else this.tail = newNode; - node.next = newNode; - this.length += 1; -}; - -DLL.prototype.insertBefore = function(node, newNode) { - newNode.prev = node.prev; - newNode.next = node; - if (node.prev) node.prev.next = newNode; - else this.head = newNode; - node.prev = newNode; - this.length += 1; -}; - -DLL.prototype.unshift = function(node) { - if (this.head) this.insertBefore(this.head, node); - else setInitial(this, node); -}; - -DLL.prototype.push = function(node) { - if (this.tail) this.insertAfter(this.tail, node); - else setInitial(this, node); -}; - -DLL.prototype.shift = function() { - return this.head && this.removeLink(this.head); -}; - -DLL.prototype.pop = function() { - return this.tail && this.removeLink(this.tail); -}; - -DLL.prototype.toArray = function () { - var arr = Array(this.length); - var curr = this.head; - for(var idx = 0; idx < this.length; idx++) { - arr[idx] = curr.data; - curr = curr.next; - } - return arr; -}; - -DLL.prototype.remove = function (testFn) { - var curr = this.head; - while(!!curr) { - var next = curr.next; - if (testFn(curr)) { - this.removeLink(curr); - } - curr = next; - } - return this; -}; - -function queue(worker, concurrency, payload) { - if (concurrency == null) { - concurrency = 1; - } - else if(concurrency === 0) { - throw new Error('Concurrency must not be zero'); - } - - var _worker = wrapAsync(worker); - var numRunning = 0; - var workersList = []; - - var processingScheduled = false; - function _insert(data, insertAtFront, callback) { - if (callback != null && typeof callback !== 'function') { - throw new Error('task callback must be a function'); - } - q.started = true; - if (!isArray(data)) { - data = [data]; - } - if (data.length === 0 && q.idle()) { - // call drain immediately if there are no tasks - return setImmediate$1(function() { - q.drain(); - }); - } - - for (var i = 0, l = data.length; i < l; i++) { - var item = { - data: data[i], - callback: callback || noop - }; - - if (insertAtFront) { - q._tasks.unshift(item); - } else { - q._tasks.push(item); - } - } - - if (!processingScheduled) { - processingScheduled = true; - setImmediate$1(function() { - processingScheduled = false; - q.process(); - }); - } - } - - function _next(tasks) { - return function(err){ - numRunning -= 1; - - for (var i = 0, l = tasks.length; i < l; i++) { - var task = tasks[i]; - - var index = baseIndexOf(workersList, task, 0); - if (index === 0) { - workersList.shift(); - } else if (index > 0) { - workersList.splice(index, 1); - } - - task.callback.apply(task, arguments); - - if (err != null) { - q.error(err, task.data); - } - } - - if (numRunning <= (q.concurrency - q.buffer) ) { - q.unsaturated(); - } - - if (q.idle()) { - q.drain(); - } - q.process(); - }; - } - - var isProcessing = false; - var q = { - _tasks: new DLL(), - concurrency: concurrency, - payload: payload, - saturated: noop, - unsaturated:noop, - buffer: concurrency / 4, - empty: noop, - drain: noop, - error: noop, - started: false, - paused: false, - push: function (data, callback) { - _insert(data, false, callback); - }, - kill: function () { - q.drain = noop; - q._tasks.empty(); - }, - unshift: function (data, callback) { - _insert(data, true, callback); - }, - remove: function (testFn) { - q._tasks.remove(testFn); - }, - process: function () { - // Avoid trying to start too many processing operations. This can occur - // when callbacks resolve synchronously (#1267). - if (isProcessing) { - return; - } - isProcessing = true; - while(!q.paused && numRunning < q.concurrency && q._tasks.length){ - var tasks = [], data = []; - var l = q._tasks.length; - if (q.payload) l = Math.min(l, q.payload); - for (var i = 0; i < l; i++) { - var node = q._tasks.shift(); - tasks.push(node); - workersList.push(node); - data.push(node.data); - } - - numRunning += 1; - - if (q._tasks.length === 0) { - q.empty(); - } - - if (numRunning === q.concurrency) { - q.saturated(); - } - - var cb = onlyOnce(_next(tasks)); - _worker(data, cb); - } - isProcessing = false; - }, - length: function () { - return q._tasks.length; - }, - running: function () { - return numRunning; - }, - workersList: function () { - return workersList; - }, - idle: function() { - return q._tasks.length + numRunning === 0; - }, - pause: function () { - q.paused = true; - }, - resume: function () { - if (q.paused === false) { return; } - q.paused = false; - setImmediate$1(q.process); - } - }; - return q; -} - -/** - * A cargo of tasks for the worker function to complete. Cargo inherits all of - * the same methods and event callbacks as [`queue`]{@link module:ControlFlow.queue}. - * @typedef {Object} CargoObject - * @memberOf module:ControlFlow - * @property {Function} length - A function returning the number of items - * waiting to be processed. Invoke like `cargo.length()`. - * @property {number} 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. - * @property {Function} push - 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. Invoke like `cargo.push(task, [callback])`. - * @property {Function} saturated - A callback that is called when the - * `queue.length()` hits the concurrency and further tasks will be queued. - * @property {Function} empty - A callback that is called when the last item - * from the `queue` is given to a `worker`. - * @property {Function} drain - A callback that is called when the last item - * from the `queue` has returned from the `worker`. - * @property {Function} idle - a function returning false if there are items - * waiting or being processed, or true if not. Invoke like `cargo.idle()`. - * @property {Function} pause - a function that pauses the processing of tasks - * until `resume()` is called. Invoke like `cargo.pause()`. - * @property {Function} resume - a function that resumes the processing of - * queued tasks when the queue is paused. Invoke like `cargo.resume()`. - * @property {Function} kill - a function that removes the `drain` callback and - * empties remaining tasks from the queue forcing it to go idle. Invoke like `cargo.kill()`. - */ - -/** - * 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 [these](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) [animations](https://camo.githubusercontent.com/f4810e00e1c5f5f8addbe3e9f49064fd5d102699/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130312f38346339323036362d356632392d313165322d383134662d3964336430323431336266642e676966) - * for how `cargo` and `queue` work. - * - * While [`queue`]{@link module:ControlFlow.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. - * - * @name cargo - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.queue]{@link module:ControlFlow.queue} - * @category Control Flow - * @param {AsyncFunction} worker - An asynchronous function for processing an array - * of queued tasks. Invoked with `(tasks, callback)`. - * @param {number} [payload=Infinity] - An optional `integer` for determining - * how many tasks should be processed per round; if omitted, the default is - * unlimited. - * @returns {module:ControlFlow.CargoObject} A cargo object to manage the tasks. Callbacks can - * attached as certain properties to listen for specific events during the - * lifecycle of the cargo and inner queue. - * @example - * - * // create a cargo object with payload 2 - * var cargo = async.cargo(function(tasks, callback) { - * for (var i=0; i true - */ -function identity(value) { - return value; -} - -function _createTester(check, getResult) { - return function(eachfn, arr, iteratee, cb) { - cb = cb || noop; - var testPassed = false; - var testResult; - eachfn(arr, function(value, _, callback) { - iteratee(value, function(err, result) { - if (err) { - callback(err); - } else if (check(result) && !testResult) { - testPassed = true; - testResult = getResult(true, value); - callback(null, breakLoop); - } else { - callback(); - } - }); - }, function(err) { - if (err) { - cb(err); - } else { - cb(null, testPassed ? testResult : getResult(false)); - } - }); - }; -} - -function _findGetResult(v, x) { - return x; -} - -/** - * Returns the first value in `coll` that passes an async truth test. The - * `iteratee` is applied in parallel, meaning the first iteratee to return - * `true` will fire the detect `callback` with that result. That means the - * result might not be the first item in the original `coll` (in terms of order) - * that passes the test. - - * If order within the original `coll` is important, then look at - * [`detectSeries`]{@link module:Collections.detectSeries}. - * - * @name detect - * @static - * @memberOf module:Collections - * @method - * @alias find - * @category Collections - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`. - * The iteratee must complete with a boolean value as its result. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the `iteratee` functions have finished. - * Result will be the first item in the array that passes the truth test - * (iteratee) or the value `undefined` if none passed. Invoked with - * (err, result). - * @example - * - * async.detect(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // result now equals the first file in the list that exists - * }); - */ -var detect = doParallel(_createTester(identity, _findGetResult)); - -/** - * The same as [`detect`]{@link module:Collections.detect} but runs a maximum of `limit` async operations at a - * time. - * - * @name detectLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.detect]{@link module:Collections.detect} - * @alias findLimit - * @category Collections - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`. - * The iteratee must complete with a boolean value as its result. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the `iteratee` functions have finished. - * Result will be the first item in the array that passes the truth test - * (iteratee) or the value `undefined` if none passed. Invoked with - * (err, result). - */ -var detectLimit = doParallelLimit(_createTester(identity, _findGetResult)); - -/** - * The same as [`detect`]{@link module:Collections.detect} but runs only a single async operation at a time. - * - * @name detectSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.detect]{@link module:Collections.detect} - * @alias findSeries - * @category Collections - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`. - * The iteratee must complete with a boolean value as its result. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the `iteratee` functions have finished. - * Result will be the first item in the array that passes the truth test - * (iteratee) or the value `undefined` if none passed. Invoked with - * (err, result). - */ -var detectSeries = doLimit(detectLimit, 1); - -function consoleFunc(name) { - return function (fn/*, ...args*/) { - var args = slice(arguments, 1); - args.push(function (err/*, ...args*/) { - var args = slice(arguments, 1); - if (typeof console === 'object') { - if (err) { - if (console.error) { - console.error(err); - } - } else if (console[name]) { - arrayEach(args, function (x) { - console[name](x); - }); - } - } - }); - wrapAsync(fn).apply(null, args); - }; -} - -/** - * Logs the result of an [`async` function]{@link AsyncFunction} 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. - * - * @name dir - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} function - The function you want to eventually apply - * all arguments to. - * @param {...*} arguments... - Any number of arguments to apply to the function. - * @example - * - * // in a module - * var hello = function(name, callback) { - * setTimeout(function() { - * callback(null, {hello: name}); - * }, 1000); - * }; - * - * // in the node repl - * node> async.dir(hello, 'world'); - * {hello: 'world'} - */ -var dir = consoleFunc('dir'); - -/** - * The post-check version of [`during`]{@link module:ControlFlow.during}. To reflect the difference in - * the order of operations, the arguments `test` and `fn` are switched. - * - * Also a version of [`doWhilst`]{@link module:ControlFlow.doWhilst} with asynchronous `test` function. - * @name doDuring - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.during]{@link module:ControlFlow.during} - * @category Control Flow - * @param {AsyncFunction} fn - An async function which is called each time - * `test` passes. Invoked with (callback). - * @param {AsyncFunction} test - asynchronous truth test to perform before each - * execution of `fn`. Invoked with (...args, callback), where `...args` are the - * non-error args from the previous callback of `fn`. - * @param {Function} [callback] - A callback which is called after the test - * function has failed and repeated execution of `fn` has stopped. `callback` - * will be passed an error if one occurred, otherwise `null`. - */ -function doDuring(fn, test, callback) { - callback = onlyOnce(callback || noop); - var _fn = wrapAsync(fn); - var _test = wrapAsync(test); - - function next(err/*, ...args*/) { - if (err) return callback(err); - var args = slice(arguments, 1); - args.push(check); - _test.apply(this, args); - } - - function check(err, truth) { - if (err) return callback(err); - if (!truth) return callback(null); - _fn(next); - } - - check(null, true); - -} - -/** - * The post-check version of [`whilst`]{@link module:ControlFlow.whilst}. To reflect the difference in - * the order of operations, the arguments `test` and `iteratee` are switched. - * - * `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. - * - * @name doWhilst - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.whilst]{@link module:ControlFlow.whilst} - * @category Control Flow - * @param {AsyncFunction} iteratee - A function which is called each time `test` - * passes. Invoked with (callback). - * @param {Function} test - synchronous truth test to perform after each - * execution of `iteratee`. Invoked with any non-error callback results of - * `iteratee`. - * @param {Function} [callback] - A callback which is called after the test - * function has failed and repeated execution of `iteratee` has stopped. - * `callback` will be passed an error and any arguments passed to the final - * `iteratee`'s callback. Invoked with (err, [results]); - */ -function doWhilst(iteratee, test, callback) { - callback = onlyOnce(callback || noop); - var _iteratee = wrapAsync(iteratee); - var next = function(err/*, ...args*/) { - if (err) return callback(err); - var args = slice(arguments, 1); - if (test.apply(this, args)) return _iteratee(next); - callback.apply(null, [null].concat(args)); - }; - _iteratee(next); -} - -/** - * Like ['doWhilst']{@link module:ControlFlow.doWhilst}, except the `test` is inverted. Note the - * argument ordering differs from `until`. - * - * @name doUntil - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.doWhilst]{@link module:ControlFlow.doWhilst} - * @category Control Flow - * @param {AsyncFunction} iteratee - An async function which is called each time - * `test` fails. Invoked with (callback). - * @param {Function} test - synchronous truth test to perform after each - * execution of `iteratee`. Invoked with any non-error callback results of - * `iteratee`. - * @param {Function} [callback] - A callback which is called after the test - * function has passed and repeated execution of `iteratee` has stopped. `callback` - * will be passed an error and any arguments passed to the final `iteratee`'s - * callback. Invoked with (err, [results]); - */ -function doUntil(iteratee, test, callback) { - doWhilst(iteratee, function() { - return !test.apply(this, arguments); - }, callback); -} - -/** - * Like [`whilst`]{@link module:ControlFlow.whilst}, except the `test` is an asynchronous function that - * is passed a callback in the form of `function (err, truth)`. If error is - * passed to `test` or `fn`, the main callback is immediately called with the - * value of the error. - * - * @name during - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.whilst]{@link module:ControlFlow.whilst} - * @category Control Flow - * @param {AsyncFunction} test - asynchronous truth test to perform before each - * execution of `fn`. Invoked with (callback). - * @param {AsyncFunction} fn - An async function which is called each time - * `test` passes. Invoked with (callback). - * @param {Function} [callback] - A callback which is called after the test - * function has failed and repeated execution of `fn` has stopped. `callback` - * will be passed an error, if one occurred, otherwise `null`. - * @example - * - * var count = 0; - * - * async.during( - * function (callback) { - * return callback(null, count < 5); - * }, - * function (callback) { - * count++; - * setTimeout(callback, 1000); - * }, - * function (err) { - * // 5 seconds have passed - * } - * ); - */ -function during(test, fn, callback) { - callback = onlyOnce(callback || noop); - var _fn = wrapAsync(fn); - var _test = wrapAsync(test); - - function next(err) { - if (err) return callback(err); - _test(check); - } - - function check(err, truth) { - if (err) return callback(err); - if (!truth) return callback(null); - _fn(next); - } - - _test(check); -} - -function _withoutIndex(iteratee) { - return function (value, index, callback) { - return iteratee(value, callback); - }; -} - -/** - * Applies the function `iteratee` to each item in `coll`, in parallel. - * The `iteratee` is called with an item from the list, and a callback for when - * it has finished. If the `iteratee` 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 `iteratee` to each item in parallel, - * there is no guarantee that the iteratee functions will complete in order. - * - * @name each - * @static - * @memberOf module:Collections - * @method - * @alias forEach - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to - * each item in `coll`. Invoked with (item, callback). - * The array index is not passed to the iteratee. - * If you need the index, use `eachOf`. - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - * @example - * - * // 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 - * }); - * - * // 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'); - * } - * }); - */ -function eachLimit(coll, iteratee, callback) { - eachOf(coll, _withoutIndex(wrapAsync(iteratee)), callback); -} - -/** - * The same as [`each`]{@link module:Collections.each} but runs a maximum of `limit` async operations at a time. - * - * @name eachLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.each]{@link module:Collections.each} - * @alias forEachLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The array index is not passed to the iteratee. - * If you need the index, use `eachOfLimit`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -function eachLimit$1(coll, limit, iteratee, callback) { - _eachOfLimit(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback); -} - -/** - * The same as [`each`]{@link module:Collections.each} but runs only a single async operation at a time. - * - * @name eachSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.each]{@link module:Collections.each} - * @alias forEachSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each - * item in `coll`. - * The array index is not passed to the iteratee. - * If you need the index, use `eachOfSeries`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -var eachSeries = doLimit(eachLimit$1, 1); - -/** - * Wrap an async function and ensure it calls its callback on a later tick of - * the event loop. If the function already calls its callback on a next tick, - * no extra deferral is added. This is useful for preventing stack overflows - * (`RangeError: Maximum call stack size exceeded`) and generally keeping - * [Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony) - * contained. ES2017 `async` functions are returned as-is -- they are immune - * to Zalgo's corrupting influences, as they always resolve on a later tick. - * - * @name ensureAsync - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} fn - an async function, one that expects a node-style - * callback as its last argument. - * @returns {AsyncFunction} Returns a wrapped function with the exact same call - * signature as the function passed in. - * @example - * - * function sometimesAsync(arg, callback) { - * if (cache[arg]) { - * return callback(null, cache[arg]); // this would be synchronous!! - * } else { - * doSomeIO(arg, callback); // this IO would be asynchronous - * } - * } - * - * // this has a risk of stack overflows if many results are cached in a row - * async.mapSeries(args, sometimesAsync, done); - * - * // this will defer sometimesAsync's callback if necessary, - * // preventing stack overflows - * async.mapSeries(args, async.ensureAsync(sometimesAsync), done); - */ -function ensureAsync(fn) { - if (isAsync(fn)) return fn; - return initialParams(function (args, callback) { - var sync = true; - args.push(function () { - var innerArgs = arguments; - if (sync) { - setImmediate$1(function () { - callback.apply(null, innerArgs); - }); - } else { - callback.apply(null, innerArgs); - } - }); - fn.apply(this, args); - sync = false; - }); -} - -function notId(v) { - return !v; -} - -/** - * Returns `true` if every element in `coll` satisfies an async test. If any - * iteratee call returns `false`, the main `callback` is immediately called. - * - * @name every - * @static - * @memberOf module:Collections - * @method - * @alias all - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in parallel. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - * @example - * - * async.every(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // if result is true then every file exists - * }); - */ -var every = doParallel(_createTester(notId, notId)); - -/** - * The same as [`every`]{@link module:Collections.every} but runs a maximum of `limit` async operations at a time. - * - * @name everyLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.every]{@link module:Collections.every} - * @alias allLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in parallel. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - */ -var everyLimit = doParallelLimit(_createTester(notId, notId)); - -/** - * The same as [`every`]{@link module:Collections.every} but runs only a single async operation at a time. - * - * @name everySeries - * @static - * @memberOf module:Collections - * @method - * @see [async.every]{@link module:Collections.every} - * @alias allSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in series. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - */ -var everySeries = doLimit(everyLimit, 1); - -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; -} - -function filterArray(eachfn, arr, iteratee, callback) { - var truthValues = new Array(arr.length); - eachfn(arr, function (x, index, callback) { - iteratee(x, function (err, v) { - truthValues[index] = !!v; - callback(err); - }); - }, function (err) { - if (err) return callback(err); - var results = []; - for (var i = 0; i < arr.length; i++) { - if (truthValues[i]) results.push(arr[i]); - } - callback(null, results); - }); -} - -function filterGeneric(eachfn, coll, iteratee, callback) { - var results = []; - eachfn(coll, function (x, index, callback) { - iteratee(x, function (err, v) { - if (err) { - callback(err); - } else { - if (v) { - results.push({index: index, value: x}); - } - callback(); - } - }); - }, function (err) { - if (err) { - callback(err); - } else { - callback(null, arrayMap(results.sort(function (a, b) { - return a.index - b.index; - }), baseProperty('value'))); - } - }); -} - -function _filter(eachfn, coll, iteratee, callback) { - var filter = isArrayLike(coll) ? filterArray : filterGeneric; - filter(eachfn, coll, wrapAsync(iteratee), callback || noop); -} - -/** - * Returns a new array of all the values in `coll` which pass an async truth - * test. This operation is performed in parallel, but the results array will be - * in the same order as the original. - * - * @name filter - * @static - * @memberOf module:Collections - * @method - * @alias select - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - * @example - * - * async.filter(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, results) { - * // results now equals an array of the existing files - * }); - */ -var filter = doParallel(_filter); - -/** - * The same as [`filter`]{@link module:Collections.filter} but runs a maximum of `limit` async operations at a - * time. - * - * @name filterLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @alias selectLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - */ -var filterLimit = doParallelLimit(_filter); - -/** - * The same as [`filter`]{@link module:Collections.filter} but runs only a single async operation at a time. - * - * @name filterSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @alias selectSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results) - */ -var filterSeries = doLimit(filterLimit, 1); - -/** - * 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. - * - * @name forever - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {AsyncFunction} fn - an async function to call repeatedly. - * Invoked with (next). - * @param {Function} [errback] - when `fn` passes an error to it's callback, - * this function will be called, and execution stops. Invoked with (err). - * @example - * - * 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. - * } - * ); - */ -function forever(fn, errback) { - var done = onlyOnce(errback || noop); - var task = wrapAsync(ensureAsync(fn)); - - function next(err) { - if (err) return done(err); - task(next); - } - next(); -} - -/** - * The same as [`groupBy`]{@link module:Collections.groupBy} but runs a maximum of `limit` async operations at a time. - * - * @name groupByLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.groupBy]{@link module:Collections.groupBy} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a `key` to group the value under. - * Invoked with (value, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Result is an `Object` whoses - * properties are arrays of values which returned the corresponding key. - */ -var groupByLimit = function(coll, limit, iteratee, callback) { - callback = callback || noop; - var _iteratee = wrapAsync(iteratee); - mapLimit(coll, limit, function(val, callback) { - _iteratee(val, function(err, key) { - if (err) return callback(err); - return callback(null, {key: key, val: val}); - }); - }, function(err, mapResults) { - var result = {}; - // from MDN, handle object having an `hasOwnProperty` prop - var hasOwnProperty = Object.prototype.hasOwnProperty; - - for (var i = 0; i < mapResults.length; i++) { - if (mapResults[i]) { - var key = mapResults[i].key; - var val = mapResults[i].val; - - if (hasOwnProperty.call(result, key)) { - result[key].push(val); - } else { - result[key] = [val]; - } - } - } - - return callback(err, result); - }); -}; - -/** - * Returns a new object, where each value corresponds to an array of items, from - * `coll`, that returned the corresponding key. That is, the keys of the object - * correspond to the values passed to the `iteratee` callback. - * - * Note: Since this function applies the `iteratee` to each item in parallel, - * there is no guarantee that the `iteratee` functions will complete in order. - * However, the values for each key in the `result` will be in the same order as - * the original `coll`. For Objects, the values will roughly be in the order of - * the original Objects' keys (but this can vary across JavaScript engines). - * - * @name groupBy - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a `key` to group the value under. - * Invoked with (value, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Result is an `Object` whoses - * properties are arrays of values which returned the corresponding key. - * @example - * - * async.groupBy(['userId1', 'userId2', 'userId3'], function(userId, callback) { - * db.findById(userId, function(err, user) { - * if (err) return callback(err); - * return callback(null, user.age); - * }); - * }, function(err, result) { - * // result is object containing the userIds grouped by age - * // e.g. { 30: ['userId1', 'userId3'], 42: ['userId2']}; - * }); - */ -var groupBy = doLimit(groupByLimit, Infinity); - -/** - * The same as [`groupBy`]{@link module:Collections.groupBy} but runs only a single async operation at a time. - * - * @name groupBySeries - * @static - * @memberOf module:Collections - * @method - * @see [async.groupBy]{@link module:Collections.groupBy} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a `key` to group the value under. - * Invoked with (value, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Result is an `Object` whoses - * properties are arrays of values which returned the corresponding key. - */ -var groupBySeries = doLimit(groupByLimit, 1); - -/** - * 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. - * - * @name log - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} function - The function you want to eventually apply - * all arguments to. - * @param {...*} arguments... - Any number of arguments to apply to the function. - * @example - * - * // in a module - * var hello = function(name, callback) { - * setTimeout(function() { - * callback(null, 'hello ' + name); - * }, 1000); - * }; - * - * // in the node repl - * node> async.log(hello, 'world'); - * 'hello world' - */ -var log = consoleFunc('log'); - -/** - * The same as [`mapValues`]{@link module:Collections.mapValues} but runs a maximum of `limit` async operations at a - * time. - * - * @name mapValuesLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.mapValues]{@link module:Collections.mapValues} - * @category Collection - * @param {Object} obj - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - A function to apply to each value and key - * in `coll`. - * The iteratee should complete with the transformed value as its result. - * Invoked with (value, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. `result` is a new object consisting - * of each key from `obj`, with each transformed value on the right-hand side. - * Invoked with (err, result). - */ -function mapValuesLimit(obj, limit, iteratee, callback) { - callback = once(callback || noop); - var newObj = {}; - var _iteratee = wrapAsync(iteratee); - eachOfLimit(obj, limit, function(val, key, next) { - _iteratee(val, key, function (err, result) { - if (err) return next(err); - newObj[key] = result; - next(); - }); - }, function (err) { - callback(err, newObj); - }); -} - -/** - * A relative of [`map`]{@link module:Collections.map}, designed for use with objects. - * - * Produces a new Object by mapping each value of `obj` through the `iteratee` - * function. The `iteratee` is called each `value` and `key` from `obj` and a - * callback for when it has finished processing. Each of these callbacks takes - * two arguments: an `error`, and the transformed item from `obj`. If `iteratee` - * passes an error to its callback, the main `callback` (for the `mapValues` - * function) is immediately called with the error. - * - * Note, the order of the keys in the result is not guaranteed. The keys will - * be roughly in the order they complete, (but this is very engine-specific) - * - * @name mapValues - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Object} obj - A collection to iterate over. - * @param {AsyncFunction} iteratee - A function to apply to each value and key - * in `coll`. - * The iteratee should complete with the transformed value as its result. - * Invoked with (value, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. `result` is a new object consisting - * of each key from `obj`, with each transformed value on the right-hand side. - * Invoked with (err, result). - * @example - * - * async.mapValues({ - * f1: 'file1', - * f2: 'file2', - * f3: 'file3' - * }, function (file, key, callback) { - * fs.stat(file, callback); - * }, function(err, result) { - * // result is now a map of stats for each file, e.g. - * // { - * // f1: [stats for file1], - * // f2: [stats for file2], - * // f3: [stats for file3] - * // } - * }); - */ - -var mapValues = doLimit(mapValuesLimit, Infinity); - -/** - * The same as [`mapValues`]{@link module:Collections.mapValues} but runs only a single async operation at a time. - * - * @name mapValuesSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.mapValues]{@link module:Collections.mapValues} - * @category Collection - * @param {Object} obj - A collection to iterate over. - * @param {AsyncFunction} iteratee - A function to apply to each value and key - * in `coll`. - * The iteratee should complete with the transformed value as its result. - * Invoked with (value, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. `result` is a new object consisting - * of each key from `obj`, with each transformed value on the right-hand side. - * Invoked with (err, result). - */ -var mapValuesSeries = doLimit(mapValuesLimit, 1); - -function has(obj, key) { - return key in obj; -} - -/** - * 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. - * - * If no hash function is specified, the first argument is used as a hash key, - * which may work reasonably if it is a string or a data type that converts to a - * distinct string. Note that objects and arrays will not behave reasonably. - * Neither will cases where the other arguments are significant. In such cases, - * specify your own hash function. - * - * The cache of results is exposed as the `memo` property of the function - * returned by `memoize`. - * - * @name memoize - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} fn - The async function to proxy and cache results from. - * @param {Function} hasher - An 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. - * @returns {AsyncFunction} a memoized version of `fn` - * @example - * - * 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 - * }); - */ -function memoize(fn, hasher) { - var memo = Object.create(null); - var queues = Object.create(null); - hasher = hasher || identity; - var _fn = wrapAsync(fn); - var memoized = initialParams(function memoized(args, callback) { - var key = hasher.apply(null, args); - if (has(memo, key)) { - setImmediate$1(function() { - callback.apply(null, memo[key]); - }); - } else if (has(queues, key)) { - queues[key].push(callback); - } else { - queues[key] = [callback]; - _fn.apply(null, args.concat(function(/*args*/) { - var args = slice(arguments); - memo[key] = args; - var q = queues[key]; - delete queues[key]; - for (var i = 0, l = q.length; i < l; i++) { - q[i].apply(null, args); - } - })); - } - }); - memoized.memo = memo; - memoized.unmemoized = fn; - return memoized; -} - -/** - * Calls `callback` on a later loop around the event loop. In Node.js this just - * calls `process.nextTicl`. In the browser it will use `setImmediate` 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. - * - * @name nextTick - * @static - * @memberOf module:Utils - * @method - * @see [async.setImmediate]{@link module:Utils.setImmediate} - * @category Util - * @param {Function} callback - The function to call on a later loop around - * the event loop. Invoked with (args...). - * @param {...*} args... - any number of additional arguments to pass to the - * callback on the next tick. - * @example - * - * var call_order = []; - * async.nextTick(function() { - * call_order.push('two'); - * // call_order now equals ['one','two'] - * }); - * call_order.push('one'); - * - * async.setImmediate(function (a, b, c) { - * // a, b, and c equal 1, 2, and 3 - * }, 1, 2, 3); - */ -var _defer$1; - -if (hasNextTick) { - _defer$1 = process.nextTick; -} else if (hasSetImmediate) { - _defer$1 = setImmediate; -} else { - _defer$1 = fallback; -} - -var nextTick = wrap(_defer$1); - -function _parallel(eachfn, tasks, callback) { - callback = callback || noop; - var results = isArrayLike(tasks) ? [] : {}; - - eachfn(tasks, function (task, key, callback) { - wrapAsync(task)(function (err, result) { - if (arguments.length > 2) { - result = slice(arguments, 1); - } - results[key] = result; - callback(err); - }); - }, function (err) { - callback(err, results); - }); -} - -/** - * Run the `tasks` collection 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. - * - * **Note:** `parallel` is about kicking-off I/O tasks in parallel, not about - * parallel execution of code. If your tasks do not use any timers or perform - * any I/O, they will actually be executed in series. Any synchronous setup - * sections for each task will happen one after the other. JavaScript remains - * single-threaded. - * - * **Hint:** Use [`reflect`]{@link module:Utils.reflect} to continue the - * execution of other tasks when a task fails. - * - * 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 {@link async.parallel}. - * - * @name parallel - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection of - * [async functions]{@link AsyncFunction} to run. - * Each async function can complete with any number of optional `result` values. - * @param {Function} [callback] - An optional callback to run once all the - * functions have completed successfully. This function gets a results array - * (or object) containing all the result arguments passed to the task callbacks. - * Invoked with (err, results). - * - * @example - * 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} - * }); - */ -function parallelLimit(tasks, callback) { - _parallel(eachOf, tasks, callback); -} - -/** - * The same as [`parallel`]{@link module:ControlFlow.parallel} but runs a maximum of `limit` async operations at a - * time. - * - * @name parallelLimit - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.parallel]{@link module:ControlFlow.parallel} - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection of - * [async functions]{@link AsyncFunction} to run. - * Each async function can complete with any number of optional `result` values. - * @param {number} limit - The maximum number of async operations at a time. - * @param {Function} [callback] - An optional callback to run once all the - * functions have completed successfully. This function gets a results array - * (or object) containing all the result arguments passed to the task callbacks. - * Invoked with (err, results). - */ -function parallelLimit$1(tasks, limit, callback) { - _parallel(_eachOfLimit(limit), tasks, callback); -} - -/** - * A queue of tasks for the worker function to complete. - * @typedef {Object} QueueObject - * @memberOf module:ControlFlow - * @property {Function} length - a function returning the number of items - * waiting to be processed. Invoke with `queue.length()`. - * @property {boolean} started - a boolean indicating whether or not any - * items have been pushed and processed by the queue. - * @property {Function} running - a function returning the number of items - * currently being processed. Invoke with `queue.running()`. - * @property {Function} workersList - a function returning the array of items - * currently being processed. Invoke with `queue.workersList()`. - * @property {Function} idle - a function returning false if there are items - * waiting or being processed, or true if not. Invoke with `queue.idle()`. - * @property {number} 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. - * @property {Function} push - 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. Invoke with `queue.push(task, [callback])`, - * @property {Function} unshift - add a new task to the front of the `queue`. - * Invoke with `queue.unshift(task, [callback])`. - * @property {Function} remove - remove items from the queue that match a test - * function. The test function will be passed an object with a `data` property, - * and a `priority` property, if this is a - * [priorityQueue]{@link module:ControlFlow.priorityQueue} object. - * Invoked with `queue.remove(testFn)`, where `testFn` is of the form - * `function ({data, priority}) {}` and returns a Boolean. - * @property {Function} saturated - a callback that is called when the number of - * running workers hits the `concurrency` limit, and further tasks will be - * queued. - * @property {Function} unsaturated - a callback that is called when the number - * of running workers is less than the `concurrency` & `buffer` limits, and - * further tasks will not be queued. - * @property {number} buffer - A minimum threshold buffer in order to say that - * the `queue` is `unsaturated`. - * @property {Function} empty - a callback that is called when the last item - * from the `queue` is given to a `worker`. - * @property {Function} drain - a callback that is called when the last item - * from the `queue` has returned from the `worker`. - * @property {Function} error - a callback that is called when a task errors. - * Has the signature `function(error, task)`. - * @property {boolean} paused - a boolean for determining whether the queue is - * in a paused state. - * @property {Function} pause - a function that pauses the processing of tasks - * until `resume()` is called. Invoke with `queue.pause()`. - * @property {Function} resume - a function that resumes the processing of - * queued tasks when the queue is paused. Invoke with `queue.resume()`. - * @property {Function} kill - a function that removes the `drain` callback and - * empties remaining tasks from the queue forcing it to go idle. No more tasks - * should be pushed to the queue after calling this function. Invoke with `queue.kill()`. - */ - -/** - * 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. - * - * @name queue - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {AsyncFunction} worker - An async function for processing a queued task. - * If you want to handle errors from an individual task, pass a callback to - * `q.push()`. Invoked with (task, callback). - * @param {number} [concurrency=1] - An `integer` for determining how many - * `worker` functions should be run in parallel. If omitted, the concurrency - * defaults to `1`. If the concurrency is `0`, an error is thrown. - * @returns {module:ControlFlow.QueueObject} A queue object to manage the tasks. Callbacks can - * attached as certain properties to listen for specific events during the - * lifecycle of the queue. - * @example - * - * // 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'); - * }); - */ -var queue$1 = function (worker, concurrency) { - var _worker = wrapAsync(worker); - return queue(function (items, cb) { - _worker(items[0], cb); - }, concurrency, 1); -}; - -/** - * The same as [async.queue]{@link module:ControlFlow.queue} only tasks are assigned a priority and - * completed in ascending priority order. - * - * @name priorityQueue - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.queue]{@link module:ControlFlow.queue} - * @category Control Flow - * @param {AsyncFunction} worker - An async function for processing a queued task. - * If you want to handle errors from an individual task, pass a callback to - * `q.push()`. - * Invoked with (task, callback). - * @param {number} concurrency - An `integer` for determining how many `worker` - * functions should be run in parallel. If omitted, the concurrency defaults to - * `1`. If the concurrency is `0`, an error is thrown. - * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. 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. - */ -var priorityQueue = function(worker, concurrency) { - // Start with a normal queue - var q = queue$1(worker, concurrency); - - // Override push to accept second parameter representing priority - q.push = function(data, priority, callback) { - if (callback == null) callback = noop; - if (typeof callback !== 'function') { - throw new Error('task callback must be a function'); - } - q.started = true; - if (!isArray(data)) { - data = [data]; - } - if (data.length === 0) { - // call drain immediately if there are no tasks - return setImmediate$1(function() { - q.drain(); - }); - } - - priority = priority || 0; - var nextNode = q._tasks.head; - while (nextNode && priority >= nextNode.priority) { - nextNode = nextNode.next; - } - - for (var i = 0, l = data.length; i < l; i++) { - var item = { - data: data[i], - priority: priority, - callback: callback - }; - - if (nextNode) { - q._tasks.insertBefore(nextNode, item); - } else { - q._tasks.push(item); - } - } - setImmediate$1(q.process); - }; - - // Remove unshift function - delete q.unshift; - - return q; -}; - -/** - * Runs the `tasks` array of functions in parallel, without waiting until the - * previous function has completed. Once any of the `tasks` complete or pass an - * error to its callback, the main `callback` is immediately called. It's - * equivalent to `Promise.race()`. - * - * @name race - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array} tasks - An array containing [async functions]{@link AsyncFunction} - * to run. Each function can complete with an optional `result` value. - * @param {Function} callback - A callback to run once any of the functions have - * completed. This function gets an error or result from the first function that - * completed. Invoked with (err, result). - * @returns undefined - * @example - * - * async.race([ - * function(callback) { - * setTimeout(function() { - * callback(null, 'one'); - * }, 200); - * }, - * function(callback) { - * setTimeout(function() { - * callback(null, 'two'); - * }, 100); - * } - * ], - * // main callback - * function(err, result) { - * // the result will be equal to 'two' as it finishes earlier - * }); - */ -function race(tasks, callback) { - callback = once(callback || noop); - if (!isArray(tasks)) return callback(new TypeError('First argument to race must be an array of functions')); - if (!tasks.length) return callback(); - for (var i = 0, l = tasks.length; i < l; i++) { - wrapAsync(tasks[i])(callback); - } -} - -/** - * Same as [`reduce`]{@link module:Collections.reduce}, only operates on `array` in reverse order. - * - * @name reduceRight - * @static - * @memberOf module:Collections - * @method - * @see [async.reduce]{@link module:Collections.reduce} - * @alias foldr - * @category Collection - * @param {Array} array - A collection to iterate over. - * @param {*} memo - The initial state of the reduction. - * @param {AsyncFunction} iteratee - A function applied to each item in the - * array to produce the next step in the reduction. - * The `iteratee` should complete with the next state of the reduction. - * If the iteratee complete with an error, the reduction is stopped and the - * main `callback` is immediately called with the error. - * Invoked with (memo, item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the reduced value. Invoked with - * (err, result). - */ -function reduceRight (array, memo, iteratee, callback) { - var reversed = slice(array).reverse(); - reduce(reversed, memo, iteratee, callback); -} - -/** - * Wraps the async function in another function that always completes with a - * result object, even when it errors. - * - * The result object has either the property `error` or `value`. - * - * @name reflect - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} fn - The async function you want to wrap - * @returns {Function} - A function that always passes null to it's callback as - * the error. The second argument to the callback will be an `object` with - * either an `error` or a `value` property. - * @example - * - * async.parallel([ - * async.reflect(function(callback) { - * // do some stuff ... - * callback(null, 'one'); - * }), - * async.reflect(function(callback) { - * // do some more stuff but error ... - * callback('bad stuff happened'); - * }), - * async.reflect(function(callback) { - * // do some more stuff ... - * callback(null, 'two'); - * }) - * ], - * // optional callback - * function(err, results) { - * // values - * // results[0].value = 'one' - * // results[1].error = 'bad stuff happened' - * // results[2].value = 'two' - * }); - */ -function reflect(fn) { - var _fn = wrapAsync(fn); - return initialParams(function reflectOn(args, reflectCallback) { - args.push(function callback(error, cbArg) { - if (error) { - reflectCallback(null, { error: error }); - } else { - var value; - if (arguments.length <= 2) { - value = cbArg; - } else { - value = slice(arguments, 1); - } - reflectCallback(null, { value: value }); - } - }); - - return _fn.apply(this, args); - }); -} - -/** - * A helper function that wraps an array or an object of functions with `reflect`. - * - * @name reflectAll - * @static - * @memberOf module:Utils - * @method - * @see [async.reflect]{@link module:Utils.reflect} - * @category Util - * @param {Array|Object|Iterable} tasks - The collection of - * [async functions]{@link AsyncFunction} to wrap in `async.reflect`. - * @returns {Array} Returns an array of async functions, each wrapped in - * `async.reflect` - * @example - * - * let tasks = [ - * function(callback) { - * setTimeout(function() { - * callback(null, 'one'); - * }, 200); - * }, - * function(callback) { - * // do some more stuff but error ... - * callback(new Error('bad stuff happened')); - * }, - * function(callback) { - * setTimeout(function() { - * callback(null, 'two'); - * }, 100); - * } - * ]; - * - * async.parallel(async.reflectAll(tasks), - * // optional callback - * function(err, results) { - * // values - * // results[0].value = 'one' - * // results[1].error = Error('bad stuff happened') - * // results[2].value = 'two' - * }); - * - * // an example using an object instead of an array - * let tasks = { - * one: function(callback) { - * setTimeout(function() { - * callback(null, 'one'); - * }, 200); - * }, - * two: function(callback) { - * callback('two'); - * }, - * three: function(callback) { - * setTimeout(function() { - * callback(null, 'three'); - * }, 100); - * } - * }; - * - * async.parallel(async.reflectAll(tasks), - * // optional callback - * function(err, results) { - * // values - * // results.one.value = 'one' - * // results.two.error = 'two' - * // results.three.value = 'three' - * }); - */ -function reflectAll(tasks) { - var results; - if (isArray(tasks)) { - results = arrayMap(tasks, reflect); - } else { - results = {}; - baseForOwn(tasks, function(task, key) { - results[key] = reflect.call(this, task); - }); - } - return results; -} - -function reject$1(eachfn, arr, iteratee, callback) { - _filter(eachfn, arr, function(value, cb) { - iteratee(value, function(err, v) { - cb(err, !v); - }); - }, callback); -} - -/** - * The opposite of [`filter`]{@link module:Collections.filter}. Removes values that pass an `async` truth test. - * - * @name reject - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - An async truth test to apply to each item in - * `coll`. - * The should complete with a boolean value as its `result`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - * @example - * - * async.reject(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, results) { - * // results now equals an array of missing files - * createFiles(results); - * }); - */ -var reject = doParallel(reject$1); - -/** - * The same as [`reject`]{@link module:Collections.reject} but runs a maximum of `limit` async operations at a - * time. - * - * @name rejectLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.reject]{@link module:Collections.reject} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {Function} iteratee - An async truth test to apply to each item in - * `coll`. - * The should complete with a boolean value as its `result`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - */ -var rejectLimit = doParallelLimit(reject$1); - -/** - * The same as [`reject`]{@link module:Collections.reject} but runs only a single async operation at a time. - * - * @name rejectSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.reject]{@link module:Collections.reject} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - An async truth test to apply to each item in - * `coll`. - * The should complete with a boolean value as its `result`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - */ -var rejectSeries = doLimit(rejectLimit, 1); - -/** - * Creates a function that returns `value`. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. - * @example - * - * var objects = _.times(2, _.constant({ 'a': 1 })); - * - * console.log(objects); - * // => [{ 'a': 1 }, { 'a': 1 }] - * - * console.log(objects[0] === objects[1]); - * // => true - */ -function constant$1(value) { - return function() { - return value; - }; -} - -/** - * 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. - * - * @name retry - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @see [async.retryable]{@link module:ControlFlow.retryable} - * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - Can be either an - * object with `times` and `interval` or a number. - * * `times` - The number of attempts to make before giving up. The default - * is `5`. - * * `interval` - The time to wait between retries, in milliseconds. The - * default is `0`. The interval may also be specified as a function of the - * retry count (see example). - * * `errorFilter` - An optional synchronous function that is invoked on - * erroneous result. If it returns `true` the retry attempts will continue; - * if the function returns `false` the retry flow is aborted with the current - * attempt's error and result being returned to the final callback. - * Invoked with (err). - * * If `opts` is a number, the number specifies the number of times to retry, - * with the default interval of `0`. - * @param {AsyncFunction} task - An async function to retry. - * Invoked with (callback). - * @param {Function} [callback] - 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`. Invoked - * with (err, results). - * - * @example - * - * // The `retry` function can be used as a stand-alone control flow by passing - * // a callback, as shown below: - * - * // try calling apiMethod 3 times - * async.retry(3, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod 3 times, waiting 200 ms between each retry - * async.retry({times: 3, interval: 200}, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod 10 times with exponential backoff - * // (i.e. intervals of 100, 200, 400, 800, 1600, ... milliseconds) - * async.retry({ - * times: 10, - * interval: function(retryCount) { - * return 50 * Math.pow(2, retryCount); - * } - * }, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod the default 5 times no delay between each retry - * async.retry(apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod only when error condition satisfies, all other - * // errors will abort the retry control flow and return to final callback - * async.retry({ - * errorFilter: function(err) { - * return err.message === 'Temporary error'; // only retry on a specific error - * } - * }, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // to retry individual methods that are not as reliable within other - * // control flow functions, use the `retryable` wrapper: - * async.auto({ - * users: api.getUsers.bind(api), - * payments: async.retryable(3, api.getPayments.bind(api)) - * }, function(err, results) { - * // do something with the results - * }); - * - */ -function retry(opts, task, callback) { - var DEFAULT_TIMES = 5; - var DEFAULT_INTERVAL = 0; - - var options = { - times: DEFAULT_TIMES, - intervalFunc: constant$1(DEFAULT_INTERVAL) - }; - - function parseTimes(acc, t) { - if (typeof t === 'object') { - acc.times = +t.times || DEFAULT_TIMES; - - acc.intervalFunc = typeof t.interval === 'function' ? - t.interval : - constant$1(+t.interval || DEFAULT_INTERVAL); - - acc.errorFilter = t.errorFilter; - } else if (typeof t === 'number' || typeof t === 'string') { - acc.times = +t || DEFAULT_TIMES; - } else { - throw new Error("Invalid arguments for async.retry"); - } - } - - if (arguments.length < 3 && typeof opts === 'function') { - callback = task || noop; - task = opts; - } else { - parseTimes(options, opts); - callback = callback || noop; - } - - if (typeof task !== 'function') { - throw new Error("Invalid arguments for async.retry"); - } - - var _task = wrapAsync(task); - - var attempt = 1; - function retryAttempt() { - _task(function(err) { - if (err && attempt++ < options.times && - (typeof options.errorFilter != 'function' || - options.errorFilter(err))) { - setTimeout(retryAttempt, options.intervalFunc(attempt)); - } else { - callback.apply(null, arguments); - } - }); - } - - retryAttempt(); -} - -/** - * A close relative of [`retry`]{@link module:ControlFlow.retry}. This method - * wraps a task and makes it retryable, rather than immediately calling it - * with retries. - * - * @name retryable - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.retry]{@link module:ControlFlow.retry} - * @category Control Flow - * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - optional - * options, exactly the same as from `retry` - * @param {AsyncFunction} task - the asynchronous function to wrap. - * This function will be passed any arguments passed to the returned wrapper. - * Invoked with (...args, callback). - * @returns {AsyncFunction} The wrapped function, which when invoked, will - * retry on an error, based on the parameters specified in `opts`. - * This function will accept the same parameters as `task`. - * @example - * - * async.auto({ - * dep1: async.retryable(3, getFromFlakyService), - * process: ["dep1", async.retryable(3, function (results, cb) { - * maybeProcessData(results.dep1, cb); - * })] - * }, callback); - */ -var retryable = function (opts, task) { - if (!task) { - task = opts; - opts = null; - } - var _task = wrapAsync(task); - return initialParams(function (args, callback) { - function taskFn(cb) { - _task.apply(null, args.concat(cb)); - } - - if (opts) retry(opts, taskFn, callback); - else retry(taskFn, callback); - - }); -}; - -/** - * Run the functions in the `tasks` collection 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 {@link async.series}. - * - * **Note** that while many implementations preserve the order of object - * properties, the [ECMAScript Language Specification](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. - * - * @name series - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection containing - * [async functions]{@link AsyncFunction} to run in series. - * Each function can complete with any number of optional `result` values. - * @param {Function} [callback] - 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. Invoked - * with (err, result). - * @example - * 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'] - * }); - * - * 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} - * }); - */ -function series(tasks, callback) { - _parallel(eachOfSeries, tasks, callback); -} - -/** - * Returns `true` if at least one element in the `coll` satisfies an async test. - * If any iteratee call returns `true`, the main `callback` is immediately - * called. - * - * @name some - * @static - * @memberOf module:Collections - * @method - * @alias any - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in parallel. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - * @example - * - * async.some(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // if result is true then at least one of the files exists - * }); - */ -var some = doParallel(_createTester(Boolean, identity)); - -/** - * The same as [`some`]{@link module:Collections.some} but runs a maximum of `limit` async operations at a time. - * - * @name someLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.some]{@link module:Collections.some} - * @alias anyLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in parallel. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - */ -var someLimit = doParallelLimit(_createTester(Boolean, identity)); - -/** - * The same as [`some`]{@link module:Collections.some} but runs only a single async operation at a time. - * - * @name someSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.some]{@link module:Collections.some} - * @alias anySeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in series. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - */ -var someSeries = doLimit(someLimit, 1); - -/** - * Sorts a list by the results of running each `coll` value through an async - * `iteratee`. - * - * @name sortBy - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a value to use as the sort criteria as - * its `result`. - * Invoked with (item, callback). - * @param {Function} callback - A callback which is called after all the - * `iteratee` functions have finished, or an error occurs. Results is the items - * from the original `coll` sorted by the values returned by the `iteratee` - * calls. Invoked with (err, results). - * @example - * - * 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 - * }); - * - * // By modifying the callback parameter the - * // sorting order can be influenced: - * - * // 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 - * }); - */ -function sortBy (coll, iteratee, callback) { - var _iteratee = wrapAsync(iteratee); - map(coll, function (x, callback) { - _iteratee(x, function (err, criteria) { - if (err) return callback(err); - callback(null, {value: x, criteria: criteria}); - }); - }, function (err, results) { - if (err) return callback(err); - callback(null, arrayMap(results.sort(comparator), baseProperty('value'))); - }); - - function comparator(left, right) { - var a = left.criteria, b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; - } -} - -/** - * Sets a time limit on an asynchronous function. If the function does not call - * its callback within the specified milliseconds, it will be called with a - * timeout error. The code property for the error object will be `'ETIMEDOUT'`. - * - * @name timeout - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} asyncFn - The async function to limit in time. - * @param {number} milliseconds - The specified time limit. - * @param {*} [info] - Any variable you want attached (`string`, `object`, etc) - * to timeout Error for more information.. - * @returns {AsyncFunction} Returns a wrapped function that can be used with any - * of the control flow functions. - * Invoke this function with the same parameters as you would `asyncFunc`. - * @example - * - * function myFunction(foo, callback) { - * doAsyncTask(foo, function(err, data) { - * // handle errors - * if (err) return callback(err); - * - * // do some stuff ... - * - * // return processed data - * return callback(null, data); - * }); - * } - * - * var wrapped = async.timeout(myFunction, 1000); - * - * // call `wrapped` as you would `myFunction` - * wrapped({ bar: 'bar' }, function(err, data) { - * // if `myFunction` takes < 1000 ms to execute, `err` - * // and `data` will have their expected values - * - * // else `err` will be an Error with the code 'ETIMEDOUT' - * }); - */ -function timeout(asyncFn, milliseconds, info) { - var fn = wrapAsync(asyncFn); - - return initialParams(function (args, callback) { - var timedOut = false; - var timer; - - function timeoutCallback() { - var name = asyncFn.name || 'anonymous'; - var error = new Error('Callback function "' + name + '" timed out.'); - error.code = 'ETIMEDOUT'; - if (info) { - error.info = info; - } - timedOut = true; - callback(error); - } - - args.push(function () { - if (!timedOut) { - callback.apply(null, arguments); - clearTimeout(timer); - } - }); - - // setup timer and call original function - timer = setTimeout(timeoutCallback, milliseconds); - fn.apply(null, args); - }); -} - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil; -var nativeMax = Math.max; - -/** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */ -function baseRange(start, end, step, fromRight) { - var index = -1, - length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), - result = Array(length); - - while (length--) { - result[fromRight ? length : ++index] = start; - start += step; - } - return result; -} - -/** - * The same as [times]{@link module:ControlFlow.times} but runs a maximum of `limit` async operations at a - * time. - * - * @name timesLimit - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.times]{@link module:ControlFlow.times} - * @category Control Flow - * @param {number} count - The number of times to run the function. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - The async function to call `n` times. - * Invoked with the iteration index and a callback: (n, next). - * @param {Function} callback - see [async.map]{@link module:Collections.map}. - */ -function timeLimit(count, limit, iteratee, callback) { - var _iteratee = wrapAsync(iteratee); - mapLimit(baseRange(0, count, 1), limit, _iteratee, callback); -} - -/** - * Calls the `iteratee` function `n` times, and accumulates results in the same - * manner you would use with [map]{@link module:Collections.map}. - * - * @name times - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.map]{@link module:Collections.map} - * @category Control Flow - * @param {number} n - The number of times to run the function. - * @param {AsyncFunction} iteratee - The async function to call `n` times. - * Invoked with the iteration index and a callback: (n, next). - * @param {Function} callback - see {@link module:Collections.map}. - * @example - * - * // 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 - * }); - */ -var times = doLimit(timeLimit, Infinity); - -/** - * The same as [times]{@link module:ControlFlow.times} but runs only a single async operation at a time. - * - * @name timesSeries - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.times]{@link module:ControlFlow.times} - * @category Control Flow - * @param {number} n - The number of times to run the function. - * @param {AsyncFunction} iteratee - The async function to call `n` times. - * Invoked with the iteration index and a callback: (n, next). - * @param {Function} callback - see {@link module:Collections.map}. - */ -var timesSeries = doLimit(timeLimit, 1); - -/** - * A relative of `reduce`. Takes an Object or Array, and iterates over each - * element in series, each step potentially mutating an `accumulator` value. - * The type of the accumulator defaults to the type of collection passed in. - * - * @name transform - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {*} [accumulator] - The initial state of the transform. If omitted, - * it will default to an empty Object or Array, depending on the type of `coll` - * @param {AsyncFunction} iteratee - A function applied to each item in the - * collection that potentially modifies the accumulator. - * Invoked with (accumulator, item, key, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the transformed accumulator. - * Invoked with (err, result). - * @example - * - * async.transform([1,2,3], function(acc, item, index, callback) { - * // pointless async: - * process.nextTick(function() { - * acc.push(item * 2) - * callback(null) - * }); - * }, function(err, result) { - * // result is now equal to [2, 4, 6] - * }); - * - * @example - * - * async.transform({a: 1, b: 2, c: 3}, function (obj, val, key, callback) { - * setImmediate(function () { - * obj[key] = val * 2; - * callback(); - * }) - * }, function (err, result) { - * // result is equal to {a: 2, b: 4, c: 6} - * }) - */ -function transform (coll, accumulator, iteratee, callback) { - if (arguments.length <= 3) { - callback = iteratee; - iteratee = accumulator; - accumulator = isArray(coll) ? [] : {}; - } - callback = once(callback || noop); - var _iteratee = wrapAsync(iteratee); - - eachOf(coll, function(v, k, cb) { - _iteratee(accumulator, v, k, cb); - }, function(err) { - callback(err, accumulator); - }); -} - -/** - * It runs each task in series but stops whenever any of the functions were - * successful. If one of the tasks were successful, the `callback` will be - * passed the result of the successful task. If all tasks fail, the callback - * will be passed the error and result (if any) of the final attempt. - * - * @name tryEach - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection 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. - * @param {Function} [callback] - An optional callback which is called when one - * of the tasks has succeeded, or all have failed. It receives the `err` and - * `result` arguments of the last attempt at completing the `task`. Invoked with - * (err, results). - * @example - * async.tryEach([ - * function getDataFromFirstWebsite(callback) { - * // Try getting the data from the first website - * callback(err, data); - * }, - * function getDataFromSecondWebsite(callback) { - * // First website failed, - * // Try getting the data from the backup website - * callback(err, data); - * } - * ], - * // optional callback - * function(err, results) { - * Now do something with the data. - * }); - * - */ -function tryEach(tasks, callback) { - var error = null; - var result; - callback = callback || noop; - eachSeries(tasks, function(task, callback) { - wrapAsync(task)(function (err, res/*, ...args*/) { - if (arguments.length > 2) { - result = slice(arguments, 1); - } else { - result = res; - } - error = err; - callback(!err); - }); - }, function () { - callback(error, result); - }); -} - -/** - * Undoes a [memoize]{@link module:Utils.memoize}d function, reverting it to the original, - * unmemoized form. Handy for testing. - * - * @name unmemoize - * @static - * @memberOf module:Utils - * @method - * @see [async.memoize]{@link module:Utils.memoize} - * @category Util - * @param {AsyncFunction} fn - the memoized function - * @returns {AsyncFunction} a function that calls the original unmemoized function - */ -function unmemoize(fn) { - return function () { - return (fn.unmemoized || fn).apply(null, arguments); - }; -} - -/** - * Repeatedly call `iteratee`, while `test` returns `true`. Calls `callback` when - * stopped, or an error occurs. - * - * @name whilst - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Function} test - synchronous truth test to perform before each - * execution of `iteratee`. Invoked with (). - * @param {AsyncFunction} iteratee - An async function which is called each time - * `test` passes. Invoked with (callback). - * @param {Function} [callback] - A callback which is called after the test - * function has failed and repeated execution of `iteratee` has stopped. `callback` - * will be passed an error and any arguments passed to the final `iteratee`'s - * callback. Invoked with (err, [results]); - * @returns undefined - * @example - * - * var count = 0; - * async.whilst( - * function() { return count < 5; }, - * function(callback) { - * count++; - * setTimeout(function() { - * callback(null, count); - * }, 1000); - * }, - * function (err, n) { - * // 5 seconds have passed, n = 5 - * } - * ); - */ -function whilst(test, iteratee, callback) { - callback = onlyOnce(callback || noop); - var _iteratee = wrapAsync(iteratee); - if (!test()) return callback(null); - var next = function(err/*, ...args*/) { - if (err) return callback(err); - if (test()) return _iteratee(next); - var args = slice(arguments, 1); - callback.apply(null, [null].concat(args)); - }; - _iteratee(next); -} - -/** - * Repeatedly call `iteratee` until `test` returns `true`. Calls `callback` when - * stopped, or an error occurs. `callback` will be passed an error and any - * arguments passed to the final `iteratee`'s callback. - * - * The inverse of [whilst]{@link module:ControlFlow.whilst}. - * - * @name until - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.whilst]{@link module:ControlFlow.whilst} - * @category Control Flow - * @param {Function} test - synchronous truth test to perform before each - * execution of `iteratee`. Invoked with (). - * @param {AsyncFunction} iteratee - An async function which is called each time - * `test` fails. Invoked with (callback). - * @param {Function} [callback] - A callback which is called after the test - * function has passed and repeated execution of `iteratee` has stopped. `callback` - * will be passed an error and any arguments passed to the final `iteratee`'s - * callback. Invoked with (err, [results]); - */ -function until(test, iteratee, callback) { - whilst(function() { - return !test.apply(this, arguments); - }, iteratee, 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. - * - * @name waterfall - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array} tasks - An array of [async functions]{@link AsyncFunction} - * to run. - * Each function should complete with any number of `result` values. - * The `result` values will be passed as arguments, in order, to the next task. - * @param {Function} [callback] - An optional callback to run once all the - * functions have completed. This will be passed the results of the last task's - * callback. Invoked with (err, [results]). - * @returns undefined - * @example - * - * 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' - * }); - * - * // Or, with named functions: - * async.waterfall([ - * myFirstFunction, - * mySecondFunction, - * myLastFunction, - * ], function (err, result) { - * // result now equals 'done' - * }); - * function myFirstFunction(callback) { - * callback(null, 'one', 'two'); - * } - * function mySecondFunction(arg1, arg2, callback) { - * // arg1 now equals 'one' and arg2 now equals 'two' - * callback(null, 'three'); - * } - * function myLastFunction(arg1, callback) { - * // arg1 now equals 'three' - * callback(null, 'done'); - * } - */ -var waterfall = function(tasks, callback) { - callback = once(callback || noop); - if (!isArray(tasks)) return callback(new Error('First argument to waterfall must be an array of functions')); - if (!tasks.length) return callback(); - var taskIndex = 0; - - function nextTask(args) { - var task = wrapAsync(tasks[taskIndex++]); - args.push(onlyOnce(next)); - task.apply(null, args); - } - - function next(err/*, ...args*/) { - if (err || taskIndex === tasks.length) { - return callback.apply(null, arguments); - } - nextTask(slice(arguments, 1)); - } - - nextTask([]); -}; - -/** - * An "async function" in the context of Async is an asynchronous function with - * a variable number of parameters, with the final parameter being a callback. - * (`function (arg1, arg2, ..., callback) {}`) - * The final callback is of the form `callback(err, results...)`, which must be - * called once the function is completed. The callback should be called with a - * Error as its first argument to signal that an error occurred. - * Otherwise, if no error occurred, it should be called with `null` as the first - * argument, and any additional `result` arguments that may apply, to signal - * successful completion. - * The callback must be called exactly once, ideally on a later tick of the - * JavaScript event loop. - * - * This type of function is also referred to as a "Node-style async function", - * or a "continuation passing-style function" (CPS). Most of the methods of this - * library are themselves CPS/Node-style async functions, or functions that - * return CPS/Node-style async functions. - * - * Wherever we accept a Node-style async function, we also directly accept an - * [ES2017 `async` function]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function}. - * In this case, the `async` function will not be passed a final callback - * argument, and any thrown error will be used as the `err` argument of the - * implicit callback, and the return value will be used as the `result` value. - * (i.e. a `rejected` of the returned Promise becomes the `err` callback - * argument, and a `resolved` value becomes the `result`.) - * - * Note, due to JavaScript limitations, we can only detect native `async` - * functions and not transpilied implementations. - * Your environment must have `async`/`await` support for this to work. - * (e.g. Node > v7.6, or a recent version of a modern browser). - * If you are using `async` functions through a transpiler (e.g. Babel), you - * must still wrap the function with [asyncify]{@link module:Utils.asyncify}, - * because the `async function` will be compiled to an ordinary function that - * returns a promise. - * - * @typedef {Function} AsyncFunction - * @static - */ - -/** - * 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 --save async`, it can also be used directly in the browser. - * @module async - * @see AsyncFunction - */ - - -/** - * A collection of `async` functions for manipulating collections, such as - * arrays and objects. - * @module Collections - */ - -/** - * A collection of `async` functions for controlling the flow through a script. - * @module ControlFlow - */ - -/** - * A collection of `async` utility functions. - * @module Utils - */ - -var index = { - apply: apply, - applyEach: applyEach, - applyEachSeries: applyEachSeries, - asyncify: asyncify, - auto: auto, - autoInject: autoInject, - cargo: cargo, - compose: compose, - concat: concat, - concatLimit: concatLimit, - concatSeries: concatSeries, - constant: constant, - detect: detect, - detectLimit: detectLimit, - detectSeries: detectSeries, - dir: dir, - doDuring: doDuring, - doUntil: doUntil, - doWhilst: doWhilst, - during: during, - each: eachLimit, - eachLimit: eachLimit$1, - eachOf: eachOf, - eachOfLimit: eachOfLimit, - eachOfSeries: eachOfSeries, - eachSeries: eachSeries, - ensureAsync: ensureAsync, - every: every, - everyLimit: everyLimit, - everySeries: everySeries, - filter: filter, - filterLimit: filterLimit, - filterSeries: filterSeries, - forever: forever, - groupBy: groupBy, - groupByLimit: groupByLimit, - groupBySeries: groupBySeries, - log: log, - map: map, - mapLimit: mapLimit, - mapSeries: mapSeries, - mapValues: mapValues, - mapValuesLimit: mapValuesLimit, - mapValuesSeries: mapValuesSeries, - memoize: memoize, - nextTick: nextTick, - parallel: parallelLimit, - parallelLimit: parallelLimit$1, - priorityQueue: priorityQueue, - queue: queue$1, - race: race, - reduce: reduce, - reduceRight: reduceRight, - reflect: reflect, - reflectAll: reflectAll, - reject: reject, - rejectLimit: rejectLimit, - rejectSeries: rejectSeries, - retry: retry, - retryable: retryable, - seq: seq, - series: series, - setImmediate: setImmediate$1, - some: some, - someLimit: someLimit, - someSeries: someSeries, - sortBy: sortBy, - timeout: timeout, - times: times, - timesLimit: timeLimit, - timesSeries: timesSeries, - transform: transform, - tryEach: tryEach, - unmemoize: unmemoize, - until: until, - waterfall: waterfall, - whilst: whilst, - - // aliases - all: every, - allLimit: everyLimit, - allSeries: everySeries, - any: some, - anyLimit: someLimit, - anySeries: someSeries, - find: detect, - findLimit: detectLimit, - findSeries: detectSeries, - forEach: eachLimit, - forEachSeries: eachSeries, - forEachLimit: eachLimit$1, - forEachOf: eachOf, - forEachOfSeries: eachOfSeries, - forEachOfLimit: eachOfLimit, - inject: reduce, - foldl: reduce, - foldr: reduceRight, - select: filter, - selectLimit: filterLimit, - selectSeries: filterSeries, - wrapSync: asyncify -}; - -exports['default'] = index; -exports.apply = apply; -exports.applyEach = applyEach; -exports.applyEachSeries = applyEachSeries; -exports.asyncify = asyncify; -exports.auto = auto; -exports.autoInject = autoInject; -exports.cargo = cargo; -exports.compose = compose; -exports.concat = concat; -exports.concatLimit = concatLimit; -exports.concatSeries = concatSeries; -exports.constant = constant; -exports.detect = detect; -exports.detectLimit = detectLimit; -exports.detectSeries = detectSeries; -exports.dir = dir; -exports.doDuring = doDuring; -exports.doUntil = doUntil; -exports.doWhilst = doWhilst; -exports.during = during; -exports.each = eachLimit; -exports.eachLimit = eachLimit$1; -exports.eachOf = eachOf; -exports.eachOfLimit = eachOfLimit; -exports.eachOfSeries = eachOfSeries; -exports.eachSeries = eachSeries; -exports.ensureAsync = ensureAsync; -exports.every = every; -exports.everyLimit = everyLimit; -exports.everySeries = everySeries; -exports.filter = filter; -exports.filterLimit = filterLimit; -exports.filterSeries = filterSeries; -exports.forever = forever; -exports.groupBy = groupBy; -exports.groupByLimit = groupByLimit; -exports.groupBySeries = groupBySeries; -exports.log = log; -exports.map = map; -exports.mapLimit = mapLimit; -exports.mapSeries = mapSeries; -exports.mapValues = mapValues; -exports.mapValuesLimit = mapValuesLimit; -exports.mapValuesSeries = mapValuesSeries; -exports.memoize = memoize; -exports.nextTick = nextTick; -exports.parallel = parallelLimit; -exports.parallelLimit = parallelLimit$1; -exports.priorityQueue = priorityQueue; -exports.queue = queue$1; -exports.race = race; -exports.reduce = reduce; -exports.reduceRight = reduceRight; -exports.reflect = reflect; -exports.reflectAll = reflectAll; -exports.reject = reject; -exports.rejectLimit = rejectLimit; -exports.rejectSeries = rejectSeries; -exports.retry = retry; -exports.retryable = retryable; -exports.seq = seq; -exports.series = series; -exports.setImmediate = setImmediate$1; -exports.some = some; -exports.someLimit = someLimit; -exports.someSeries = someSeries; -exports.sortBy = sortBy; -exports.timeout = timeout; -exports.times = times; -exports.timesLimit = timeLimit; -exports.timesSeries = timesSeries; -exports.transform = transform; -exports.tryEach = tryEach; -exports.unmemoize = unmemoize; -exports.until = until; -exports.waterfall = waterfall; -exports.whilst = whilst; -exports.all = every; -exports.allLimit = everyLimit; -exports.allSeries = everySeries; -exports.any = some; -exports.anyLimit = someLimit; -exports.anySeries = someSeries; -exports.find = detect; -exports.findLimit = detectLimit; -exports.findSeries = detectSeries; -exports.forEach = eachLimit; -exports.forEachSeries = eachSeries; -exports.forEachLimit = eachLimit$1; -exports.forEachOf = eachOf; -exports.forEachOfSeries = eachOfSeries; -exports.forEachOfLimit = eachOfLimit; -exports.inject = reduce; -exports.foldl = reduce; -exports.foldr = reduceRight; -exports.select = filter; -exports.selectLimit = filterLimit; -exports.selectSeries = filterSeries; -exports.wrapSync = asyncify; - -Object.defineProperty(exports, '__esModule', { value: true }); - -}))); diff --git a/res-pc/node_modules/async/dist/async.min.js b/res-pc/node_modules/async/dist/async.min.js deleted file mode 100644 index 7b8e87c1..00000000 --- a/res-pc/node_modules/async/dist/async.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(n.async=n.async||{})}(this,function(n){"use strict";function t(n,t){t|=0;for(var e=Math.max(n.length-t,0),r=Array(e),u=0;u-1&&n%1==0&&n<=Tt}function d(n){return null!=n&&v(n.length)&&!y(n)}function m(){}function g(n){return function(){if(null!==n){var t=n;n=null,t.apply(this,arguments)}}}function b(n,t){for(var e=-1,r=Array(n);++e-1&&n%1==0&&nu?0:u+t),e=e>u?u:e,e<0&&(e+=u),u=t>e?0:e-t>>>0,t>>>=0;for(var i=Array(u);++r=r?n:Z(n,t,e)}function tn(n,t){for(var e=n.length;e--&&J(t,n[e],0)>-1;);return e}function en(n,t){for(var e=-1,r=n.length;++e-1;);return e}function rn(n){return n.split("")}function un(n){return Xe.test(n)}function on(n){return n.match(mr)||[]}function cn(n){return un(n)?on(n):rn(n)}function fn(n){return null==n?"":Y(n)}function an(n,t,e){if(n=fn(n),n&&(e||void 0===t))return n.replace(gr,"");if(!n||!(t=Y(t)))return n;var r=cn(n),u=cn(t),i=en(r,u),o=tn(r,u)+1;return nn(r,i,o).join("")}function ln(n){return n=n.toString().replace(kr,""),n=n.match(br)[2].replace(" ",""),n=n?n.split(jr):[],n=n.map(function(n){return an(n.replace(Sr,""))})}function sn(n,t){var e={};N(n,function(n,t){function r(t,e){var r=K(u,function(n){return t[n]});r.push(e),a(n).apply(null,r)}var u,i=f(n),o=!i&&1===n.length||i&&0===n.length;if(Vt(n))u=n.slice(0,-1),n=n[n.length-1],e[t]=u.concat(u.length>0?r:n);else if(o)e[t]=n;else{if(u=ln(n),0===n.length&&!i&&0===u.length)throw new Error("autoInject task functions require explicit parameters.");i||u.pop(),e[t]=u.concat(r)}}),qe(e,t)}function pn(){this.head=this.tail=null,this.length=0}function hn(n,t){n.length=1,n.head=n.tail=t}function yn(n,t,e){function r(n,t,e){if(null!=e&&"function"!=typeof e)throw new Error("task callback must be a function");if(s.started=!0,Vt(n)||(n=[n]),0===n.length&&s.idle())return lt(function(){s.drain()});for(var r=0,u=n.length;r0&&c.splice(i,1),u.callback.apply(u,arguments),null!=t&&s.error(t,u.data)}o<=s.concurrency-s.buffer&&s.unsaturated(),s.idle()&&s.drain(),s.process()}}if(null==t)t=1;else if(0===t)throw new Error("Concurrency must not be zero");var i=a(n),o=0,c=[],f=!1,l=!1,s={_tasks:new pn,concurrency:t,payload:e,saturated:m,unsaturated:m,buffer:t/4,empty:m,drain:m,error:m,started:!1,paused:!1,push:function(n,t){r(n,!1,t)},kill:function(){s.drain=m,s._tasks.empty()},unshift:function(n,t){r(n,!0,t)},remove:function(n){s._tasks.remove(n)},process:function(){if(!l){for(l=!0;!s.paused&&o2&&(i=t(arguments,1)),u[e]=i,r(n)})},function(n){r(n,u)})}function Dn(n,t){qn(Ie,n,t)}function Rn(n,t,e){qn(z(t),n,e)}function Cn(n,t){if(t=g(t||m),!Vt(n))return t(new TypeError("First argument to race must be an array of functions"));if(!n.length)return t();for(var e=0,r=n.length;er?1:0}var u=a(t);_e(n,function(n,t){u(n,function(e,r){return e?t(e):void t(null,{value:n,criteria:r})})},function(n,t){return n?e(n):void e(null,K(t.sort(r),Fn("value")))})}function Xn(n,t,e){var r=a(n);return ct(function(u,i){function o(){var t=n.name||"anonymous",r=new Error('Callback function "'+t+'" timed out.');r.code="ETIMEDOUT",e&&(r.info=e),f=!0,i(r)}var c,f=!1;u.push(function(){f||(i.apply(null,arguments),clearTimeout(c))}),c=setTimeout(o,t),r.apply(null,u)})}function Yn(n,t,e,r){for(var u=-1,i=iu(uu((t-n)/(e||1)),0),o=Array(i);i--;)o[r?i:++u]=n,n+=e;return o}function Zn(n,t,e,r){var u=a(e);Ue(Yn(0,n,1),t,u,r)}function nt(n,t,e,r){arguments.length<=3&&(r=e,e=t,t=Vt(n)?[]:{}),r=g(r||m);var u=a(e);Ie(n,function(n,e,r){u(t,n,e,r)},function(n){r(n,t)})}function tt(n,e){var r,u=null;e=e||m,Ur(n,function(n,e){a(n)(function(n,i){r=arguments.length>2?t(arguments,1):i,u=n,e(!n)})},function(){e(u,r)})}function et(n){return function(){return(n.unmemoized||n).apply(null,arguments)}}function rt(n,e,r){r=U(r||m);var u=a(e);if(!n())return r(null);var i=function(e){if(e)return r(e);if(n())return u(i);var o=t(arguments,1);r.apply(null,[null].concat(o))};u(i)}function ut(n,t,e){rt(function(){return!n.apply(this,arguments)},t,e)}var it,ot=function(n){var e=t(arguments,1);return function(){var r=t(arguments);return n.apply(null,e.concat(r))}},ct=function(n){return function(){var e=t(arguments),r=e.pop();n.call(this,e,r)}},ft="function"==typeof setImmediate&&setImmediate,at="object"==typeof process&&"function"==typeof process.nextTick;it=ft?setImmediate:at?process.nextTick:r;var lt=u(it),st="function"==typeof Symbol,pt="object"==typeof global&&global&&global.Object===Object&&global,ht="object"==typeof self&&self&&self.Object===Object&&self,yt=pt||ht||Function("return this")(),vt=yt.Symbol,dt=Object.prototype,mt=dt.hasOwnProperty,gt=dt.toString,bt=vt?vt.toStringTag:void 0,jt=Object.prototype,St=jt.toString,kt="[object Null]",Lt="[object Undefined]",Ot=vt?vt.toStringTag:void 0,wt="[object AsyncFunction]",xt="[object Function]",Et="[object GeneratorFunction]",At="[object Proxy]",Tt=9007199254740991,Bt={},Ft="function"==typeof Symbol&&Symbol.iterator,It=function(n){return Ft&&n[Ft]&&n[Ft]()},_t="[object Arguments]",Mt=Object.prototype,Ut=Mt.hasOwnProperty,zt=Mt.propertyIsEnumerable,Pt=S(function(){return arguments}())?S:function(n){return j(n)&&Ut.call(n,"callee")&&!zt.call(n,"callee")},Vt=Array.isArray,qt="object"==typeof n&&n&&!n.nodeType&&n,Dt=qt&&"object"==typeof module&&module&&!module.nodeType&&module,Rt=Dt&&Dt.exports===qt,Ct=Rt?yt.Buffer:void 0,$t=Ct?Ct.isBuffer:void 0,Wt=$t||k,Nt=9007199254740991,Qt=/^(?:0|[1-9]\d*)$/,Gt="[object Arguments]",Ht="[object Array]",Jt="[object Boolean]",Kt="[object Date]",Xt="[object Error]",Yt="[object Function]",Zt="[object Map]",ne="[object Number]",te="[object Object]",ee="[object RegExp]",re="[object Set]",ue="[object String]",ie="[object WeakMap]",oe="[object ArrayBuffer]",ce="[object DataView]",fe="[object Float32Array]",ae="[object Float64Array]",le="[object Int8Array]",se="[object Int16Array]",pe="[object Int32Array]",he="[object Uint8Array]",ye="[object Uint8ClampedArray]",ve="[object Uint16Array]",de="[object Uint32Array]",me={};me[fe]=me[ae]=me[le]=me[se]=me[pe]=me[he]=me[ye]=me[ve]=me[de]=!0,me[Gt]=me[Ht]=me[oe]=me[Jt]=me[ce]=me[Kt]=me[Xt]=me[Yt]=me[Zt]=me[ne]=me[te]=me[ee]=me[re]=me[ue]=me[ie]=!1;var ge="object"==typeof n&&n&&!n.nodeType&&n,be=ge&&"object"==typeof module&&module&&!module.nodeType&&module,je=be&&be.exports===ge,Se=je&&pt.process,ke=function(){try{return Se&&Se.binding&&Se.binding("util")}catch(n){}}(),Le=ke&&ke.isTypedArray,Oe=Le?w(Le):O,we=Object.prototype,xe=we.hasOwnProperty,Ee=Object.prototype,Ae=A(Object.keys,Object),Te=Object.prototype,Be=Te.hasOwnProperty,Fe=V(P,1/0),Ie=function(n,t,e){var r=d(n)?q:Fe;r(n,a(t),e)},_e=D(R),Me=l(_e),Ue=C(R),ze=V(Ue,1),Pe=l(ze),Ve=W(),qe=function(n,e,r){function u(n,t){j.push(function(){f(n,t)})}function i(){if(0===j.length&&0===v)return r(null,y);for(;j.length&&v2&&(u=t(arguments,1)),e){var i={};N(y,function(n,t){i[t]=n}),i[n]=u,d=!0,b=Object.create(null),r(e,i)}else y[n]=u,c(n)});v++;var i=a(e[e.length-1]);e.length>1?i(y,u):i(u)}}function l(){for(var n,t=0;S.length;)n=S.pop(),t++,$(s(n),function(n){0===--k[n]&&S.push(n)});if(t!==h)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}function s(t){var e=[];return N(n,function(n,r){Vt(n)&&J(n,t,0)>=0&&e.push(r)}),e}"function"==typeof e&&(r=e,e=null),r=g(r||m);var p=B(n),h=p.length;if(!h)return r(null);e||(e=h);var y={},v=0,d=!1,b=Object.create(null),j=[],S=[],k={};N(n,function(t,e){if(!Vt(t))return u(e,[t]),void S.push(e);var r=t.slice(0,t.length-1),i=r.length;return 0===i?(u(e,t),void S.push(e)):(k[e]=i,void $(r,function(c){if(!n[c])throw new Error("async.auto task `"+e+"` has a non-existent dependency `"+c+"` in "+r.join(", "));o(c,function(){i--,0===i&&u(e,t)})}))}),l(),i()},De="[object Symbol]",Re=1/0,Ce=vt?vt.prototype:void 0,$e=Ce?Ce.toString:void 0,We="\\ud800-\\udfff",Ne="\\u0300-\\u036f",Qe="\\ufe20-\\ufe2f",Ge="\\u20d0-\\u20ff",He=Ne+Qe+Ge,Je="\\ufe0e\\ufe0f",Ke="\\u200d",Xe=RegExp("["+Ke+We+He+Je+"]"),Ye="\\ud800-\\udfff",Ze="\\u0300-\\u036f",nr="\\ufe20-\\ufe2f",tr="\\u20d0-\\u20ff",er=Ze+nr+tr,rr="\\ufe0e\\ufe0f",ur="["+Ye+"]",ir="["+er+"]",or="\\ud83c[\\udffb-\\udfff]",cr="(?:"+ir+"|"+or+")",fr="[^"+Ye+"]",ar="(?:\\ud83c[\\udde6-\\uddff]){2}",lr="[\\ud800-\\udbff][\\udc00-\\udfff]",sr="\\u200d",pr=cr+"?",hr="["+rr+"]?",yr="(?:"+sr+"(?:"+[fr,ar,lr].join("|")+")"+hr+pr+")*",vr=hr+pr+yr,dr="(?:"+[fr+ir+"?",ir,ar,lr,ur].join("|")+")",mr=RegExp(or+"(?="+or+")|"+dr+vr,"g"),gr=/^\s+|\s+$/g,br=/^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m,jr=/,/,Sr=/(=.+)?(\s*)$/,kr=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;pn.prototype.removeLink=function(n){return n.prev?n.prev.next=n.next:this.head=n.next,n.next?n.next.prev=n.prev:this.tail=n.prev,n.prev=n.next=null,this.length-=1,n},pn.prototype.empty=function(){for(;this.head;)this.shift();return this},pn.prototype.insertAfter=function(n,t){t.prev=n,t.next=n.next,n.next?n.next.prev=t:this.tail=t,n.next=t,this.length+=1},pn.prototype.insertBefore=function(n,t){t.prev=n.prev,t.next=n,n.prev?n.prev.next=t:this.head=t,n.prev=t,this.length+=1},pn.prototype.unshift=function(n){this.head?this.insertBefore(this.head,n):hn(this,n)},pn.prototype.push=function(n){this.tail?this.insertAfter(this.tail,n):hn(this,n)},pn.prototype.shift=function(){return this.head&&this.removeLink(this.head)},pn.prototype.pop=function(){return this.tail&&this.removeLink(this.tail)},pn.prototype.toArray=function(){for(var n=Array(this.length),t=this.head,e=0;e=u.priority;)u=u.next;for(var i=0,o=n.length;i 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'); - * } - * }); - */ -function eachLimit(coll, iteratee, callback) { - (0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/eachLimit.js b/res-pc/node_modules/async/eachLimit.js deleted file mode 100644 index fff721bc..00000000 --- a/res-pc/node_modules/async/eachLimit.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = eachLimit; - -var _eachOfLimit = require('./internal/eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _withoutIndex = require('./internal/withoutIndex'); - -var _withoutIndex2 = _interopRequireDefault(_withoutIndex); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`each`]{@link module:Collections.each} but runs a maximum of `limit` async operations at a time. - * - * @name eachLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.each]{@link module:Collections.each} - * @alias forEachLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The array index is not passed to the iteratee. - * If you need the index, use `eachOfLimit`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -function eachLimit(coll, limit, iteratee, callback) { - (0, _eachOfLimit2.default)(limit)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/eachOf.js b/res-pc/node_modules/async/eachOf.js deleted file mode 100644 index 055b9bde..00000000 --- a/res-pc/node_modules/async/eachOf.js +++ /dev/null @@ -1,111 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (coll, iteratee, callback) { - var eachOfImplementation = (0, _isArrayLike2.default)(coll) ? eachOfArrayLike : eachOfGeneric; - eachOfImplementation(coll, (0, _wrapAsync2.default)(iteratee), callback); -}; - -var _isArrayLike = require('lodash/isArrayLike'); - -var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - -var _breakLoop = require('./internal/breakLoop'); - -var _breakLoop2 = _interopRequireDefault(_breakLoop); - -var _eachOfLimit = require('./eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _onlyOnce = require('./internal/onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// eachOf implementation optimized for array-likes -function eachOfArrayLike(coll, iteratee, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - var index = 0, - completed = 0, - length = coll.length; - if (length === 0) { - callback(null); - } - - function iteratorCallback(err, value) { - if (err) { - callback(err); - } else if (++completed === length || value === _breakLoop2.default) { - callback(null); - } - } - - for (; index < length; index++) { - iteratee(coll[index], index, (0, _onlyOnce2.default)(iteratorCallback)); - } -} - -// a generic version of eachOf which can handle array, object, and iterator cases. -var eachOfGeneric = (0, _doLimit2.default)(_eachOfLimit2.default, Infinity); - -/** - * Like [`each`]{@link module:Collections.each}, except that it passes the key (or index) as the second argument - * to the iteratee. - * - * @name eachOf - * @static - * @memberOf module:Collections - * @method - * @alias forEachOf - * @category Collection - * @see [async.each]{@link module:Collections.each} - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - A function to apply to each - * item in `coll`. - * The `key` is the item's key, or index in the case of an array. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - * @example - * - * var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"}; - * var configs = {}; - * - * async.forEachOf(obj, function (value, key, callback) { - * fs.readFile(__dirname + value, "utf8", function (err, data) { - * if (err) return callback(err); - * try { - * configs[key] = JSON.parse(data); - * } catch (e) { - * return callback(e); - * } - * callback(); - * }); - * }, function (err) { - * if (err) console.error(err.message); - * // configs is now a map of JSON data - * doSomethingWith(configs); - * }); - */ -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/eachOfLimit.js b/res-pc/node_modules/async/eachOfLimit.js deleted file mode 100644 index 30a13299..00000000 --- a/res-pc/node_modules/async/eachOfLimit.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = eachOfLimit; - -var _eachOfLimit2 = require('./internal/eachOfLimit'); - -var _eachOfLimit3 = _interopRequireDefault(_eachOfLimit2); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`eachOf`]{@link module:Collections.eachOf} but runs a maximum of `limit` async operations at a - * time. - * - * @name eachOfLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.eachOf]{@link module:Collections.eachOf} - * @alias forEachOfLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each - * item in `coll`. The `key` is the item's key, or index in the case of an - * array. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -function eachOfLimit(coll, limit, iteratee, callback) { - (0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/eachOfSeries.js b/res-pc/node_modules/async/eachOfSeries.js deleted file mode 100644 index 9dfd7113..00000000 --- a/res-pc/node_modules/async/eachOfSeries.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _eachOfLimit = require('./eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`eachOf`]{@link module:Collections.eachOf} but runs only a single async operation at a time. - * - * @name eachOfSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.eachOf]{@link module:Collections.eachOf} - * @alias forEachOfSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Invoked with (err). - */ -exports.default = (0, _doLimit2.default)(_eachOfLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/eachSeries.js b/res-pc/node_modules/async/eachSeries.js deleted file mode 100644 index 55c78405..00000000 --- a/res-pc/node_modules/async/eachSeries.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _eachLimit = require('./eachLimit'); - -var _eachLimit2 = _interopRequireDefault(_eachLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`each`]{@link module:Collections.each} but runs only a single async operation at a time. - * - * @name eachSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.each]{@link module:Collections.each} - * @alias forEachSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each - * item in `coll`. - * The array index is not passed to the iteratee. - * If you need the index, use `eachOfSeries`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -exports.default = (0, _doLimit2.default)(_eachLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/ensureAsync.js b/res-pc/node_modules/async/ensureAsync.js deleted file mode 100644 index 1f57aecd..00000000 --- a/res-pc/node_modules/async/ensureAsync.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = ensureAsync; - -var _setImmediate = require('./internal/setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -var _initialParams = require('./internal/initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _wrapAsync = require('./internal/wrapAsync'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Wrap an async function and ensure it calls its callback on a later tick of - * the event loop. If the function already calls its callback on a next tick, - * no extra deferral is added. This is useful for preventing stack overflows - * (`RangeError: Maximum call stack size exceeded`) and generally keeping - * [Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony) - * contained. ES2017 `async` functions are returned as-is -- they are immune - * to Zalgo's corrupting influences, as they always resolve on a later tick. - * - * @name ensureAsync - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} fn - an async function, one that expects a node-style - * callback as its last argument. - * @returns {AsyncFunction} Returns a wrapped function with the exact same call - * signature as the function passed in. - * @example - * - * function sometimesAsync(arg, callback) { - * if (cache[arg]) { - * return callback(null, cache[arg]); // this would be synchronous!! - * } else { - * doSomeIO(arg, callback); // this IO would be asynchronous - * } - * } - * - * // this has a risk of stack overflows if many results are cached in a row - * async.mapSeries(args, sometimesAsync, done); - * - * // this will defer sometimesAsync's callback if necessary, - * // preventing stack overflows - * async.mapSeries(args, async.ensureAsync(sometimesAsync), done); - */ -function ensureAsync(fn) { - if ((0, _wrapAsync.isAsync)(fn)) return fn; - return (0, _initialParams2.default)(function (args, callback) { - var sync = true; - args.push(function () { - var innerArgs = arguments; - if (sync) { - (0, _setImmediate2.default)(function () { - callback.apply(null, innerArgs); - }); - } else { - callback.apply(null, innerArgs); - } - }); - fn.apply(this, args); - sync = false; - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/every.js b/res-pc/node_modules/async/every.js deleted file mode 100644 index d0565b04..00000000 --- a/res-pc/node_modules/async/every.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -var _notId = require('./internal/notId'); - -var _notId2 = _interopRequireDefault(_notId); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns `true` if every element in `coll` satisfies an async test. If any - * iteratee call returns `false`, the main `callback` is immediately called. - * - * @name every - * @static - * @memberOf module:Collections - * @method - * @alias all - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in parallel. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - * @example - * - * async.every(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // if result is true then every file exists - * }); - */ -exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_notId2.default, _notId2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/everyLimit.js b/res-pc/node_modules/async/everyLimit.js deleted file mode 100644 index a1a759a2..00000000 --- a/res-pc/node_modules/async/everyLimit.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -var _notId = require('./internal/notId'); - -var _notId2 = _interopRequireDefault(_notId); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`every`]{@link module:Collections.every} but runs a maximum of `limit` async operations at a time. - * - * @name everyLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.every]{@link module:Collections.every} - * @alias allLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in parallel. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - */ -exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_notId2.default, _notId2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/everySeries.js b/res-pc/node_modules/async/everySeries.js deleted file mode 100644 index 23bfebb5..00000000 --- a/res-pc/node_modules/async/everySeries.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _everyLimit = require('./everyLimit'); - -var _everyLimit2 = _interopRequireDefault(_everyLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`every`]{@link module:Collections.every} but runs only a single async operation at a time. - * - * @name everySeries - * @static - * @memberOf module:Collections - * @method - * @see [async.every]{@link module:Collections.every} - * @alias allSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collection in series. - * The iteratee must complete with a boolean result value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result will be either `true` or `false` - * depending on the values of the async tests. Invoked with (err, result). - */ -exports.default = (0, _doLimit2.default)(_everyLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/filter.js b/res-pc/node_modules/async/filter.js deleted file mode 100644 index 54772d56..00000000 --- a/res-pc/node_modules/async/filter.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _filter = require('./internal/filter'); - -var _filter2 = _interopRequireDefault(_filter); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns a new array of all the values in `coll` which pass an async truth - * test. This operation is performed in parallel, but the results array will be - * in the same order as the original. - * - * @name filter - * @static - * @memberOf module:Collections - * @method - * @alias select - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - * @example - * - * async.filter(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, results) { - * // results now equals an array of the existing files - * }); - */ -exports.default = (0, _doParallel2.default)(_filter2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/filterLimit.js b/res-pc/node_modules/async/filterLimit.js deleted file mode 100644 index 06216f78..00000000 --- a/res-pc/node_modules/async/filterLimit.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _filter = require('./internal/filter'); - -var _filter2 = _interopRequireDefault(_filter); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`filter`]{@link module:Collections.filter} but runs a maximum of `limit` async operations at a - * time. - * - * @name filterLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @alias selectLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - */ -exports.default = (0, _doParallelLimit2.default)(_filter2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/filterSeries.js b/res-pc/node_modules/async/filterSeries.js deleted file mode 100644 index e48d966c..00000000 --- a/res-pc/node_modules/async/filterSeries.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _filterLimit = require('./filterLimit'); - -var _filterLimit2 = _interopRequireDefault(_filterLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`filter`]{@link module:Collections.filter} but runs only a single async operation at a time. - * - * @name filterSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @alias selectSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results) - */ -exports.default = (0, _doLimit2.default)(_filterLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/find.js b/res-pc/node_modules/async/find.js deleted file mode 100644 index db467835..00000000 --- a/res-pc/node_modules/async/find.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _identity = require('lodash/identity'); - -var _identity2 = _interopRequireDefault(_identity); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -var _findGetResult = require('./internal/findGetResult'); - -var _findGetResult2 = _interopRequireDefault(_findGetResult); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns the first value in `coll` that passes an async truth test. The - * `iteratee` is applied in parallel, meaning the first iteratee to return - * `true` will fire the detect `callback` with that result. That means the - * result might not be the first item in the original `coll` (in terms of order) - * that passes the test. - - * If order within the original `coll` is important, then look at - * [`detectSeries`]{@link module:Collections.detectSeries}. - * - * @name detect - * @static - * @memberOf module:Collections - * @method - * @alias find - * @category Collections - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`. - * The iteratee must complete with a boolean value as its result. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the `iteratee` functions have finished. - * Result will be the first item in the array that passes the truth test - * (iteratee) or the value `undefined` if none passed. Invoked with - * (err, result). - * @example - * - * async.detect(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // result now equals the first file in the list that exists - * }); - */ -exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/findLimit.js b/res-pc/node_modules/async/findLimit.js deleted file mode 100644 index 6bf65602..00000000 --- a/res-pc/node_modules/async/findLimit.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _identity = require('lodash/identity'); - -var _identity2 = _interopRequireDefault(_identity); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -var _findGetResult = require('./internal/findGetResult'); - -var _findGetResult2 = _interopRequireDefault(_findGetResult); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`detect`]{@link module:Collections.detect} but runs a maximum of `limit` async operations at a - * time. - * - * @name detectLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.detect]{@link module:Collections.detect} - * @alias findLimit - * @category Collections - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`. - * The iteratee must complete with a boolean value as its result. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the `iteratee` functions have finished. - * Result will be the first item in the array that passes the truth test - * (iteratee) or the value `undefined` if none passed. Invoked with - * (err, result). - */ -exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/findSeries.js b/res-pc/node_modules/async/findSeries.js deleted file mode 100644 index 6fe16c95..00000000 --- a/res-pc/node_modules/async/findSeries.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _detectLimit = require('./detectLimit'); - -var _detectLimit2 = _interopRequireDefault(_detectLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`detect`]{@link module:Collections.detect} but runs only a single async operation at a time. - * - * @name detectSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.detect]{@link module:Collections.detect} - * @alias findSeries - * @category Collections - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - A truth test to apply to each item in `coll`. - * The iteratee must complete with a boolean value as its result. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the `iteratee` functions have finished. - * Result will be the first item in the array that passes the truth test - * (iteratee) or the value `undefined` if none passed. Invoked with - * (err, result). - */ -exports.default = (0, _doLimit2.default)(_detectLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/foldl.js b/res-pc/node_modules/async/foldl.js deleted file mode 100644 index 3fb8019e..00000000 --- a/res-pc/node_modules/async/foldl.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reduce; - -var _eachOfSeries = require('./eachOfSeries'); - -var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Reduces `coll` into a single value using an async `iteratee` 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. - * - * @name reduce - * @static - * @memberOf module:Collections - * @method - * @alias inject - * @alias foldl - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {*} memo - The initial state of the reduction. - * @param {AsyncFunction} iteratee - A function applied to each item in the - * array to produce the next step in the reduction. - * The `iteratee` should complete with the next state of the reduction. - * If the iteratee complete with an error, the reduction is stopped and the - * main `callback` is immediately called with the error. - * Invoked with (memo, item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the reduced value. Invoked with - * (err, result). - * @example - * - * 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 - * }); - */ -function reduce(coll, memo, iteratee, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - var _iteratee = (0, _wrapAsync2.default)(iteratee); - (0, _eachOfSeries2.default)(coll, function (x, i, callback) { - _iteratee(memo, x, function (err, v) { - memo = v; - callback(err); - }); - }, function (err) { - callback(err, memo); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/foldr.js b/res-pc/node_modules/async/foldr.js deleted file mode 100644 index 3d17d328..00000000 --- a/res-pc/node_modules/async/foldr.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reduceRight; - -var _reduce = require('./reduce'); - -var _reduce2 = _interopRequireDefault(_reduce); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Same as [`reduce`]{@link module:Collections.reduce}, only operates on `array` in reverse order. - * - * @name reduceRight - * @static - * @memberOf module:Collections - * @method - * @see [async.reduce]{@link module:Collections.reduce} - * @alias foldr - * @category Collection - * @param {Array} array - A collection to iterate over. - * @param {*} memo - The initial state of the reduction. - * @param {AsyncFunction} iteratee - A function applied to each item in the - * array to produce the next step in the reduction. - * The `iteratee` should complete with the next state of the reduction. - * If the iteratee complete with an error, the reduction is stopped and the - * main `callback` is immediately called with the error. - * Invoked with (memo, item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the reduced value. Invoked with - * (err, result). - */ -function reduceRight(array, memo, iteratee, callback) { - var reversed = (0, _slice2.default)(array).reverse(); - (0, _reduce2.default)(reversed, memo, iteratee, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/forEach.js b/res-pc/node_modules/async/forEach.js deleted file mode 100644 index 4b20af33..00000000 --- a/res-pc/node_modules/async/forEach.js +++ /dev/null @@ -1,82 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = eachLimit; - -var _eachOf = require('./eachOf'); - -var _eachOf2 = _interopRequireDefault(_eachOf); - -var _withoutIndex = require('./internal/withoutIndex'); - -var _withoutIndex2 = _interopRequireDefault(_withoutIndex); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Applies the function `iteratee` to each item in `coll`, in parallel. - * The `iteratee` is called with an item from the list, and a callback for when - * it has finished. If the `iteratee` 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 `iteratee` to each item in parallel, - * there is no guarantee that the iteratee functions will complete in order. - * - * @name each - * @static - * @memberOf module:Collections - * @method - * @alias forEach - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to - * each item in `coll`. Invoked with (item, callback). - * The array index is not passed to the iteratee. - * If you need the index, use `eachOf`. - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - * @example - * - * // 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 - * }); - * - * // 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'); - * } - * }); - */ -function eachLimit(coll, iteratee, callback) { - (0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/forEachLimit.js b/res-pc/node_modules/async/forEachLimit.js deleted file mode 100644 index fff721bc..00000000 --- a/res-pc/node_modules/async/forEachLimit.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = eachLimit; - -var _eachOfLimit = require('./internal/eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _withoutIndex = require('./internal/withoutIndex'); - -var _withoutIndex2 = _interopRequireDefault(_withoutIndex); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`each`]{@link module:Collections.each} but runs a maximum of `limit` async operations at a time. - * - * @name eachLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.each]{@link module:Collections.each} - * @alias forEachLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The array index is not passed to the iteratee. - * If you need the index, use `eachOfLimit`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -function eachLimit(coll, limit, iteratee, callback) { - (0, _eachOfLimit2.default)(limit)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/forEachOf.js b/res-pc/node_modules/async/forEachOf.js deleted file mode 100644 index 055b9bde..00000000 --- a/res-pc/node_modules/async/forEachOf.js +++ /dev/null @@ -1,111 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (coll, iteratee, callback) { - var eachOfImplementation = (0, _isArrayLike2.default)(coll) ? eachOfArrayLike : eachOfGeneric; - eachOfImplementation(coll, (0, _wrapAsync2.default)(iteratee), callback); -}; - -var _isArrayLike = require('lodash/isArrayLike'); - -var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - -var _breakLoop = require('./internal/breakLoop'); - -var _breakLoop2 = _interopRequireDefault(_breakLoop); - -var _eachOfLimit = require('./eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _onlyOnce = require('./internal/onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// eachOf implementation optimized for array-likes -function eachOfArrayLike(coll, iteratee, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - var index = 0, - completed = 0, - length = coll.length; - if (length === 0) { - callback(null); - } - - function iteratorCallback(err, value) { - if (err) { - callback(err); - } else if (++completed === length || value === _breakLoop2.default) { - callback(null); - } - } - - for (; index < length; index++) { - iteratee(coll[index], index, (0, _onlyOnce2.default)(iteratorCallback)); - } -} - -// a generic version of eachOf which can handle array, object, and iterator cases. -var eachOfGeneric = (0, _doLimit2.default)(_eachOfLimit2.default, Infinity); - -/** - * Like [`each`]{@link module:Collections.each}, except that it passes the key (or index) as the second argument - * to the iteratee. - * - * @name eachOf - * @static - * @memberOf module:Collections - * @method - * @alias forEachOf - * @category Collection - * @see [async.each]{@link module:Collections.each} - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - A function to apply to each - * item in `coll`. - * The `key` is the item's key, or index in the case of an array. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - * @example - * - * var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"}; - * var configs = {}; - * - * async.forEachOf(obj, function (value, key, callback) { - * fs.readFile(__dirname + value, "utf8", function (err, data) { - * if (err) return callback(err); - * try { - * configs[key] = JSON.parse(data); - * } catch (e) { - * return callback(e); - * } - * callback(); - * }); - * }, function (err) { - * if (err) console.error(err.message); - * // configs is now a map of JSON data - * doSomethingWith(configs); - * }); - */ -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/forEachOfLimit.js b/res-pc/node_modules/async/forEachOfLimit.js deleted file mode 100644 index 30a13299..00000000 --- a/res-pc/node_modules/async/forEachOfLimit.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = eachOfLimit; - -var _eachOfLimit2 = require('./internal/eachOfLimit'); - -var _eachOfLimit3 = _interopRequireDefault(_eachOfLimit2); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`eachOf`]{@link module:Collections.eachOf} but runs a maximum of `limit` async operations at a - * time. - * - * @name eachOfLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.eachOf]{@link module:Collections.eachOf} - * @alias forEachOfLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each - * item in `coll`. The `key` is the item's key, or index in the case of an - * array. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -function eachOfLimit(coll, limit, iteratee, callback) { - (0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/forEachOfSeries.js b/res-pc/node_modules/async/forEachOfSeries.js deleted file mode 100644 index 9dfd7113..00000000 --- a/res-pc/node_modules/async/forEachOfSeries.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _eachOfLimit = require('./eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`eachOf`]{@link module:Collections.eachOf} but runs only a single async operation at a time. - * - * @name eachOfSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.eachOf]{@link module:Collections.eachOf} - * @alias forEachOfSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * Invoked with (item, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Invoked with (err). - */ -exports.default = (0, _doLimit2.default)(_eachOfLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/forEachSeries.js b/res-pc/node_modules/async/forEachSeries.js deleted file mode 100644 index 55c78405..00000000 --- a/res-pc/node_modules/async/forEachSeries.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _eachLimit = require('./eachLimit'); - -var _eachLimit2 = _interopRequireDefault(_eachLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`each`]{@link module:Collections.each} but runs only a single async operation at a time. - * - * @name eachSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.each]{@link module:Collections.each} - * @alias forEachSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each - * item in `coll`. - * The array index is not passed to the iteratee. - * If you need the index, use `eachOfSeries`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all - * `iteratee` functions have finished, or an error occurs. Invoked with (err). - */ -exports.default = (0, _doLimit2.default)(_eachLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/forever.js b/res-pc/node_modules/async/forever.js deleted file mode 100644 index 6c7b8a4c..00000000 --- a/res-pc/node_modules/async/forever.js +++ /dev/null @@ -1,65 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = forever; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _onlyOnce = require('./internal/onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _ensureAsync = require('./ensureAsync'); - -var _ensureAsync2 = _interopRequireDefault(_ensureAsync); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * 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. - * - * @name forever - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {AsyncFunction} fn - an async function to call repeatedly. - * Invoked with (next). - * @param {Function} [errback] - when `fn` passes an error to it's callback, - * this function will be called, and execution stops. Invoked with (err). - * @example - * - * 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. - * } - * ); - */ -function forever(fn, errback) { - var done = (0, _onlyOnce2.default)(errback || _noop2.default); - var task = (0, _wrapAsync2.default)((0, _ensureAsync2.default)(fn)); - - function next(err) { - if (err) return done(err); - task(next); - } - next(); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/groupBy.js b/res-pc/node_modules/async/groupBy.js deleted file mode 100644 index 755cba76..00000000 --- a/res-pc/node_modules/async/groupBy.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -var _groupByLimit = require('./groupByLimit'); - -var _groupByLimit2 = _interopRequireDefault(_groupByLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns a new object, where each value corresponds to an array of items, from - * `coll`, that returned the corresponding key. That is, the keys of the object - * correspond to the values passed to the `iteratee` callback. - * - * Note: Since this function applies the `iteratee` to each item in parallel, - * there is no guarantee that the `iteratee` functions will complete in order. - * However, the values for each key in the `result` will be in the same order as - * the original `coll`. For Objects, the values will roughly be in the order of - * the original Objects' keys (but this can vary across JavaScript engines). - * - * @name groupBy - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a `key` to group the value under. - * Invoked with (value, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Result is an `Object` whoses - * properties are arrays of values which returned the corresponding key. - * @example - * - * async.groupBy(['userId1', 'userId2', 'userId3'], function(userId, callback) { - * db.findById(userId, function(err, user) { - * if (err) return callback(err); - * return callback(null, user.age); - * }); - * }, function(err, result) { - * // result is object containing the userIds grouped by age - * // e.g. { 30: ['userId1', 'userId3'], 42: ['userId2']}; - * }); - */ -exports.default = (0, _doLimit2.default)(_groupByLimit2.default, Infinity); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/groupByLimit.js b/res-pc/node_modules/async/groupByLimit.js deleted file mode 100644 index fec13f86..00000000 --- a/res-pc/node_modules/async/groupByLimit.js +++ /dev/null @@ -1,71 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (coll, limit, iteratee, callback) { - callback = callback || _noop2.default; - var _iteratee = (0, _wrapAsync2.default)(iteratee); - (0, _mapLimit2.default)(coll, limit, function (val, callback) { - _iteratee(val, function (err, key) { - if (err) return callback(err); - return callback(null, { key: key, val: val }); - }); - }, function (err, mapResults) { - var result = {}; - // from MDN, handle object having an `hasOwnProperty` prop - var hasOwnProperty = Object.prototype.hasOwnProperty; - - for (var i = 0; i < mapResults.length; i++) { - if (mapResults[i]) { - var key = mapResults[i].key; - var val = mapResults[i].val; - - if (hasOwnProperty.call(result, key)) { - result[key].push(val); - } else { - result[key] = [val]; - } - } - } - - return callback(err, result); - }); -}; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _mapLimit = require('./mapLimit'); - -var _mapLimit2 = _interopRequireDefault(_mapLimit); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -; -/** - * The same as [`groupBy`]{@link module:Collections.groupBy} but runs a maximum of `limit` async operations at a time. - * - * @name groupByLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.groupBy]{@link module:Collections.groupBy} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a `key` to group the value under. - * Invoked with (value, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Result is an `Object` whoses - * properties are arrays of values which returned the corresponding key. - */ -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/groupBySeries.js b/res-pc/node_modules/async/groupBySeries.js deleted file mode 100644 index b94805e3..00000000 --- a/res-pc/node_modules/async/groupBySeries.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -var _groupByLimit = require('./groupByLimit'); - -var _groupByLimit2 = _interopRequireDefault(_groupByLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`groupBy`]{@link module:Collections.groupBy} but runs only a single async operation at a time. - * - * @name groupBySeries - * @static - * @memberOf module:Collections - * @method - * @see [async.groupBy]{@link module:Collections.groupBy} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a `key` to group the value under. - * Invoked with (value, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Result is an `Object` whoses - * properties are arrays of values which returned the corresponding key. - */ -exports.default = (0, _doLimit2.default)(_groupByLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/index.js b/res-pc/node_modules/async/index.js deleted file mode 100644 index c39d8d8e..00000000 --- a/res-pc/node_modules/async/index.js +++ /dev/null @@ -1,582 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.wrapSync = exports.selectSeries = exports.selectLimit = exports.select = exports.foldr = exports.foldl = exports.inject = exports.forEachOfLimit = exports.forEachOfSeries = exports.forEachOf = exports.forEachLimit = exports.forEachSeries = exports.forEach = exports.findSeries = exports.findLimit = exports.find = exports.anySeries = exports.anyLimit = exports.any = exports.allSeries = exports.allLimit = exports.all = exports.whilst = exports.waterfall = exports.until = exports.unmemoize = exports.tryEach = exports.transform = exports.timesSeries = exports.timesLimit = exports.times = exports.timeout = exports.sortBy = exports.someSeries = exports.someLimit = exports.some = exports.setImmediate = exports.series = exports.seq = exports.retryable = exports.retry = exports.rejectSeries = exports.rejectLimit = exports.reject = exports.reflectAll = exports.reflect = exports.reduceRight = exports.reduce = exports.race = exports.queue = exports.priorityQueue = exports.parallelLimit = exports.parallel = exports.nextTick = exports.memoize = exports.mapValuesSeries = exports.mapValuesLimit = exports.mapValues = exports.mapSeries = exports.mapLimit = exports.map = exports.log = exports.groupBySeries = exports.groupByLimit = exports.groupBy = exports.forever = exports.filterSeries = exports.filterLimit = exports.filter = exports.everySeries = exports.everyLimit = exports.every = exports.ensureAsync = exports.eachSeries = exports.eachOfSeries = exports.eachOfLimit = exports.eachOf = exports.eachLimit = exports.each = exports.during = exports.doWhilst = exports.doUntil = exports.doDuring = exports.dir = exports.detectSeries = exports.detectLimit = exports.detect = exports.constant = exports.concatSeries = exports.concatLimit = exports.concat = exports.compose = exports.cargo = exports.autoInject = exports.auto = exports.asyncify = exports.applyEachSeries = exports.applyEach = exports.apply = undefined; - -var _apply = require('./apply'); - -var _apply2 = _interopRequireDefault(_apply); - -var _applyEach = require('./applyEach'); - -var _applyEach2 = _interopRequireDefault(_applyEach); - -var _applyEachSeries = require('./applyEachSeries'); - -var _applyEachSeries2 = _interopRequireDefault(_applyEachSeries); - -var _asyncify = require('./asyncify'); - -var _asyncify2 = _interopRequireDefault(_asyncify); - -var _auto = require('./auto'); - -var _auto2 = _interopRequireDefault(_auto); - -var _autoInject = require('./autoInject'); - -var _autoInject2 = _interopRequireDefault(_autoInject); - -var _cargo = require('./cargo'); - -var _cargo2 = _interopRequireDefault(_cargo); - -var _compose = require('./compose'); - -var _compose2 = _interopRequireDefault(_compose); - -var _concat = require('./concat'); - -var _concat2 = _interopRequireDefault(_concat); - -var _concatLimit = require('./concatLimit'); - -var _concatLimit2 = _interopRequireDefault(_concatLimit); - -var _concatSeries = require('./concatSeries'); - -var _concatSeries2 = _interopRequireDefault(_concatSeries); - -var _constant = require('./constant'); - -var _constant2 = _interopRequireDefault(_constant); - -var _detect = require('./detect'); - -var _detect2 = _interopRequireDefault(_detect); - -var _detectLimit = require('./detectLimit'); - -var _detectLimit2 = _interopRequireDefault(_detectLimit); - -var _detectSeries = require('./detectSeries'); - -var _detectSeries2 = _interopRequireDefault(_detectSeries); - -var _dir = require('./dir'); - -var _dir2 = _interopRequireDefault(_dir); - -var _doDuring = require('./doDuring'); - -var _doDuring2 = _interopRequireDefault(_doDuring); - -var _doUntil = require('./doUntil'); - -var _doUntil2 = _interopRequireDefault(_doUntil); - -var _doWhilst = require('./doWhilst'); - -var _doWhilst2 = _interopRequireDefault(_doWhilst); - -var _during = require('./during'); - -var _during2 = _interopRequireDefault(_during); - -var _each = require('./each'); - -var _each2 = _interopRequireDefault(_each); - -var _eachLimit = require('./eachLimit'); - -var _eachLimit2 = _interopRequireDefault(_eachLimit); - -var _eachOf = require('./eachOf'); - -var _eachOf2 = _interopRequireDefault(_eachOf); - -var _eachOfLimit = require('./eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _eachOfSeries = require('./eachOfSeries'); - -var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); - -var _eachSeries = require('./eachSeries'); - -var _eachSeries2 = _interopRequireDefault(_eachSeries); - -var _ensureAsync = require('./ensureAsync'); - -var _ensureAsync2 = _interopRequireDefault(_ensureAsync); - -var _every = require('./every'); - -var _every2 = _interopRequireDefault(_every); - -var _everyLimit = require('./everyLimit'); - -var _everyLimit2 = _interopRequireDefault(_everyLimit); - -var _everySeries = require('./everySeries'); - -var _everySeries2 = _interopRequireDefault(_everySeries); - -var _filter = require('./filter'); - -var _filter2 = _interopRequireDefault(_filter); - -var _filterLimit = require('./filterLimit'); - -var _filterLimit2 = _interopRequireDefault(_filterLimit); - -var _filterSeries = require('./filterSeries'); - -var _filterSeries2 = _interopRequireDefault(_filterSeries); - -var _forever = require('./forever'); - -var _forever2 = _interopRequireDefault(_forever); - -var _groupBy = require('./groupBy'); - -var _groupBy2 = _interopRequireDefault(_groupBy); - -var _groupByLimit = require('./groupByLimit'); - -var _groupByLimit2 = _interopRequireDefault(_groupByLimit); - -var _groupBySeries = require('./groupBySeries'); - -var _groupBySeries2 = _interopRequireDefault(_groupBySeries); - -var _log = require('./log'); - -var _log2 = _interopRequireDefault(_log); - -var _map = require('./map'); - -var _map2 = _interopRequireDefault(_map); - -var _mapLimit = require('./mapLimit'); - -var _mapLimit2 = _interopRequireDefault(_mapLimit); - -var _mapSeries = require('./mapSeries'); - -var _mapSeries2 = _interopRequireDefault(_mapSeries); - -var _mapValues = require('./mapValues'); - -var _mapValues2 = _interopRequireDefault(_mapValues); - -var _mapValuesLimit = require('./mapValuesLimit'); - -var _mapValuesLimit2 = _interopRequireDefault(_mapValuesLimit); - -var _mapValuesSeries = require('./mapValuesSeries'); - -var _mapValuesSeries2 = _interopRequireDefault(_mapValuesSeries); - -var _memoize = require('./memoize'); - -var _memoize2 = _interopRequireDefault(_memoize); - -var _nextTick = require('./nextTick'); - -var _nextTick2 = _interopRequireDefault(_nextTick); - -var _parallel = require('./parallel'); - -var _parallel2 = _interopRequireDefault(_parallel); - -var _parallelLimit = require('./parallelLimit'); - -var _parallelLimit2 = _interopRequireDefault(_parallelLimit); - -var _priorityQueue = require('./priorityQueue'); - -var _priorityQueue2 = _interopRequireDefault(_priorityQueue); - -var _queue = require('./queue'); - -var _queue2 = _interopRequireDefault(_queue); - -var _race = require('./race'); - -var _race2 = _interopRequireDefault(_race); - -var _reduce = require('./reduce'); - -var _reduce2 = _interopRequireDefault(_reduce); - -var _reduceRight = require('./reduceRight'); - -var _reduceRight2 = _interopRequireDefault(_reduceRight); - -var _reflect = require('./reflect'); - -var _reflect2 = _interopRequireDefault(_reflect); - -var _reflectAll = require('./reflectAll'); - -var _reflectAll2 = _interopRequireDefault(_reflectAll); - -var _reject = require('./reject'); - -var _reject2 = _interopRequireDefault(_reject); - -var _rejectLimit = require('./rejectLimit'); - -var _rejectLimit2 = _interopRequireDefault(_rejectLimit); - -var _rejectSeries = require('./rejectSeries'); - -var _rejectSeries2 = _interopRequireDefault(_rejectSeries); - -var _retry = require('./retry'); - -var _retry2 = _interopRequireDefault(_retry); - -var _retryable = require('./retryable'); - -var _retryable2 = _interopRequireDefault(_retryable); - -var _seq = require('./seq'); - -var _seq2 = _interopRequireDefault(_seq); - -var _series = require('./series'); - -var _series2 = _interopRequireDefault(_series); - -var _setImmediate = require('./setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -var _some = require('./some'); - -var _some2 = _interopRequireDefault(_some); - -var _someLimit = require('./someLimit'); - -var _someLimit2 = _interopRequireDefault(_someLimit); - -var _someSeries = require('./someSeries'); - -var _someSeries2 = _interopRequireDefault(_someSeries); - -var _sortBy = require('./sortBy'); - -var _sortBy2 = _interopRequireDefault(_sortBy); - -var _timeout = require('./timeout'); - -var _timeout2 = _interopRequireDefault(_timeout); - -var _times = require('./times'); - -var _times2 = _interopRequireDefault(_times); - -var _timesLimit = require('./timesLimit'); - -var _timesLimit2 = _interopRequireDefault(_timesLimit); - -var _timesSeries = require('./timesSeries'); - -var _timesSeries2 = _interopRequireDefault(_timesSeries); - -var _transform = require('./transform'); - -var _transform2 = _interopRequireDefault(_transform); - -var _tryEach = require('./tryEach'); - -var _tryEach2 = _interopRequireDefault(_tryEach); - -var _unmemoize = require('./unmemoize'); - -var _unmemoize2 = _interopRequireDefault(_unmemoize); - -var _until = require('./until'); - -var _until2 = _interopRequireDefault(_until); - -var _waterfall = require('./waterfall'); - -var _waterfall2 = _interopRequireDefault(_waterfall); - -var _whilst = require('./whilst'); - -var _whilst2 = _interopRequireDefault(_whilst); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = { - apply: _apply2.default, - applyEach: _applyEach2.default, - applyEachSeries: _applyEachSeries2.default, - asyncify: _asyncify2.default, - auto: _auto2.default, - autoInject: _autoInject2.default, - cargo: _cargo2.default, - compose: _compose2.default, - concat: _concat2.default, - concatLimit: _concatLimit2.default, - concatSeries: _concatSeries2.default, - constant: _constant2.default, - detect: _detect2.default, - detectLimit: _detectLimit2.default, - detectSeries: _detectSeries2.default, - dir: _dir2.default, - doDuring: _doDuring2.default, - doUntil: _doUntil2.default, - doWhilst: _doWhilst2.default, - during: _during2.default, - each: _each2.default, - eachLimit: _eachLimit2.default, - eachOf: _eachOf2.default, - eachOfLimit: _eachOfLimit2.default, - eachOfSeries: _eachOfSeries2.default, - eachSeries: _eachSeries2.default, - ensureAsync: _ensureAsync2.default, - every: _every2.default, - everyLimit: _everyLimit2.default, - everySeries: _everySeries2.default, - filter: _filter2.default, - filterLimit: _filterLimit2.default, - filterSeries: _filterSeries2.default, - forever: _forever2.default, - groupBy: _groupBy2.default, - groupByLimit: _groupByLimit2.default, - groupBySeries: _groupBySeries2.default, - log: _log2.default, - map: _map2.default, - mapLimit: _mapLimit2.default, - mapSeries: _mapSeries2.default, - mapValues: _mapValues2.default, - mapValuesLimit: _mapValuesLimit2.default, - mapValuesSeries: _mapValuesSeries2.default, - memoize: _memoize2.default, - nextTick: _nextTick2.default, - parallel: _parallel2.default, - parallelLimit: _parallelLimit2.default, - priorityQueue: _priorityQueue2.default, - queue: _queue2.default, - race: _race2.default, - reduce: _reduce2.default, - reduceRight: _reduceRight2.default, - reflect: _reflect2.default, - reflectAll: _reflectAll2.default, - reject: _reject2.default, - rejectLimit: _rejectLimit2.default, - rejectSeries: _rejectSeries2.default, - retry: _retry2.default, - retryable: _retryable2.default, - seq: _seq2.default, - series: _series2.default, - setImmediate: _setImmediate2.default, - some: _some2.default, - someLimit: _someLimit2.default, - someSeries: _someSeries2.default, - sortBy: _sortBy2.default, - timeout: _timeout2.default, - times: _times2.default, - timesLimit: _timesLimit2.default, - timesSeries: _timesSeries2.default, - transform: _transform2.default, - tryEach: _tryEach2.default, - unmemoize: _unmemoize2.default, - until: _until2.default, - waterfall: _waterfall2.default, - whilst: _whilst2.default, - - // aliases - all: _every2.default, - allLimit: _everyLimit2.default, - allSeries: _everySeries2.default, - any: _some2.default, - anyLimit: _someLimit2.default, - anySeries: _someSeries2.default, - find: _detect2.default, - findLimit: _detectLimit2.default, - findSeries: _detectSeries2.default, - forEach: _each2.default, - forEachSeries: _eachSeries2.default, - forEachLimit: _eachLimit2.default, - forEachOf: _eachOf2.default, - forEachOfSeries: _eachOfSeries2.default, - forEachOfLimit: _eachOfLimit2.default, - inject: _reduce2.default, - foldl: _reduce2.default, - foldr: _reduceRight2.default, - select: _filter2.default, - selectLimit: _filterLimit2.default, - selectSeries: _filterSeries2.default, - wrapSync: _asyncify2.default -}; /** - * An "async function" in the context of Async is an asynchronous function with - * a variable number of parameters, with the final parameter being a callback. - * (`function (arg1, arg2, ..., callback) {}`) - * The final callback is of the form `callback(err, results...)`, which must be - * called once the function is completed. The callback should be called with a - * Error as its first argument to signal that an error occurred. - * Otherwise, if no error occurred, it should be called with `null` as the first - * argument, and any additional `result` arguments that may apply, to signal - * successful completion. - * The callback must be called exactly once, ideally on a later tick of the - * JavaScript event loop. - * - * This type of function is also referred to as a "Node-style async function", - * or a "continuation passing-style function" (CPS). Most of the methods of this - * library are themselves CPS/Node-style async functions, or functions that - * return CPS/Node-style async functions. - * - * Wherever we accept a Node-style async function, we also directly accept an - * [ES2017 `async` function]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function}. - * In this case, the `async` function will not be passed a final callback - * argument, and any thrown error will be used as the `err` argument of the - * implicit callback, and the return value will be used as the `result` value. - * (i.e. a `rejected` of the returned Promise becomes the `err` callback - * argument, and a `resolved` value becomes the `result`.) - * - * Note, due to JavaScript limitations, we can only detect native `async` - * functions and not transpilied implementations. - * Your environment must have `async`/`await` support for this to work. - * (e.g. Node > v7.6, or a recent version of a modern browser). - * If you are using `async` functions through a transpiler (e.g. Babel), you - * must still wrap the function with [asyncify]{@link module:Utils.asyncify}, - * because the `async function` will be compiled to an ordinary function that - * returns a promise. - * - * @typedef {Function} AsyncFunction - * @static - */ - -/** - * 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 --save async`, it can also be used directly in the browser. - * @module async - * @see AsyncFunction - */ - -/** - * A collection of `async` functions for manipulating collections, such as - * arrays and objects. - * @module Collections - */ - -/** - * A collection of `async` functions for controlling the flow through a script. - * @module ControlFlow - */ - -/** - * A collection of `async` utility functions. - * @module Utils - */ - -exports.apply = _apply2.default; -exports.applyEach = _applyEach2.default; -exports.applyEachSeries = _applyEachSeries2.default; -exports.asyncify = _asyncify2.default; -exports.auto = _auto2.default; -exports.autoInject = _autoInject2.default; -exports.cargo = _cargo2.default; -exports.compose = _compose2.default; -exports.concat = _concat2.default; -exports.concatLimit = _concatLimit2.default; -exports.concatSeries = _concatSeries2.default; -exports.constant = _constant2.default; -exports.detect = _detect2.default; -exports.detectLimit = _detectLimit2.default; -exports.detectSeries = _detectSeries2.default; -exports.dir = _dir2.default; -exports.doDuring = _doDuring2.default; -exports.doUntil = _doUntil2.default; -exports.doWhilst = _doWhilst2.default; -exports.during = _during2.default; -exports.each = _each2.default; -exports.eachLimit = _eachLimit2.default; -exports.eachOf = _eachOf2.default; -exports.eachOfLimit = _eachOfLimit2.default; -exports.eachOfSeries = _eachOfSeries2.default; -exports.eachSeries = _eachSeries2.default; -exports.ensureAsync = _ensureAsync2.default; -exports.every = _every2.default; -exports.everyLimit = _everyLimit2.default; -exports.everySeries = _everySeries2.default; -exports.filter = _filter2.default; -exports.filterLimit = _filterLimit2.default; -exports.filterSeries = _filterSeries2.default; -exports.forever = _forever2.default; -exports.groupBy = _groupBy2.default; -exports.groupByLimit = _groupByLimit2.default; -exports.groupBySeries = _groupBySeries2.default; -exports.log = _log2.default; -exports.map = _map2.default; -exports.mapLimit = _mapLimit2.default; -exports.mapSeries = _mapSeries2.default; -exports.mapValues = _mapValues2.default; -exports.mapValuesLimit = _mapValuesLimit2.default; -exports.mapValuesSeries = _mapValuesSeries2.default; -exports.memoize = _memoize2.default; -exports.nextTick = _nextTick2.default; -exports.parallel = _parallel2.default; -exports.parallelLimit = _parallelLimit2.default; -exports.priorityQueue = _priorityQueue2.default; -exports.queue = _queue2.default; -exports.race = _race2.default; -exports.reduce = _reduce2.default; -exports.reduceRight = _reduceRight2.default; -exports.reflect = _reflect2.default; -exports.reflectAll = _reflectAll2.default; -exports.reject = _reject2.default; -exports.rejectLimit = _rejectLimit2.default; -exports.rejectSeries = _rejectSeries2.default; -exports.retry = _retry2.default; -exports.retryable = _retryable2.default; -exports.seq = _seq2.default; -exports.series = _series2.default; -exports.setImmediate = _setImmediate2.default; -exports.some = _some2.default; -exports.someLimit = _someLimit2.default; -exports.someSeries = _someSeries2.default; -exports.sortBy = _sortBy2.default; -exports.timeout = _timeout2.default; -exports.times = _times2.default; -exports.timesLimit = _timesLimit2.default; -exports.timesSeries = _timesSeries2.default; -exports.transform = _transform2.default; -exports.tryEach = _tryEach2.default; -exports.unmemoize = _unmemoize2.default; -exports.until = _until2.default; -exports.waterfall = _waterfall2.default; -exports.whilst = _whilst2.default; -exports.all = _every2.default; -exports.allLimit = _everyLimit2.default; -exports.allSeries = _everySeries2.default; -exports.any = _some2.default; -exports.anyLimit = _someLimit2.default; -exports.anySeries = _someSeries2.default; -exports.find = _detect2.default; -exports.findLimit = _detectLimit2.default; -exports.findSeries = _detectSeries2.default; -exports.forEach = _each2.default; -exports.forEachSeries = _eachSeries2.default; -exports.forEachLimit = _eachLimit2.default; -exports.forEachOf = _eachOf2.default; -exports.forEachOfSeries = _eachOfSeries2.default; -exports.forEachOfLimit = _eachOfLimit2.default; -exports.inject = _reduce2.default; -exports.foldl = _reduce2.default; -exports.foldr = _reduceRight2.default; -exports.select = _filter2.default; -exports.selectLimit = _filterLimit2.default; -exports.selectSeries = _filterSeries2.default; -exports.wrapSync = _asyncify2.default; \ No newline at end of file diff --git a/res-pc/node_modules/async/inject.js b/res-pc/node_modules/async/inject.js deleted file mode 100644 index 3fb8019e..00000000 --- a/res-pc/node_modules/async/inject.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reduce; - -var _eachOfSeries = require('./eachOfSeries'); - -var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Reduces `coll` into a single value using an async `iteratee` 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. - * - * @name reduce - * @static - * @memberOf module:Collections - * @method - * @alias inject - * @alias foldl - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {*} memo - The initial state of the reduction. - * @param {AsyncFunction} iteratee - A function applied to each item in the - * array to produce the next step in the reduction. - * The `iteratee` should complete with the next state of the reduction. - * If the iteratee complete with an error, the reduction is stopped and the - * main `callback` is immediately called with the error. - * Invoked with (memo, item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the reduced value. Invoked with - * (err, result). - * @example - * - * 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 - * }); - */ -function reduce(coll, memo, iteratee, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - var _iteratee = (0, _wrapAsync2.default)(iteratee); - (0, _eachOfSeries2.default)(coll, function (x, i, callback) { - _iteratee(memo, x, function (err, v) { - memo = v; - callback(err); - }); - }, function (err) { - callback(err, memo); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/DoublyLinkedList.js b/res-pc/node_modules/async/internal/DoublyLinkedList.js deleted file mode 100644 index 7e71728e..00000000 --- a/res-pc/node_modules/async/internal/DoublyLinkedList.js +++ /dev/null @@ -1,88 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = DLL; -// Simple doubly linked list (https://en.wikipedia.org/wiki/Doubly_linked_list) implementation -// used for queues. This implementation assumes that the node provided by the user can be modified -// to adjust the next and last properties. We implement only the minimal functionality -// for queue support. -function DLL() { - this.head = this.tail = null; - this.length = 0; -} - -function setInitial(dll, node) { - dll.length = 1; - dll.head = dll.tail = node; -} - -DLL.prototype.removeLink = function (node) { - if (node.prev) node.prev.next = node.next;else this.head = node.next; - if (node.next) node.next.prev = node.prev;else this.tail = node.prev; - - node.prev = node.next = null; - this.length -= 1; - return node; -}; - -DLL.prototype.empty = function () { - while (this.head) this.shift(); - return this; -}; - -DLL.prototype.insertAfter = function (node, newNode) { - newNode.prev = node; - newNode.next = node.next; - if (node.next) node.next.prev = newNode;else this.tail = newNode; - node.next = newNode; - this.length += 1; -}; - -DLL.prototype.insertBefore = function (node, newNode) { - newNode.prev = node.prev; - newNode.next = node; - if (node.prev) node.prev.next = newNode;else this.head = newNode; - node.prev = newNode; - this.length += 1; -}; - -DLL.prototype.unshift = function (node) { - if (this.head) this.insertBefore(this.head, node);else setInitial(this, node); -}; - -DLL.prototype.push = function (node) { - if (this.tail) this.insertAfter(this.tail, node);else setInitial(this, node); -}; - -DLL.prototype.shift = function () { - return this.head && this.removeLink(this.head); -}; - -DLL.prototype.pop = function () { - return this.tail && this.removeLink(this.tail); -}; - -DLL.prototype.toArray = function () { - var arr = Array(this.length); - var curr = this.head; - for (var idx = 0; idx < this.length; idx++) { - arr[idx] = curr.data; - curr = curr.next; - } - return arr; -}; - -DLL.prototype.remove = function (testFn) { - var curr = this.head; - while (!!curr) { - var next = curr.next; - if (testFn(curr)) { - this.removeLink(curr); - } - curr = next; - } - return this; -}; -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/applyEach.js b/res-pc/node_modules/async/internal/applyEach.js deleted file mode 100644 index 322e03ca..00000000 --- a/res-pc/node_modules/async/internal/applyEach.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = applyEach; - -var _slice = require('./slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _initialParams = require('./initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function applyEach(eachfn) { - return function (fns /*, ...args*/) { - var args = (0, _slice2.default)(arguments, 1); - var go = (0, _initialParams2.default)(function (args, callback) { - var that = this; - return eachfn(fns, function (fn, cb) { - (0, _wrapAsync2.default)(fn).apply(that, args.concat(cb)); - }, callback); - }); - if (args.length) { - return go.apply(this, args); - } else { - return go; - } - }; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/breakLoop.js b/res-pc/node_modules/async/internal/breakLoop.js deleted file mode 100644 index 10650582..00000000 --- a/res-pc/node_modules/async/internal/breakLoop.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -// A temporary value used to identify if the loop should be broken. -// See #1064, #1293 -exports.default = {}; -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/consoleFunc.js b/res-pc/node_modules/async/internal/consoleFunc.js deleted file mode 100644 index 603f48e8..00000000 --- a/res-pc/node_modules/async/internal/consoleFunc.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = consoleFunc; - -var _arrayEach = require('lodash/_arrayEach'); - -var _arrayEach2 = _interopRequireDefault(_arrayEach); - -var _slice = require('./slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function consoleFunc(name) { - return function (fn /*, ...args*/) { - var args = (0, _slice2.default)(arguments, 1); - args.push(function (err /*, ...args*/) { - var args = (0, _slice2.default)(arguments, 1); - if (typeof console === 'object') { - if (err) { - if (console.error) { - console.error(err); - } - } else if (console[name]) { - (0, _arrayEach2.default)(args, function (x) { - console[name](x); - }); - } - } - }); - (0, _wrapAsync2.default)(fn).apply(null, args); - }; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/createTester.js b/res-pc/node_modules/async/internal/createTester.js deleted file mode 100644 index ce96e8b4..00000000 --- a/res-pc/node_modules/async/internal/createTester.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _createTester; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _breakLoop = require('./breakLoop'); - -var _breakLoop2 = _interopRequireDefault(_breakLoop); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _createTester(check, getResult) { - return function (eachfn, arr, iteratee, cb) { - cb = cb || _noop2.default; - var testPassed = false; - var testResult; - eachfn(arr, function (value, _, callback) { - iteratee(value, function (err, result) { - if (err) { - callback(err); - } else if (check(result) && !testResult) { - testPassed = true; - testResult = getResult(true, value); - callback(null, _breakLoop2.default); - } else { - callback(); - } - }); - }, function (err) { - if (err) { - cb(err); - } else { - cb(null, testPassed ? testResult : getResult(false)); - } - }); - }; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/doLimit.js b/res-pc/node_modules/async/internal/doLimit.js deleted file mode 100644 index 963c6088..00000000 --- a/res-pc/node_modules/async/internal/doLimit.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = doLimit; -function doLimit(fn, limit) { - return function (iterable, iteratee, callback) { - return fn(iterable, limit, iteratee, callback); - }; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/doParallel.js b/res-pc/node_modules/async/internal/doParallel.js deleted file mode 100644 index bb402077..00000000 --- a/res-pc/node_modules/async/internal/doParallel.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = doParallel; - -var _eachOf = require('../eachOf'); - -var _eachOf2 = _interopRequireDefault(_eachOf); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function doParallel(fn) { - return function (obj, iteratee, callback) { - return fn(_eachOf2.default, obj, (0, _wrapAsync2.default)(iteratee), callback); - }; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/doParallelLimit.js b/res-pc/node_modules/async/internal/doParallelLimit.js deleted file mode 100644 index a7e963d5..00000000 --- a/res-pc/node_modules/async/internal/doParallelLimit.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = doParallelLimit; - -var _eachOfLimit = require('./eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function doParallelLimit(fn) { - return function (obj, limit, iteratee, callback) { - return fn((0, _eachOfLimit2.default)(limit), obj, (0, _wrapAsync2.default)(iteratee), callback); - }; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/eachOfLimit.js b/res-pc/node_modules/async/internal/eachOfLimit.js deleted file mode 100644 index e4c74bb1..00000000 --- a/res-pc/node_modules/async/internal/eachOfLimit.js +++ /dev/null @@ -1,71 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _eachOfLimit; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./once'); - -var _once2 = _interopRequireDefault(_once); - -var _iterator = require('./iterator'); - -var _iterator2 = _interopRequireDefault(_iterator); - -var _onlyOnce = require('./onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _breakLoop = require('./breakLoop'); - -var _breakLoop2 = _interopRequireDefault(_breakLoop); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _eachOfLimit(limit) { - return function (obj, iteratee, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - if (limit <= 0 || !obj) { - return callback(null); - } - var nextElem = (0, _iterator2.default)(obj); - var done = false; - var running = 0; - - function iterateeCallback(err, value) { - running -= 1; - if (err) { - done = true; - callback(err); - } else if (value === _breakLoop2.default || done && running <= 0) { - done = true; - return callback(null); - } else { - replenish(); - } - } - - function replenish() { - while (running < limit && !done) { - var elem = nextElem(); - if (elem === null) { - done = true; - if (running <= 0) { - callback(null); - } - return; - } - running += 1; - iteratee(elem.value, elem.key, (0, _onlyOnce2.default)(iterateeCallback)); - } - } - - replenish(); - }; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/filter.js b/res-pc/node_modules/async/internal/filter.js deleted file mode 100644 index 74f39863..00000000 --- a/res-pc/node_modules/async/internal/filter.js +++ /dev/null @@ -1,75 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _filter; - -var _arrayMap = require('lodash/_arrayMap'); - -var _arrayMap2 = _interopRequireDefault(_arrayMap); - -var _isArrayLike = require('lodash/isArrayLike'); - -var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - -var _baseProperty = require('lodash/_baseProperty'); - -var _baseProperty2 = _interopRequireDefault(_baseProperty); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function filterArray(eachfn, arr, iteratee, callback) { - var truthValues = new Array(arr.length); - eachfn(arr, function (x, index, callback) { - iteratee(x, function (err, v) { - truthValues[index] = !!v; - callback(err); - }); - }, function (err) { - if (err) return callback(err); - var results = []; - for (var i = 0; i < arr.length; i++) { - if (truthValues[i]) results.push(arr[i]); - } - callback(null, results); - }); -} - -function filterGeneric(eachfn, coll, iteratee, callback) { - var results = []; - eachfn(coll, function (x, index, callback) { - iteratee(x, function (err, v) { - if (err) { - callback(err); - } else { - if (v) { - results.push({ index: index, value: x }); - } - callback(); - } - }); - }, function (err) { - if (err) { - callback(err); - } else { - callback(null, (0, _arrayMap2.default)(results.sort(function (a, b) { - return a.index - b.index; - }), (0, _baseProperty2.default)('value'))); - } - }); -} - -function _filter(eachfn, coll, iteratee, callback) { - var filter = (0, _isArrayLike2.default)(coll) ? filterArray : filterGeneric; - filter(eachfn, coll, (0, _wrapAsync2.default)(iteratee), callback || _noop2.default); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/findGetResult.js b/res-pc/node_modules/async/internal/findGetResult.js deleted file mode 100644 index f8d3fe06..00000000 --- a/res-pc/node_modules/async/internal/findGetResult.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _findGetResult; -function _findGetResult(v, x) { - return x; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/getIterator.js b/res-pc/node_modules/async/internal/getIterator.js deleted file mode 100644 index 3eadd24d..00000000 --- a/res-pc/node_modules/async/internal/getIterator.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (coll) { - return iteratorSymbol && coll[iteratorSymbol] && coll[iteratorSymbol](); -}; - -var iteratorSymbol = typeof Symbol === 'function' && Symbol.iterator; - -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/initialParams.js b/res-pc/node_modules/async/internal/initialParams.js deleted file mode 100644 index df02cb1f..00000000 --- a/res-pc/node_modules/async/internal/initialParams.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (fn) { - return function () /*...args, callback*/{ - var args = (0, _slice2.default)(arguments); - var callback = args.pop(); - fn.call(this, args, callback); - }; -}; - -var _slice = require('./slice'); - -var _slice2 = _interopRequireDefault(_slice); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/iterator.js b/res-pc/node_modules/async/internal/iterator.js deleted file mode 100644 index 3d32942f..00000000 --- a/res-pc/node_modules/async/internal/iterator.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = iterator; - -var _isArrayLike = require('lodash/isArrayLike'); - -var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - -var _getIterator = require('./getIterator'); - -var _getIterator2 = _interopRequireDefault(_getIterator); - -var _keys = require('lodash/keys'); - -var _keys2 = _interopRequireDefault(_keys); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function createArrayIterator(coll) { - var i = -1; - var len = coll.length; - return function next() { - return ++i < len ? { value: coll[i], key: i } : null; - }; -} - -function createES2015Iterator(iterator) { - var i = -1; - return function next() { - var item = iterator.next(); - if (item.done) return null; - i++; - return { value: item.value, key: i }; - }; -} - -function createObjectIterator(obj) { - var okeys = (0, _keys2.default)(obj); - var i = -1; - var len = okeys.length; - return function next() { - var key = okeys[++i]; - return i < len ? { value: obj[key], key: key } : null; - }; -} - -function iterator(coll) { - if ((0, _isArrayLike2.default)(coll)) { - return createArrayIterator(coll); - } - - var iterator = (0, _getIterator2.default)(coll); - return iterator ? createES2015Iterator(iterator) : createObjectIterator(coll); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/map.js b/res-pc/node_modules/async/internal/map.js deleted file mode 100644 index f4f2aa59..00000000 --- a/res-pc/node_modules/async/internal/map.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _asyncMap; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _asyncMap(eachfn, arr, iteratee, callback) { - callback = callback || _noop2.default; - arr = arr || []; - var results = []; - var counter = 0; - var _iteratee = (0, _wrapAsync2.default)(iteratee); - - eachfn(arr, function (value, _, callback) { - var index = counter++; - _iteratee(value, function (err, v) { - results[index] = v; - callback(err); - }); - }, function (err) { - callback(err, results); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/notId.js b/res-pc/node_modules/async/internal/notId.js deleted file mode 100644 index 0106c92c..00000000 --- a/res-pc/node_modules/async/internal/notId.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = notId; -function notId(v) { - return !v; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/once.js b/res-pc/node_modules/async/internal/once.js deleted file mode 100644 index f0c379f7..00000000 --- a/res-pc/node_modules/async/internal/once.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = once; -function once(fn) { - return function () { - if (fn === null) return; - var callFn = fn; - fn = null; - callFn.apply(this, arguments); - }; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/onlyOnce.js b/res-pc/node_modules/async/internal/onlyOnce.js deleted file mode 100644 index f2e3001d..00000000 --- a/res-pc/node_modules/async/internal/onlyOnce.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = onlyOnce; -function onlyOnce(fn) { - return function () { - if (fn === null) throw new Error("Callback was already called."); - var callFn = fn; - fn = null; - callFn.apply(this, arguments); - }; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/parallel.js b/res-pc/node_modules/async/internal/parallel.js deleted file mode 100644 index c97293b6..00000000 --- a/res-pc/node_modules/async/internal/parallel.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _parallel; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _isArrayLike = require('lodash/isArrayLike'); - -var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - -var _slice = require('./slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _parallel(eachfn, tasks, callback) { - callback = callback || _noop2.default; - var results = (0, _isArrayLike2.default)(tasks) ? [] : {}; - - eachfn(tasks, function (task, key, callback) { - (0, _wrapAsync2.default)(task)(function (err, result) { - if (arguments.length > 2) { - result = (0, _slice2.default)(arguments, 1); - } - results[key] = result; - callback(err); - }); - }, function (err) { - callback(err, results); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/queue.js b/res-pc/node_modules/async/internal/queue.js deleted file mode 100644 index 19534a74..00000000 --- a/res-pc/node_modules/async/internal/queue.js +++ /dev/null @@ -1,204 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = queue; - -var _baseIndexOf = require('lodash/_baseIndexOf'); - -var _baseIndexOf2 = _interopRequireDefault(_baseIndexOf); - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _onlyOnce = require('./onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _setImmediate = require('./setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -var _DoublyLinkedList = require('./DoublyLinkedList'); - -var _DoublyLinkedList2 = _interopRequireDefault(_DoublyLinkedList); - -var _wrapAsync = require('./wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function queue(worker, concurrency, payload) { - if (concurrency == null) { - concurrency = 1; - } else if (concurrency === 0) { - throw new Error('Concurrency must not be zero'); - } - - var _worker = (0, _wrapAsync2.default)(worker); - var numRunning = 0; - var workersList = []; - - var processingScheduled = false; - function _insert(data, insertAtFront, callback) { - if (callback != null && typeof callback !== 'function') { - throw new Error('task callback must be a function'); - } - q.started = true; - if (!(0, _isArray2.default)(data)) { - data = [data]; - } - if (data.length === 0 && q.idle()) { - // call drain immediately if there are no tasks - return (0, _setImmediate2.default)(function () { - q.drain(); - }); - } - - for (var i = 0, l = data.length; i < l; i++) { - var item = { - data: data[i], - callback: callback || _noop2.default - }; - - if (insertAtFront) { - q._tasks.unshift(item); - } else { - q._tasks.push(item); - } - } - - if (!processingScheduled) { - processingScheduled = true; - (0, _setImmediate2.default)(function () { - processingScheduled = false; - q.process(); - }); - } - } - - function _next(tasks) { - return function (err) { - numRunning -= 1; - - for (var i = 0, l = tasks.length; i < l; i++) { - var task = tasks[i]; - - var index = (0, _baseIndexOf2.default)(workersList, task, 0); - if (index === 0) { - workersList.shift(); - } else if (index > 0) { - workersList.splice(index, 1); - } - - task.callback.apply(task, arguments); - - if (err != null) { - q.error(err, task.data); - } - } - - if (numRunning <= q.concurrency - q.buffer) { - q.unsaturated(); - } - - if (q.idle()) { - q.drain(); - } - q.process(); - }; - } - - var isProcessing = false; - var q = { - _tasks: new _DoublyLinkedList2.default(), - concurrency: concurrency, - payload: payload, - saturated: _noop2.default, - unsaturated: _noop2.default, - buffer: concurrency / 4, - empty: _noop2.default, - drain: _noop2.default, - error: _noop2.default, - started: false, - paused: false, - push: function (data, callback) { - _insert(data, false, callback); - }, - kill: function () { - q.drain = _noop2.default; - q._tasks.empty(); - }, - unshift: function (data, callback) { - _insert(data, true, callback); - }, - remove: function (testFn) { - q._tasks.remove(testFn); - }, - process: function () { - // Avoid trying to start too many processing operations. This can occur - // when callbacks resolve synchronously (#1267). - if (isProcessing) { - return; - } - isProcessing = true; - while (!q.paused && numRunning < q.concurrency && q._tasks.length) { - var tasks = [], - data = []; - var l = q._tasks.length; - if (q.payload) l = Math.min(l, q.payload); - for (var i = 0; i < l; i++) { - var node = q._tasks.shift(); - tasks.push(node); - workersList.push(node); - data.push(node.data); - } - - numRunning += 1; - - if (q._tasks.length === 0) { - q.empty(); - } - - if (numRunning === q.concurrency) { - q.saturated(); - } - - var cb = (0, _onlyOnce2.default)(_next(tasks)); - _worker(data, cb); - } - isProcessing = false; - }, - length: function () { - return q._tasks.length; - }, - running: function () { - return numRunning; - }, - workersList: function () { - return workersList; - }, - idle: function () { - return q._tasks.length + numRunning === 0; - }, - pause: function () { - q.paused = true; - }, - resume: function () { - if (q.paused === false) { - return; - } - q.paused = false; - (0, _setImmediate2.default)(q.process); - } - }; - return q; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/reject.js b/res-pc/node_modules/async/internal/reject.js deleted file mode 100644 index 5dbfcfb1..00000000 --- a/res-pc/node_modules/async/internal/reject.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reject; - -var _filter = require('./filter'); - -var _filter2 = _interopRequireDefault(_filter); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function reject(eachfn, arr, iteratee, callback) { - (0, _filter2.default)(eachfn, arr, function (value, cb) { - iteratee(value, function (err, v) { - cb(err, !v); - }); - }, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/setImmediate.js b/res-pc/node_modules/async/internal/setImmediate.js deleted file mode 100644 index 3545f2bc..00000000 --- a/res-pc/node_modules/async/internal/setImmediate.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.hasNextTick = exports.hasSetImmediate = undefined; -exports.fallback = fallback; -exports.wrap = wrap; - -var _slice = require('./slice'); - -var _slice2 = _interopRequireDefault(_slice); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var hasSetImmediate = exports.hasSetImmediate = typeof setImmediate === 'function' && setImmediate; -var hasNextTick = exports.hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function'; - -function fallback(fn) { - setTimeout(fn, 0); -} - -function wrap(defer) { - return function (fn /*, ...args*/) { - var args = (0, _slice2.default)(arguments, 1); - defer(function () { - fn.apply(null, args); - }); - }; -} - -var _defer; - -if (hasSetImmediate) { - _defer = setImmediate; -} else if (hasNextTick) { - _defer = process.nextTick; -} else { - _defer = fallback; -} - -exports.default = wrap(_defer); \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/slice.js b/res-pc/node_modules/async/internal/slice.js deleted file mode 100644 index 56f10c03..00000000 --- a/res-pc/node_modules/async/internal/slice.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = slice; -function slice(arrayLike, start) { - start = start | 0; - var newLen = Math.max(arrayLike.length - start, 0); - var newArr = Array(newLen); - for (var idx = 0; idx < newLen; idx++) { - newArr[idx] = arrayLike[start + idx]; - } - return newArr; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/withoutIndex.js b/res-pc/node_modules/async/internal/withoutIndex.js deleted file mode 100644 index 2bd35796..00000000 --- a/res-pc/node_modules/async/internal/withoutIndex.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _withoutIndex; -function _withoutIndex(iteratee) { - return function (value, index, callback) { - return iteratee(value, callback); - }; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/internal/wrapAsync.js b/res-pc/node_modules/async/internal/wrapAsync.js deleted file mode 100644 index bc6c9666..00000000 --- a/res-pc/node_modules/async/internal/wrapAsync.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isAsync = undefined; - -var _asyncify = require('../asyncify'); - -var _asyncify2 = _interopRequireDefault(_asyncify); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var supportsSymbol = typeof Symbol === 'function'; - -function isAsync(fn) { - return supportsSymbol && fn[Symbol.toStringTag] === 'AsyncFunction'; -} - -function wrapAsync(asyncFn) { - return isAsync(asyncFn) ? (0, _asyncify2.default)(asyncFn) : asyncFn; -} - -exports.default = wrapAsync; -exports.isAsync = isAsync; \ No newline at end of file diff --git a/res-pc/node_modules/async/log.js b/res-pc/node_modules/async/log.js deleted file mode 100644 index c643867b..00000000 --- a/res-pc/node_modules/async/log.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _consoleFunc = require('./internal/consoleFunc'); - -var _consoleFunc2 = _interopRequireDefault(_consoleFunc); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * 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. - * - * @name log - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} function - The function you want to eventually apply - * all arguments to. - * @param {...*} arguments... - Any number of arguments to apply to the function. - * @example - * - * // in a module - * var hello = function(name, callback) { - * setTimeout(function() { - * callback(null, 'hello ' + name); - * }, 1000); - * }; - * - * // in the node repl - * node> async.log(hello, 'world'); - * 'hello world' - */ -exports.default = (0, _consoleFunc2.default)('log'); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/map.js b/res-pc/node_modules/async/map.js deleted file mode 100644 index 67c9cda9..00000000 --- a/res-pc/node_modules/async/map.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -var _map = require('./internal/map'); - -var _map2 = _interopRequireDefault(_map); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Produces a new collection of values by mapping each value in `coll` through - * the `iteratee` function. The `iteratee` is called with an item from `coll` - * and a callback for when it has finished processing. Each of these callback - * takes 2 arguments: an `error`, and the transformed item from `coll`. If - * `iteratee` passes an error to its callback, the main `callback` (for the - * `map` function) is immediately called with the error. - * - * Note, that since this function applies the `iteratee` to each item in - * parallel, there is no guarantee that the `iteratee` functions will complete - * in order. However, the results array will be in the same order as the - * original `coll`. - * - * If `map` is passed an Object, the results will be an Array. The results - * will roughly be in the order of the original Objects' keys (but this can - * vary across JavaScript engines). - * - * @name map - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with the transformed item. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Results is an Array of the - * transformed items from the `coll`. Invoked with (err, results). - * @example - * - * async.map(['file1','file2','file3'], fs.stat, function(err, results) { - * // results is now an array of stats for each file - * }); - */ -exports.default = (0, _doParallel2.default)(_map2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/mapLimit.js b/res-pc/node_modules/async/mapLimit.js deleted file mode 100644 index c8b60d8d..00000000 --- a/res-pc/node_modules/async/mapLimit.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -var _map = require('./internal/map'); - -var _map2 = _interopRequireDefault(_map); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`map`]{@link module:Collections.map} but runs a maximum of `limit` async operations at a time. - * - * @name mapLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.map]{@link module:Collections.map} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with the transformed item. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Results is an array of the - * transformed items from the `coll`. Invoked with (err, results). - */ -exports.default = (0, _doParallelLimit2.default)(_map2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/mapSeries.js b/res-pc/node_modules/async/mapSeries.js deleted file mode 100644 index 61b42d01..00000000 --- a/res-pc/node_modules/async/mapSeries.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _mapLimit = require('./mapLimit'); - -var _mapLimit2 = _interopRequireDefault(_mapLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`map`]{@link module:Collections.map} but runs only a single async operation at a time. - * - * @name mapSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.map]{@link module:Collections.map} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with the transformed item. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. Results is an array of the - * transformed items from the `coll`. Invoked with (err, results). - */ -exports.default = (0, _doLimit2.default)(_mapLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/mapValues.js b/res-pc/node_modules/async/mapValues.js deleted file mode 100644 index 3d838ca1..00000000 --- a/res-pc/node_modules/async/mapValues.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _mapValuesLimit = require('./mapValuesLimit'); - -var _mapValuesLimit2 = _interopRequireDefault(_mapValuesLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * A relative of [`map`]{@link module:Collections.map}, designed for use with objects. - * - * Produces a new Object by mapping each value of `obj` through the `iteratee` - * function. The `iteratee` is called each `value` and `key` from `obj` and a - * callback for when it has finished processing. Each of these callbacks takes - * two arguments: an `error`, and the transformed item from `obj`. If `iteratee` - * passes an error to its callback, the main `callback` (for the `mapValues` - * function) is immediately called with the error. - * - * Note, the order of the keys in the result is not guaranteed. The keys will - * be roughly in the order they complete, (but this is very engine-specific) - * - * @name mapValues - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Object} obj - A collection to iterate over. - * @param {AsyncFunction} iteratee - A function to apply to each value and key - * in `coll`. - * The iteratee should complete with the transformed value as its result. - * Invoked with (value, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. `result` is a new object consisting - * of each key from `obj`, with each transformed value on the right-hand side. - * Invoked with (err, result). - * @example - * - * async.mapValues({ - * f1: 'file1', - * f2: 'file2', - * f3: 'file3' - * }, function (file, key, callback) { - * fs.stat(file, callback); - * }, function(err, result) { - * // result is now a map of stats for each file, e.g. - * // { - * // f1: [stats for file1], - * // f2: [stats for file2], - * // f3: [stats for file3] - * // } - * }); - */ - -exports.default = (0, _doLimit2.default)(_mapValuesLimit2.default, Infinity); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/mapValuesLimit.js b/res-pc/node_modules/async/mapValuesLimit.js deleted file mode 100644 index 912a8b52..00000000 --- a/res-pc/node_modules/async/mapValuesLimit.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = mapValuesLimit; - -var _eachOfLimit = require('./eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`mapValues`]{@link module:Collections.mapValues} but runs a maximum of `limit` async operations at a - * time. - * - * @name mapValuesLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.mapValues]{@link module:Collections.mapValues} - * @category Collection - * @param {Object} obj - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - A function to apply to each value and key - * in `coll`. - * The iteratee should complete with the transformed value as its result. - * Invoked with (value, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. `result` is a new object consisting - * of each key from `obj`, with each transformed value on the right-hand side. - * Invoked with (err, result). - */ -function mapValuesLimit(obj, limit, iteratee, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - var newObj = {}; - var _iteratee = (0, _wrapAsync2.default)(iteratee); - (0, _eachOfLimit2.default)(obj, limit, function (val, key, next) { - _iteratee(val, key, function (err, result) { - if (err) return next(err); - newObj[key] = result; - next(); - }); - }, function (err) { - callback(err, newObj); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/mapValuesSeries.js b/res-pc/node_modules/async/mapValuesSeries.js deleted file mode 100644 index b378c4a1..00000000 --- a/res-pc/node_modules/async/mapValuesSeries.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _mapValuesLimit = require('./mapValuesLimit'); - -var _mapValuesLimit2 = _interopRequireDefault(_mapValuesLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`mapValues`]{@link module:Collections.mapValues} but runs only a single async operation at a time. - * - * @name mapValuesSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.mapValues]{@link module:Collections.mapValues} - * @category Collection - * @param {Object} obj - A collection to iterate over. - * @param {AsyncFunction} iteratee - A function to apply to each value and key - * in `coll`. - * The iteratee should complete with the transformed value as its result. - * Invoked with (value, key, callback). - * @param {Function} [callback] - A callback which is called when all `iteratee` - * functions have finished, or an error occurs. `result` is a new object consisting - * of each key from `obj`, with each transformed value on the right-hand side. - * Invoked with (err, result). - */ -exports.default = (0, _doLimit2.default)(_mapValuesLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/memoize.js b/res-pc/node_modules/async/memoize.js deleted file mode 100644 index 1f2b5669..00000000 --- a/res-pc/node_modules/async/memoize.js +++ /dev/null @@ -1,101 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = memoize; - -var _identity = require('lodash/identity'); - -var _identity2 = _interopRequireDefault(_identity); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _setImmediate = require('./internal/setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -var _initialParams = require('./internal/initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function has(obj, key) { - return key in obj; -} - -/** - * 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. - * - * If no hash function is specified, the first argument is used as a hash key, - * which may work reasonably if it is a string or a data type that converts to a - * distinct string. Note that objects and arrays will not behave reasonably. - * Neither will cases where the other arguments are significant. In such cases, - * specify your own hash function. - * - * The cache of results is exposed as the `memo` property of the function - * returned by `memoize`. - * - * @name memoize - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} fn - The async function to proxy and cache results from. - * @param {Function} hasher - An 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. - * @returns {AsyncFunction} a memoized version of `fn` - * @example - * - * 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 - * }); - */ -function memoize(fn, hasher) { - var memo = Object.create(null); - var queues = Object.create(null); - hasher = hasher || _identity2.default; - var _fn = (0, _wrapAsync2.default)(fn); - var memoized = (0, _initialParams2.default)(function memoized(args, callback) { - var key = hasher.apply(null, args); - if (has(memo, key)) { - (0, _setImmediate2.default)(function () { - callback.apply(null, memo[key]); - }); - } else if (has(queues, key)) { - queues[key].push(callback); - } else { - queues[key] = [callback]; - _fn.apply(null, args.concat(function () /*args*/{ - var args = (0, _slice2.default)(arguments); - memo[key] = args; - var q = queues[key]; - delete queues[key]; - for (var i = 0, l = q.length; i < l; i++) { - q[i].apply(null, args); - } - })); - } - }); - memoized.memo = memo; - memoized.unmemoized = fn; - return memoized; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/nextTick.js b/res-pc/node_modules/async/nextTick.js deleted file mode 100644 index 826495d9..00000000 --- a/res-pc/node_modules/async/nextTick.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _setImmediate = require('./internal/setImmediate'); - -/** - * Calls `callback` on a later loop around the event loop. In Node.js this just - * calls `process.nextTicl`. In the browser it will use `setImmediate` 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. - * - * @name nextTick - * @static - * @memberOf module:Utils - * @method - * @see [async.setImmediate]{@link module:Utils.setImmediate} - * @category Util - * @param {Function} callback - The function to call on a later loop around - * the event loop. Invoked with (args...). - * @param {...*} args... - any number of additional arguments to pass to the - * callback on the next tick. - * @example - * - * var call_order = []; - * async.nextTick(function() { - * call_order.push('two'); - * // call_order now equals ['one','two'] - * }); - * call_order.push('one'); - * - * async.setImmediate(function (a, b, c) { - * // a, b, and c equal 1, 2, and 3 - * }, 1, 2, 3); - */ -var _defer; - -if (_setImmediate.hasNextTick) { - _defer = process.nextTick; -} else if (_setImmediate.hasSetImmediate) { - _defer = setImmediate; -} else { - _defer = _setImmediate.fallback; -} - -exports.default = (0, _setImmediate.wrap)(_defer); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/package.json b/res-pc/node_modules/async/package.json deleted file mode 100644 index ead93988..00000000 --- a/res-pc/node_modules/async/package.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_from": "async@^2.1.2", - "_id": "async@2.6.0", - "_inBundle": false, - "_integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "_location": "/async", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "async@^2.1.2", - "name": "async", - "escapedName": "async", - "rawSpec": "^2.1.2", - "saveSpec": null, - "fetchSpec": "^2.1.2" - }, - "_requiredBy": [ - "/avrgirl-arduino" - ], - "_resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "_shasum": "61a29abb6fcc026fea77e56d1c6ec53a795951f4", - "_spec": "async@^2.1.2", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/avrgirl-arduino", - "author": { - "name": "Caolan McMahon" - }, - "bugs": { - "url": "https://github.com/caolan/async/issues" - }, - "bundleDependencies": false, - "dependencies": { - "lodash": "^4.14.0" - }, - "deprecated": false, - "description": "Higher-order functions and common patterns for asynchronous code", - "devDependencies": { - "babel-cli": "^6.24.0", - "babel-core": "^6.24.0", - "babel-plugin-add-module-exports": "^0.2.1", - "babel-plugin-istanbul": "^2.0.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.3.16", - "babel-preset-es2015": "^6.3.13", - "babel-preset-es2017": "^6.22.0", - "babelify": "^7.2.0", - "benchmark": "^2.1.1", - "bluebird": "^3.4.6", - "chai": "^3.1.0", - "cheerio": "^0.22.0", - "coveralls": "^2.11.2", - "es6-promise": "^2.3.0", - "eslint": "^2.13.1", - "fs-extra": "^0.26.7", - "gh-pages-deploy": "^0.4.2", - "jsdoc": "^3.4.0", - "karma": "^1.3.0", - "karma-browserify": "^5.1.0", - "karma-firefox-launcher": "^1.0.0", - "karma-mocha": "^1.2.0", - "karma-mocha-reporter": "^2.2.0", - "mocha": "^3.1.2", - "native-promise-only": "^0.8.0-a", - "nyc": "^7.0.0", - "recursive-readdir": "^1.3.0", - "rimraf": "^2.5.0", - "rollup": "^0.36.3", - "rollup-plugin-node-resolve": "^2.0.0", - "rollup-plugin-npm": "^2.0.0", - "rsvp": "^3.0.18", - "semver": "^4.3.6", - "uglify-js": "~2.7.3", - "vinyl-buffer": "^1.0.0", - "vinyl-source-stream": "^1.1.0", - "watchify": "^3.7.0", - "yargs": "~3.9.1" - }, - "gh-pages-deploy": { - "staticpath": "docs" - }, - "homepage": "https://caolan.github.io/async/", - "keywords": [ - "async", - "callback", - "module", - "utility" - ], - "license": "MIT", - "main": "dist/async.js", - "name": "async", - "nyc": { - "exclude": [ - "mocha_test" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/caolan/async.git" - }, - "scripts": { - "coverage": "nyc npm run mocha-node-test -- --grep @nycinvalid --invert", - "coveralls": "npm run coverage && nyc report --reporter=text-lcov | coveralls", - "jsdoc": "jsdoc -c ./support/jsdoc/jsdoc.json && node support/jsdoc/jsdoc-fix-html.js", - "lint": "eslint lib/ mocha_test/ perf/memory.js perf/suites.js perf/benchmark.js support/build/ support/*.js karma.conf.js", - "mocha-browser-test": "karma start", - "mocha-node-test": "mocha mocha_test/ --compilers js:babel-core/register", - "mocha-test": "npm run mocha-node-test && npm run mocha-browser-test", - "test": "npm run lint && npm run mocha-node-test" - }, - "version": "2.6.0" -} diff --git a/res-pc/node_modules/async/parallel.js b/res-pc/node_modules/async/parallel.js deleted file mode 100644 index da28a4de..00000000 --- a/res-pc/node_modules/async/parallel.js +++ /dev/null @@ -1,90 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = parallelLimit; - -var _eachOf = require('./eachOf'); - -var _eachOf2 = _interopRequireDefault(_eachOf); - -var _parallel = require('./internal/parallel'); - -var _parallel2 = _interopRequireDefault(_parallel); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Run the `tasks` collection 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. - * - * **Note:** `parallel` is about kicking-off I/O tasks in parallel, not about - * parallel execution of code. If your tasks do not use any timers or perform - * any I/O, they will actually be executed in series. Any synchronous setup - * sections for each task will happen one after the other. JavaScript remains - * single-threaded. - * - * **Hint:** Use [`reflect`]{@link module:Utils.reflect} to continue the - * execution of other tasks when a task fails. - * - * 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 {@link async.parallel}. - * - * @name parallel - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection of - * [async functions]{@link AsyncFunction} to run. - * Each async function can complete with any number of optional `result` values. - * @param {Function} [callback] - An optional callback to run once all the - * functions have completed successfully. This function gets a results array - * (or object) containing all the result arguments passed to the task callbacks. - * Invoked with (err, results). - * - * @example - * 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} - * }); - */ -function parallelLimit(tasks, callback) { - (0, _parallel2.default)(_eachOf2.default, tasks, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/parallelLimit.js b/res-pc/node_modules/async/parallelLimit.js deleted file mode 100644 index a026526f..00000000 --- a/res-pc/node_modules/async/parallelLimit.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = parallelLimit; - -var _eachOfLimit = require('./internal/eachOfLimit'); - -var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - -var _parallel = require('./internal/parallel'); - -var _parallel2 = _interopRequireDefault(_parallel); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`parallel`]{@link module:ControlFlow.parallel} but runs a maximum of `limit` async operations at a - * time. - * - * @name parallelLimit - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.parallel]{@link module:ControlFlow.parallel} - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection of - * [async functions]{@link AsyncFunction} to run. - * Each async function can complete with any number of optional `result` values. - * @param {number} limit - The maximum number of async operations at a time. - * @param {Function} [callback] - An optional callback to run once all the - * functions have completed successfully. This function gets a results array - * (or object) containing all the result arguments passed to the task callbacks. - * Invoked with (err, results). - */ -function parallelLimit(tasks, limit, callback) { - (0, _parallel2.default)((0, _eachOfLimit2.default)(limit), tasks, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/priorityQueue.js b/res-pc/node_modules/async/priorityQueue.js deleted file mode 100644 index 3a5f023e..00000000 --- a/res-pc/node_modules/async/priorityQueue.js +++ /dev/null @@ -1,98 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (worker, concurrency) { - // Start with a normal queue - var q = (0, _queue2.default)(worker, concurrency); - - // Override push to accept second parameter representing priority - q.push = function (data, priority, callback) { - if (callback == null) callback = _noop2.default; - if (typeof callback !== 'function') { - throw new Error('task callback must be a function'); - } - q.started = true; - if (!(0, _isArray2.default)(data)) { - data = [data]; - } - if (data.length === 0) { - // call drain immediately if there are no tasks - return (0, _setImmediate2.default)(function () { - q.drain(); - }); - } - - priority = priority || 0; - var nextNode = q._tasks.head; - while (nextNode && priority >= nextNode.priority) { - nextNode = nextNode.next; - } - - for (var i = 0, l = data.length; i < l; i++) { - var item = { - data: data[i], - priority: priority, - callback: callback - }; - - if (nextNode) { - q._tasks.insertBefore(nextNode, item); - } else { - q._tasks.push(item); - } - } - (0, _setImmediate2.default)(q.process); - }; - - // Remove unshift function - delete q.unshift; - - return q; -}; - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _setImmediate = require('./setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -var _queue = require('./queue'); - -var _queue2 = _interopRequireDefault(_queue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -module.exports = exports['default']; - -/** - * The same as [async.queue]{@link module:ControlFlow.queue} only tasks are assigned a priority and - * completed in ascending priority order. - * - * @name priorityQueue - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.queue]{@link module:ControlFlow.queue} - * @category Control Flow - * @param {AsyncFunction} worker - An async function for processing a queued task. - * If you want to handle errors from an individual task, pass a callback to - * `q.push()`. - * Invoked with (task, callback). - * @param {number} concurrency - An `integer` for determining how many `worker` - * functions should be run in parallel. If omitted, the concurrency defaults to - * `1`. If the concurrency is `0`, an error is thrown. - * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. 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. - */ \ No newline at end of file diff --git a/res-pc/node_modules/async/queue.js b/res-pc/node_modules/async/queue.js deleted file mode 100644 index 0ca8ba2b..00000000 --- a/res-pc/node_modules/async/queue.js +++ /dev/null @@ -1,130 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (worker, concurrency) { - var _worker = (0, _wrapAsync2.default)(worker); - return (0, _queue2.default)(function (items, cb) { - _worker(items[0], cb); - }, concurrency, 1); -}; - -var _queue = require('./internal/queue'); - -var _queue2 = _interopRequireDefault(_queue); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -module.exports = exports['default']; - -/** - * A queue of tasks for the worker function to complete. - * @typedef {Object} QueueObject - * @memberOf module:ControlFlow - * @property {Function} length - a function returning the number of items - * waiting to be processed. Invoke with `queue.length()`. - * @property {boolean} started - a boolean indicating whether or not any - * items have been pushed and processed by the queue. - * @property {Function} running - a function returning the number of items - * currently being processed. Invoke with `queue.running()`. - * @property {Function} workersList - a function returning the array of items - * currently being processed. Invoke with `queue.workersList()`. - * @property {Function} idle - a function returning false if there are items - * waiting or being processed, or true if not. Invoke with `queue.idle()`. - * @property {number} 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. - * @property {Function} push - 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. Invoke with `queue.push(task, [callback])`, - * @property {Function} unshift - add a new task to the front of the `queue`. - * Invoke with `queue.unshift(task, [callback])`. - * @property {Function} remove - remove items from the queue that match a test - * function. The test function will be passed an object with a `data` property, - * and a `priority` property, if this is a - * [priorityQueue]{@link module:ControlFlow.priorityQueue} object. - * Invoked with `queue.remove(testFn)`, where `testFn` is of the form - * `function ({data, priority}) {}` and returns a Boolean. - * @property {Function} saturated - a callback that is called when the number of - * running workers hits the `concurrency` limit, and further tasks will be - * queued. - * @property {Function} unsaturated - a callback that is called when the number - * of running workers is less than the `concurrency` & `buffer` limits, and - * further tasks will not be queued. - * @property {number} buffer - A minimum threshold buffer in order to say that - * the `queue` is `unsaturated`. - * @property {Function} empty - a callback that is called when the last item - * from the `queue` is given to a `worker`. - * @property {Function} drain - a callback that is called when the last item - * from the `queue` has returned from the `worker`. - * @property {Function} error - a callback that is called when a task errors. - * Has the signature `function(error, task)`. - * @property {boolean} paused - a boolean for determining whether the queue is - * in a paused state. - * @property {Function} pause - a function that pauses the processing of tasks - * until `resume()` is called. Invoke with `queue.pause()`. - * @property {Function} resume - a function that resumes the processing of - * queued tasks when the queue is paused. Invoke with `queue.resume()`. - * @property {Function} kill - a function that removes the `drain` callback and - * empties remaining tasks from the queue forcing it to go idle. No more tasks - * should be pushed to the queue after calling this function. Invoke with `queue.kill()`. - */ - -/** - * 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. - * - * @name queue - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {AsyncFunction} worker - An async function for processing a queued task. - * If you want to handle errors from an individual task, pass a callback to - * `q.push()`. Invoked with (task, callback). - * @param {number} [concurrency=1] - An `integer` for determining how many - * `worker` functions should be run in parallel. If omitted, the concurrency - * defaults to `1`. If the concurrency is `0`, an error is thrown. - * @returns {module:ControlFlow.QueueObject} A queue object to manage the tasks. Callbacks can - * attached as certain properties to listen for specific events during the - * lifecycle of the queue. - * @example - * - * // 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'); - * }); - */ \ No newline at end of file diff --git a/res-pc/node_modules/async/race.js b/res-pc/node_modules/async/race.js deleted file mode 100644 index 6713c74a..00000000 --- a/res-pc/node_modules/async/race.js +++ /dev/null @@ -1,70 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = race; - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Runs the `tasks` array of functions in parallel, without waiting until the - * previous function has completed. Once any of the `tasks` complete or pass an - * error to its callback, the main `callback` is immediately called. It's - * equivalent to `Promise.race()`. - * - * @name race - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array} tasks - An array containing [async functions]{@link AsyncFunction} - * to run. Each function can complete with an optional `result` value. - * @param {Function} callback - A callback to run once any of the functions have - * completed. This function gets an error or result from the first function that - * completed. Invoked with (err, result). - * @returns undefined - * @example - * - * async.race([ - * function(callback) { - * setTimeout(function() { - * callback(null, 'one'); - * }, 200); - * }, - * function(callback) { - * setTimeout(function() { - * callback(null, 'two'); - * }, 100); - * } - * ], - * // main callback - * function(err, result) { - * // the result will be equal to 'two' as it finishes earlier - * }); - */ -function race(tasks, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - if (!(0, _isArray2.default)(tasks)) return callback(new TypeError('First argument to race must be an array of functions')); - if (!tasks.length) return callback(); - for (var i = 0, l = tasks.length; i < l; i++) { - (0, _wrapAsync2.default)(tasks[i])(callback); - } -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/reduce.js b/res-pc/node_modules/async/reduce.js deleted file mode 100644 index 3fb8019e..00000000 --- a/res-pc/node_modules/async/reduce.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reduce; - -var _eachOfSeries = require('./eachOfSeries'); - -var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Reduces `coll` into a single value using an async `iteratee` 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. - * - * @name reduce - * @static - * @memberOf module:Collections - * @method - * @alias inject - * @alias foldl - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {*} memo - The initial state of the reduction. - * @param {AsyncFunction} iteratee - A function applied to each item in the - * array to produce the next step in the reduction. - * The `iteratee` should complete with the next state of the reduction. - * If the iteratee complete with an error, the reduction is stopped and the - * main `callback` is immediately called with the error. - * Invoked with (memo, item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the reduced value. Invoked with - * (err, result). - * @example - * - * 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 - * }); - */ -function reduce(coll, memo, iteratee, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - var _iteratee = (0, _wrapAsync2.default)(iteratee); - (0, _eachOfSeries2.default)(coll, function (x, i, callback) { - _iteratee(memo, x, function (err, v) { - memo = v; - callback(err); - }); - }, function (err) { - callback(err, memo); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/reduceRight.js b/res-pc/node_modules/async/reduceRight.js deleted file mode 100644 index 3d17d328..00000000 --- a/res-pc/node_modules/async/reduceRight.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reduceRight; - -var _reduce = require('./reduce'); - -var _reduce2 = _interopRequireDefault(_reduce); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Same as [`reduce`]{@link module:Collections.reduce}, only operates on `array` in reverse order. - * - * @name reduceRight - * @static - * @memberOf module:Collections - * @method - * @see [async.reduce]{@link module:Collections.reduce} - * @alias foldr - * @category Collection - * @param {Array} array - A collection to iterate over. - * @param {*} memo - The initial state of the reduction. - * @param {AsyncFunction} iteratee - A function applied to each item in the - * array to produce the next step in the reduction. - * The `iteratee` should complete with the next state of the reduction. - * If the iteratee complete with an error, the reduction is stopped and the - * main `callback` is immediately called with the error. - * Invoked with (memo, item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the reduced value. Invoked with - * (err, result). - */ -function reduceRight(array, memo, iteratee, callback) { - var reversed = (0, _slice2.default)(array).reverse(); - (0, _reduce2.default)(reversed, memo, iteratee, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/reflect.js b/res-pc/node_modules/async/reflect.js deleted file mode 100644 index 098ba865..00000000 --- a/res-pc/node_modules/async/reflect.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reflect; - -var _initialParams = require('./internal/initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Wraps the async function in another function that always completes with a - * result object, even when it errors. - * - * The result object has either the property `error` or `value`. - * - * @name reflect - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} fn - The async function you want to wrap - * @returns {Function} - A function that always passes null to it's callback as - * the error. The second argument to the callback will be an `object` with - * either an `error` or a `value` property. - * @example - * - * async.parallel([ - * async.reflect(function(callback) { - * // do some stuff ... - * callback(null, 'one'); - * }), - * async.reflect(function(callback) { - * // do some more stuff but error ... - * callback('bad stuff happened'); - * }), - * async.reflect(function(callback) { - * // do some more stuff ... - * callback(null, 'two'); - * }) - * ], - * // optional callback - * function(err, results) { - * // values - * // results[0].value = 'one' - * // results[1].error = 'bad stuff happened' - * // results[2].value = 'two' - * }); - */ -function reflect(fn) { - var _fn = (0, _wrapAsync2.default)(fn); - return (0, _initialParams2.default)(function reflectOn(args, reflectCallback) { - args.push(function callback(error, cbArg) { - if (error) { - reflectCallback(null, { error: error }); - } else { - var value; - if (arguments.length <= 2) { - value = cbArg; - } else { - value = (0, _slice2.default)(arguments, 1); - } - reflectCallback(null, { value: value }); - } - }); - - return _fn.apply(this, args); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/reflectAll.js b/res-pc/node_modules/async/reflectAll.js deleted file mode 100644 index 966e83de..00000000 --- a/res-pc/node_modules/async/reflectAll.js +++ /dev/null @@ -1,105 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = reflectAll; - -var _reflect = require('./reflect'); - -var _reflect2 = _interopRequireDefault(_reflect); - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _arrayMap2 = require('lodash/_arrayMap'); - -var _arrayMap3 = _interopRequireDefault(_arrayMap2); - -var _baseForOwn = require('lodash/_baseForOwn'); - -var _baseForOwn2 = _interopRequireDefault(_baseForOwn); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * A helper function that wraps an array or an object of functions with `reflect`. - * - * @name reflectAll - * @static - * @memberOf module:Utils - * @method - * @see [async.reflect]{@link module:Utils.reflect} - * @category Util - * @param {Array|Object|Iterable} tasks - The collection of - * [async functions]{@link AsyncFunction} to wrap in `async.reflect`. - * @returns {Array} Returns an array of async functions, each wrapped in - * `async.reflect` - * @example - * - * let tasks = [ - * function(callback) { - * setTimeout(function() { - * callback(null, 'one'); - * }, 200); - * }, - * function(callback) { - * // do some more stuff but error ... - * callback(new Error('bad stuff happened')); - * }, - * function(callback) { - * setTimeout(function() { - * callback(null, 'two'); - * }, 100); - * } - * ]; - * - * async.parallel(async.reflectAll(tasks), - * // optional callback - * function(err, results) { - * // values - * // results[0].value = 'one' - * // results[1].error = Error('bad stuff happened') - * // results[2].value = 'two' - * }); - * - * // an example using an object instead of an array - * let tasks = { - * one: function(callback) { - * setTimeout(function() { - * callback(null, 'one'); - * }, 200); - * }, - * two: function(callback) { - * callback('two'); - * }, - * three: function(callback) { - * setTimeout(function() { - * callback(null, 'three'); - * }, 100); - * } - * }; - * - * async.parallel(async.reflectAll(tasks), - * // optional callback - * function(err, results) { - * // values - * // results.one.value = 'one' - * // results.two.error = 'two' - * // results.three.value = 'three' - * }); - */ -function reflectAll(tasks) { - var results; - if ((0, _isArray2.default)(tasks)) { - results = (0, _arrayMap3.default)(tasks, _reflect2.default); - } else { - results = {}; - (0, _baseForOwn2.default)(tasks, function (task, key) { - results[key] = _reflect2.default.call(this, task); - }); - } - return results; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/reject.js b/res-pc/node_modules/async/reject.js deleted file mode 100644 index 53802b53..00000000 --- a/res-pc/node_modules/async/reject.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _reject = require('./internal/reject'); - -var _reject2 = _interopRequireDefault(_reject); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The opposite of [`filter`]{@link module:Collections.filter}. Removes values that pass an `async` truth test. - * - * @name reject - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - An async truth test to apply to each item in - * `coll`. - * The should complete with a boolean value as its `result`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - * @example - * - * async.reject(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, results) { - * // results now equals an array of missing files - * createFiles(results); - * }); - */ -exports.default = (0, _doParallel2.default)(_reject2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/rejectLimit.js b/res-pc/node_modules/async/rejectLimit.js deleted file mode 100644 index 74bba7fb..00000000 --- a/res-pc/node_modules/async/rejectLimit.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _reject = require('./internal/reject'); - -var _reject2 = _interopRequireDefault(_reject); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`reject`]{@link module:Collections.reject} but runs a maximum of `limit` async operations at a - * time. - * - * @name rejectLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.reject]{@link module:Collections.reject} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {Function} iteratee - An async truth test to apply to each item in - * `coll`. - * The should complete with a boolean value as its `result`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - */ -exports.default = (0, _doParallelLimit2.default)(_reject2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/rejectSeries.js b/res-pc/node_modules/async/rejectSeries.js deleted file mode 100644 index f905588f..00000000 --- a/res-pc/node_modules/async/rejectSeries.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _rejectLimit = require('./rejectLimit'); - -var _rejectLimit2 = _interopRequireDefault(_rejectLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`reject`]{@link module:Collections.reject} but runs only a single async operation at a time. - * - * @name rejectSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.reject]{@link module:Collections.reject} - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - An async truth test to apply to each item in - * `coll`. - * The should complete with a boolean value as its `result`. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - */ -exports.default = (0, _doLimit2.default)(_rejectLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/retry.js b/res-pc/node_modules/async/retry.js deleted file mode 100644 index 6a1aa1ec..00000000 --- a/res-pc/node_modules/async/retry.js +++ /dev/null @@ -1,156 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = retry; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _constant = require('lodash/constant'); - -var _constant2 = _interopRequireDefault(_constant); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * 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. - * - * @name retry - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @see [async.retryable]{@link module:ControlFlow.retryable} - * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - Can be either an - * object with `times` and `interval` or a number. - * * `times` - The number of attempts to make before giving up. The default - * is `5`. - * * `interval` - The time to wait between retries, in milliseconds. The - * default is `0`. The interval may also be specified as a function of the - * retry count (see example). - * * `errorFilter` - An optional synchronous function that is invoked on - * erroneous result. If it returns `true` the retry attempts will continue; - * if the function returns `false` the retry flow is aborted with the current - * attempt's error and result being returned to the final callback. - * Invoked with (err). - * * If `opts` is a number, the number specifies the number of times to retry, - * with the default interval of `0`. - * @param {AsyncFunction} task - An async function to retry. - * Invoked with (callback). - * @param {Function} [callback] - 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`. Invoked - * with (err, results). - * - * @example - * - * // The `retry` function can be used as a stand-alone control flow by passing - * // a callback, as shown below: - * - * // try calling apiMethod 3 times - * async.retry(3, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod 3 times, waiting 200 ms between each retry - * async.retry({times: 3, interval: 200}, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod 10 times with exponential backoff - * // (i.e. intervals of 100, 200, 400, 800, 1600, ... milliseconds) - * async.retry({ - * times: 10, - * interval: function(retryCount) { - * return 50 * Math.pow(2, retryCount); - * } - * }, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod the default 5 times no delay between each retry - * async.retry(apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // try calling apiMethod only when error condition satisfies, all other - * // errors will abort the retry control flow and return to final callback - * async.retry({ - * errorFilter: function(err) { - * return err.message === 'Temporary error'; // only retry on a specific error - * } - * }, apiMethod, function(err, result) { - * // do something with the result - * }); - * - * // to retry individual methods that are not as reliable within other - * // control flow functions, use the `retryable` wrapper: - * async.auto({ - * users: api.getUsers.bind(api), - * payments: async.retryable(3, api.getPayments.bind(api)) - * }, function(err, results) { - * // do something with the results - * }); - * - */ -function retry(opts, task, callback) { - var DEFAULT_TIMES = 5; - var DEFAULT_INTERVAL = 0; - - var options = { - times: DEFAULT_TIMES, - intervalFunc: (0, _constant2.default)(DEFAULT_INTERVAL) - }; - - function parseTimes(acc, t) { - if (typeof t === 'object') { - acc.times = +t.times || DEFAULT_TIMES; - - acc.intervalFunc = typeof t.interval === 'function' ? t.interval : (0, _constant2.default)(+t.interval || DEFAULT_INTERVAL); - - acc.errorFilter = t.errorFilter; - } else if (typeof t === 'number' || typeof t === 'string') { - acc.times = +t || DEFAULT_TIMES; - } else { - throw new Error("Invalid arguments for async.retry"); - } - } - - if (arguments.length < 3 && typeof opts === 'function') { - callback = task || _noop2.default; - task = opts; - } else { - parseTimes(options, opts); - callback = callback || _noop2.default; - } - - if (typeof task !== 'function') { - throw new Error("Invalid arguments for async.retry"); - } - - var _task = (0, _wrapAsync2.default)(task); - - var attempt = 1; - function retryAttempt() { - _task(function (err) { - if (err && attempt++ < options.times && (typeof options.errorFilter != 'function' || options.errorFilter(err))) { - setTimeout(retryAttempt, options.intervalFunc(attempt)); - } else { - callback.apply(null, arguments); - } - }); - } - - retryAttempt(); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/retryable.js b/res-pc/node_modules/async/retryable.js deleted file mode 100644 index 002bfb0f..00000000 --- a/res-pc/node_modules/async/retryable.js +++ /dev/null @@ -1,65 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (opts, task) { - if (!task) { - task = opts; - opts = null; - } - var _task = (0, _wrapAsync2.default)(task); - return (0, _initialParams2.default)(function (args, callback) { - function taskFn(cb) { - _task.apply(null, args.concat(cb)); - } - - if (opts) (0, _retry2.default)(opts, taskFn, callback);else (0, _retry2.default)(taskFn, callback); - }); -}; - -var _retry = require('./retry'); - -var _retry2 = _interopRequireDefault(_retry); - -var _initialParams = require('./internal/initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -module.exports = exports['default']; - -/** - * A close relative of [`retry`]{@link module:ControlFlow.retry}. This method - * wraps a task and makes it retryable, rather than immediately calling it - * with retries. - * - * @name retryable - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.retry]{@link module:ControlFlow.retry} - * @category Control Flow - * @param {Object|number} [opts = {times: 5, interval: 0}| 5] - optional - * options, exactly the same as from `retry` - * @param {AsyncFunction} task - the asynchronous function to wrap. - * This function will be passed any arguments passed to the returned wrapper. - * Invoked with (...args, callback). - * @returns {AsyncFunction} The wrapped function, which when invoked, will - * retry on an error, based on the parameters specified in `opts`. - * This function will accept the same parameters as `task`. - * @example - * - * async.auto({ - * dep1: async.retryable(3, getFromFlakyService), - * process: ["dep1", async.retryable(3, function (results, cb) { - * maybeProcessData(results.dep1, cb); - * })] - * }, callback); - */ \ No newline at end of file diff --git a/res-pc/node_modules/async/select.js b/res-pc/node_modules/async/select.js deleted file mode 100644 index 54772d56..00000000 --- a/res-pc/node_modules/async/select.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _filter = require('./internal/filter'); - -var _filter2 = _interopRequireDefault(_filter); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns a new array of all the values in `coll` which pass an async truth - * test. This operation is performed in parallel, but the results array will be - * in the same order as the original. - * - * @name filter - * @static - * @memberOf module:Collections - * @method - * @alias select - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - * @example - * - * async.filter(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, results) { - * // results now equals an array of the existing files - * }); - */ -exports.default = (0, _doParallel2.default)(_filter2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/selectLimit.js b/res-pc/node_modules/async/selectLimit.js deleted file mode 100644 index 06216f78..00000000 --- a/res-pc/node_modules/async/selectLimit.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _filter = require('./internal/filter'); - -var _filter2 = _interopRequireDefault(_filter); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`filter`]{@link module:Collections.filter} but runs a maximum of `limit` async operations at a - * time. - * - * @name filterLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @alias selectLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results). - */ -exports.default = (0, _doParallelLimit2.default)(_filter2.default); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/selectSeries.js b/res-pc/node_modules/async/selectSeries.js deleted file mode 100644 index e48d966c..00000000 --- a/res-pc/node_modules/async/selectSeries.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _filterLimit = require('./filterLimit'); - -var _filterLimit2 = _interopRequireDefault(_filterLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`filter`]{@link module:Collections.filter} but runs only a single async operation at a time. - * - * @name filterSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.filter]{@link module:Collections.filter} - * @alias selectSeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {Function} iteratee - A truth test to apply to each item in `coll`. - * The `iteratee` is passed a `callback(err, truthValue)`, which must be called - * with a boolean argument once it has completed. Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Invoked with (err, results) - */ -exports.default = (0, _doLimit2.default)(_filterLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/seq.js b/res-pc/node_modules/async/seq.js deleted file mode 100644 index ff86ef92..00000000 --- a/res-pc/node_modules/async/seq.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = seq; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _reduce = require('./reduce'); - -var _reduce2 = _interopRequireDefault(_reduce); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -var _arrayMap = require('lodash/_arrayMap'); - -var _arrayMap2 = _interopRequireDefault(_arrayMap); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * 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]{@link module:ControlFlow.compose} with the arguments reversed. - * - * Each function is executed with the `this` binding of the composed function. - * - * @name seq - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.compose]{@link module:ControlFlow.compose} - * @category Control Flow - * @param {...AsyncFunction} functions - the asynchronous functions to compose - * @returns {Function} a function that composes the `functions` in order - * @example - * - * // 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 }); - * } - * }); - * }); - */ -function seq() /*...functions*/{ - var _functions = (0, _arrayMap2.default)(arguments, _wrapAsync2.default); - return function () /*...args*/{ - var args = (0, _slice2.default)(arguments); - var that = this; - - var cb = args[args.length - 1]; - if (typeof cb == 'function') { - args.pop(); - } else { - cb = _noop2.default; - } - - (0, _reduce2.default)(_functions, args, function (newargs, fn, cb) { - fn.apply(that, newargs.concat(function (err /*, ...nextargs*/) { - var nextargs = (0, _slice2.default)(arguments, 1); - cb(err, nextargs); - })); - }, function (err, results) { - cb.apply(that, [err].concat(results)); - }); - }; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/series.js b/res-pc/node_modules/async/series.js deleted file mode 100644 index e8c29281..00000000 --- a/res-pc/node_modules/async/series.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = series; - -var _parallel = require('./internal/parallel'); - -var _parallel2 = _interopRequireDefault(_parallel); - -var _eachOfSeries = require('./eachOfSeries'); - -var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Run the functions in the `tasks` collection 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 {@link async.series}. - * - * **Note** that while many implementations preserve the order of object - * properties, the [ECMAScript Language Specification](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. - * - * @name series - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection containing - * [async functions]{@link AsyncFunction} to run in series. - * Each function can complete with any number of optional `result` values. - * @param {Function} [callback] - 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. Invoked - * with (err, result). - * @example - * 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'] - * }); - * - * 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} - * }); - */ -function series(tasks, callback) { - (0, _parallel2.default)(_eachOfSeries2.default, tasks, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/setImmediate.js b/res-pc/node_modules/async/setImmediate.js deleted file mode 100644 index e52f7c54..00000000 --- a/res-pc/node_modules/async/setImmediate.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _setImmediate = require('./internal/setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Calls `callback` on a later loop around the event loop. In Node.js this just - * calls `setImmediate`. In the browser it will use `setImmediate` 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. - * - * @name setImmediate - * @static - * @memberOf module:Utils - * @method - * @see [async.nextTick]{@link module:Utils.nextTick} - * @category Util - * @param {Function} callback - The function to call on a later loop around - * the event loop. Invoked with (args...). - * @param {...*} args... - any number of additional arguments to pass to the - * callback on the next tick. - * @example - * - * var call_order = []; - * async.nextTick(function() { - * call_order.push('two'); - * // call_order now equals ['one','two'] - * }); - * call_order.push('one'); - * - * async.setImmediate(function (a, b, c) { - * // a, b, and c equal 1, 2, and 3 - * }, 1, 2, 3); - */ -exports.default = _setImmediate2.default; -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/some.js b/res-pc/node_modules/async/some.js deleted file mode 100644 index a8e70f71..00000000 --- a/res-pc/node_modules/async/some.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallel = require('./internal/doParallel'); - -var _doParallel2 = _interopRequireDefault(_doParallel); - -var _identity = require('lodash/identity'); - -var _identity2 = _interopRequireDefault(_identity); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Returns `true` if at least one element in the `coll` satisfies an async test. - * If any iteratee call returns `true`, the main `callback` is immediately - * called. - * - * @name some - * @static - * @memberOf module:Collections - * @method - * @alias any - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in parallel. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - * @example - * - * async.some(['file1','file2','file3'], function(filePath, callback) { - * fs.access(filePath, function(err) { - * callback(null, !err) - * }); - * }, function(err, result) { - * // if result is true then at least one of the files exists - * }); - */ -exports.default = (0, _doParallel2.default)((0, _createTester2.default)(Boolean, _identity2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/someLimit.js b/res-pc/node_modules/async/someLimit.js deleted file mode 100644 index 24ca3f49..00000000 --- a/res-pc/node_modules/async/someLimit.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createTester = require('./internal/createTester'); - -var _createTester2 = _interopRequireDefault(_createTester); - -var _doParallelLimit = require('./internal/doParallelLimit'); - -var _doParallelLimit2 = _interopRequireDefault(_doParallelLimit); - -var _identity = require('lodash/identity'); - -var _identity2 = _interopRequireDefault(_identity); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`some`]{@link module:Collections.some} but runs a maximum of `limit` async operations at a time. - * - * @name someLimit - * @static - * @memberOf module:Collections - * @method - * @see [async.some]{@link module:Collections.some} - * @alias anyLimit - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in parallel. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - */ -exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(Boolean, _identity2.default)); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/someSeries.js b/res-pc/node_modules/async/someSeries.js deleted file mode 100644 index dc24ed25..00000000 --- a/res-pc/node_modules/async/someSeries.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _someLimit = require('./someLimit'); - -var _someLimit2 = _interopRequireDefault(_someLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [`some`]{@link module:Collections.some} but runs only a single async operation at a time. - * - * @name someSeries - * @static - * @memberOf module:Collections - * @method - * @see [async.some]{@link module:Collections.some} - * @alias anySeries - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async truth test to apply to each item - * in the collections in series. - * The iteratee should complete with a boolean `result` value. - * Invoked with (item, callback). - * @param {Function} [callback] - A callback which is called as soon as any - * iteratee returns `true`, or after all the iteratee functions have finished. - * Result will be either `true` or `false` depending on the values of the async - * tests. Invoked with (err, result). - */ -exports.default = (0, _doLimit2.default)(_someLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/sortBy.js b/res-pc/node_modules/async/sortBy.js deleted file mode 100644 index ee5e93dc..00000000 --- a/res-pc/node_modules/async/sortBy.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = sortBy; - -var _arrayMap = require('lodash/_arrayMap'); - -var _arrayMap2 = _interopRequireDefault(_arrayMap); - -var _baseProperty = require('lodash/_baseProperty'); - -var _baseProperty2 = _interopRequireDefault(_baseProperty); - -var _map = require('./map'); - -var _map2 = _interopRequireDefault(_map); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Sorts a list by the results of running each `coll` value through an async - * `iteratee`. - * - * @name sortBy - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {AsyncFunction} iteratee - An async function to apply to each item in - * `coll`. - * The iteratee should complete with a value to use as the sort criteria as - * its `result`. - * Invoked with (item, callback). - * @param {Function} callback - A callback which is called after all the - * `iteratee` functions have finished, or an error occurs. Results is the items - * from the original `coll` sorted by the values returned by the `iteratee` - * calls. Invoked with (err, results). - * @example - * - * 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 - * }); - * - * // By modifying the callback parameter the - * // sorting order can be influenced: - * - * // 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 - * }); - */ -function sortBy(coll, iteratee, callback) { - var _iteratee = (0, _wrapAsync2.default)(iteratee); - (0, _map2.default)(coll, function (x, callback) { - _iteratee(x, function (err, criteria) { - if (err) return callback(err); - callback(null, { value: x, criteria: criteria }); - }); - }, function (err, results) { - if (err) return callback(err); - callback(null, (0, _arrayMap2.default)(results.sort(comparator), (0, _baseProperty2.default)('value'))); - }); - - function comparator(left, right) { - var a = left.criteria, - b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; - } -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/timeout.js b/res-pc/node_modules/async/timeout.js deleted file mode 100644 index b5cb505e..00000000 --- a/res-pc/node_modules/async/timeout.js +++ /dev/null @@ -1,89 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = timeout; - -var _initialParams = require('./internal/initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Sets a time limit on an asynchronous function. If the function does not call - * its callback within the specified milliseconds, it will be called with a - * timeout error. The code property for the error object will be `'ETIMEDOUT'`. - * - * @name timeout - * @static - * @memberOf module:Utils - * @method - * @category Util - * @param {AsyncFunction} asyncFn - The async function to limit in time. - * @param {number} milliseconds - The specified time limit. - * @param {*} [info] - Any variable you want attached (`string`, `object`, etc) - * to timeout Error for more information.. - * @returns {AsyncFunction} Returns a wrapped function that can be used with any - * of the control flow functions. - * Invoke this function with the same parameters as you would `asyncFunc`. - * @example - * - * function myFunction(foo, callback) { - * doAsyncTask(foo, function(err, data) { - * // handle errors - * if (err) return callback(err); - * - * // do some stuff ... - * - * // return processed data - * return callback(null, data); - * }); - * } - * - * var wrapped = async.timeout(myFunction, 1000); - * - * // call `wrapped` as you would `myFunction` - * wrapped({ bar: 'bar' }, function(err, data) { - * // if `myFunction` takes < 1000 ms to execute, `err` - * // and `data` will have their expected values - * - * // else `err` will be an Error with the code 'ETIMEDOUT' - * }); - */ -function timeout(asyncFn, milliseconds, info) { - var fn = (0, _wrapAsync2.default)(asyncFn); - - return (0, _initialParams2.default)(function (args, callback) { - var timedOut = false; - var timer; - - function timeoutCallback() { - var name = asyncFn.name || 'anonymous'; - var error = new Error('Callback function "' + name + '" timed out.'); - error.code = 'ETIMEDOUT'; - if (info) { - error.info = info; - } - timedOut = true; - callback(error); - } - - args.push(function () { - if (!timedOut) { - callback.apply(null, arguments); - clearTimeout(timer); - } - }); - - // setup timer and call original function - timer = setTimeout(timeoutCallback, milliseconds); - fn.apply(null, args); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/times.js b/res-pc/node_modules/async/times.js deleted file mode 100644 index b5ca24df..00000000 --- a/res-pc/node_modules/async/times.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _timesLimit = require('./timesLimit'); - -var _timesLimit2 = _interopRequireDefault(_timesLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Calls the `iteratee` function `n` times, and accumulates results in the same - * manner you would use with [map]{@link module:Collections.map}. - * - * @name times - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.map]{@link module:Collections.map} - * @category Control Flow - * @param {number} n - The number of times to run the function. - * @param {AsyncFunction} iteratee - The async function to call `n` times. - * Invoked with the iteration index and a callback: (n, next). - * @param {Function} callback - see {@link module:Collections.map}. - * @example - * - * // 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 - * }); - */ -exports.default = (0, _doLimit2.default)(_timesLimit2.default, Infinity); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/timesLimit.js b/res-pc/node_modules/async/timesLimit.js deleted file mode 100644 index aad84955..00000000 --- a/res-pc/node_modules/async/timesLimit.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = timeLimit; - -var _mapLimit = require('./mapLimit'); - -var _mapLimit2 = _interopRequireDefault(_mapLimit); - -var _baseRange = require('lodash/_baseRange'); - -var _baseRange2 = _interopRequireDefault(_baseRange); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [times]{@link module:ControlFlow.times} but runs a maximum of `limit` async operations at a - * time. - * - * @name timesLimit - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.times]{@link module:ControlFlow.times} - * @category Control Flow - * @param {number} count - The number of times to run the function. - * @param {number} limit - The maximum number of async operations at a time. - * @param {AsyncFunction} iteratee - The async function to call `n` times. - * Invoked with the iteration index and a callback: (n, next). - * @param {Function} callback - see [async.map]{@link module:Collections.map}. - */ -function timeLimit(count, limit, iteratee, callback) { - var _iteratee = (0, _wrapAsync2.default)(iteratee); - (0, _mapLimit2.default)((0, _baseRange2.default)(0, count, 1), limit, _iteratee, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/timesSeries.js b/res-pc/node_modules/async/timesSeries.js deleted file mode 100644 index f187a35b..00000000 --- a/res-pc/node_modules/async/timesSeries.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _timesLimit = require('./timesLimit'); - -var _timesLimit2 = _interopRequireDefault(_timesLimit); - -var _doLimit = require('./internal/doLimit'); - -var _doLimit2 = _interopRequireDefault(_doLimit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * The same as [times]{@link module:ControlFlow.times} but runs only a single async operation at a time. - * - * @name timesSeries - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.times]{@link module:ControlFlow.times} - * @category Control Flow - * @param {number} n - The number of times to run the function. - * @param {AsyncFunction} iteratee - The async function to call `n` times. - * Invoked with the iteration index and a callback: (n, next). - * @param {Function} callback - see {@link module:Collections.map}. - */ -exports.default = (0, _doLimit2.default)(_timesLimit2.default, 1); -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/transform.js b/res-pc/node_modules/async/transform.js deleted file mode 100644 index 84ee217e..00000000 --- a/res-pc/node_modules/async/transform.js +++ /dev/null @@ -1,87 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = transform; - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _eachOf = require('./eachOf'); - -var _eachOf2 = _interopRequireDefault(_eachOf); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * A relative of `reduce`. Takes an Object or Array, and iterates over each - * element in series, each step potentially mutating an `accumulator` value. - * The type of the accumulator defaults to the type of collection passed in. - * - * @name transform - * @static - * @memberOf module:Collections - * @method - * @category Collection - * @param {Array|Iterable|Object} coll - A collection to iterate over. - * @param {*} [accumulator] - The initial state of the transform. If omitted, - * it will default to an empty Object or Array, depending on the type of `coll` - * @param {AsyncFunction} iteratee - A function applied to each item in the - * collection that potentially modifies the accumulator. - * Invoked with (accumulator, item, key, callback). - * @param {Function} [callback] - A callback which is called after all the - * `iteratee` functions have finished. Result is the transformed accumulator. - * Invoked with (err, result). - * @example - * - * async.transform([1,2,3], function(acc, item, index, callback) { - * // pointless async: - * process.nextTick(function() { - * acc.push(item * 2) - * callback(null) - * }); - * }, function(err, result) { - * // result is now equal to [2, 4, 6] - * }); - * - * @example - * - * async.transform({a: 1, b: 2, c: 3}, function (obj, val, key, callback) { - * setImmediate(function () { - * obj[key] = val * 2; - * callback(); - * }) - * }, function (err, result) { - * // result is equal to {a: 2, b: 4, c: 6} - * }) - */ -function transform(coll, accumulator, iteratee, callback) { - if (arguments.length <= 3) { - callback = iteratee; - iteratee = accumulator; - accumulator = (0, _isArray2.default)(coll) ? [] : {}; - } - callback = (0, _once2.default)(callback || _noop2.default); - var _iteratee = (0, _wrapAsync2.default)(iteratee); - - (0, _eachOf2.default)(coll, function (v, k, cb) { - _iteratee(accumulator, v, k, cb); - }, function (err) { - callback(err, accumulator); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/tryEach.js b/res-pc/node_modules/async/tryEach.js deleted file mode 100644 index f4e4c97d..00000000 --- a/res-pc/node_modules/async/tryEach.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = tryEach; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _eachSeries = require('./eachSeries'); - -var _eachSeries2 = _interopRequireDefault(_eachSeries); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * It runs each task in series but stops whenever any of the functions were - * successful. If one of the tasks were successful, the `callback` will be - * passed the result of the successful task. If all tasks fail, the callback - * will be passed the error and result (if any) of the final attempt. - * - * @name tryEach - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array|Iterable|Object} tasks - A collection 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. - * @param {Function} [callback] - An optional callback which is called when one - * of the tasks has succeeded, or all have failed. It receives the `err` and - * `result` arguments of the last attempt at completing the `task`. Invoked with - * (err, results). - * @example - * async.tryEach([ - * function getDataFromFirstWebsite(callback) { - * // Try getting the data from the first website - * callback(err, data); - * }, - * function getDataFromSecondWebsite(callback) { - * // First website failed, - * // Try getting the data from the backup website - * callback(err, data); - * } - * ], - * // optional callback - * function(err, results) { - * Now do something with the data. - * }); - * - */ -function tryEach(tasks, callback) { - var error = null; - var result; - callback = callback || _noop2.default; - (0, _eachSeries2.default)(tasks, function (task, callback) { - (0, _wrapAsync2.default)(task)(function (err, res /*, ...args*/) { - if (arguments.length > 2) { - result = (0, _slice2.default)(arguments, 1); - } else { - result = res; - } - error = err; - callback(!err); - }); - }, function () { - callback(error, result); - }); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/unmemoize.js b/res-pc/node_modules/async/unmemoize.js deleted file mode 100644 index 08f9f9fb..00000000 --- a/res-pc/node_modules/async/unmemoize.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = unmemoize; -/** - * Undoes a [memoize]{@link module:Utils.memoize}d function, reverting it to the original, - * unmemoized form. Handy for testing. - * - * @name unmemoize - * @static - * @memberOf module:Utils - * @method - * @see [async.memoize]{@link module:Utils.memoize} - * @category Util - * @param {AsyncFunction} fn - the memoized function - * @returns {AsyncFunction} a function that calls the original unmemoized function - */ -function unmemoize(fn) { - return function () { - return (fn.unmemoized || fn).apply(null, arguments); - }; -} -module.exports = exports["default"]; \ No newline at end of file diff --git a/res-pc/node_modules/async/until.js b/res-pc/node_modules/async/until.js deleted file mode 100644 index 29955ab1..00000000 --- a/res-pc/node_modules/async/until.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = until; - -var _whilst = require('./whilst'); - -var _whilst2 = _interopRequireDefault(_whilst); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Repeatedly call `iteratee` until `test` returns `true`. Calls `callback` when - * stopped, or an error occurs. `callback` will be passed an error and any - * arguments passed to the final `iteratee`'s callback. - * - * The inverse of [whilst]{@link module:ControlFlow.whilst}. - * - * @name until - * @static - * @memberOf module:ControlFlow - * @method - * @see [async.whilst]{@link module:ControlFlow.whilst} - * @category Control Flow - * @param {Function} test - synchronous truth test to perform before each - * execution of `iteratee`. Invoked with (). - * @param {AsyncFunction} iteratee - An async function which is called each time - * `test` fails. Invoked with (callback). - * @param {Function} [callback] - A callback which is called after the test - * function has passed and repeated execution of `iteratee` has stopped. `callback` - * will be passed an error and any arguments passed to the final `iteratee`'s - * callback. Invoked with (err, [results]); - */ -function until(test, iteratee, callback) { - (0, _whilst2.default)(function () { - return !test.apply(this, arguments); - }, iteratee, callback); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/waterfall.js b/res-pc/node_modules/async/waterfall.js deleted file mode 100644 index d547d6b1..00000000 --- a/res-pc/node_modules/async/waterfall.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (tasks, callback) { - callback = (0, _once2.default)(callback || _noop2.default); - if (!(0, _isArray2.default)(tasks)) return callback(new Error('First argument to waterfall must be an array of functions')); - if (!tasks.length) return callback(); - var taskIndex = 0; - - function nextTask(args) { - var task = (0, _wrapAsync2.default)(tasks[taskIndex++]); - args.push((0, _onlyOnce2.default)(next)); - task.apply(null, args); - } - - function next(err /*, ...args*/) { - if (err || taskIndex === tasks.length) { - return callback.apply(null, arguments); - } - nextTask((0, _slice2.default)(arguments, 1)); - } - - nextTask([]); -}; - -var _isArray = require('lodash/isArray'); - -var _isArray2 = _interopRequireDefault(_isArray); - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _once = require('./internal/once'); - -var _once2 = _interopRequireDefault(_once); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _onlyOnce = require('./internal/onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -module.exports = exports['default']; - -/** - * 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. - * - * @name waterfall - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Array} tasks - An array of [async functions]{@link AsyncFunction} - * to run. - * Each function should complete with any number of `result` values. - * The `result` values will be passed as arguments, in order, to the next task. - * @param {Function} [callback] - An optional callback to run once all the - * functions have completed. This will be passed the results of the last task's - * callback. Invoked with (err, [results]). - * @returns undefined - * @example - * - * 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' - * }); - * - * // Or, with named functions: - * async.waterfall([ - * myFirstFunction, - * mySecondFunction, - * myLastFunction, - * ], function (err, result) { - * // result now equals 'done' - * }); - * function myFirstFunction(callback) { - * callback(null, 'one', 'two'); - * } - * function mySecondFunction(arg1, arg2, callback) { - * // arg1 now equals 'one' and arg2 now equals 'two' - * callback(null, 'three'); - * } - * function myLastFunction(arg1, callback) { - * // arg1 now equals 'three' - * callback(null, 'done'); - * } - */ \ No newline at end of file diff --git a/res-pc/node_modules/async/whilst.js b/res-pc/node_modules/async/whilst.js deleted file mode 100644 index 9c4d8f6c..00000000 --- a/res-pc/node_modules/async/whilst.js +++ /dev/null @@ -1,72 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = whilst; - -var _noop = require('lodash/noop'); - -var _noop2 = _interopRequireDefault(_noop); - -var _slice = require('./internal/slice'); - -var _slice2 = _interopRequireDefault(_slice); - -var _onlyOnce = require('./internal/onlyOnce'); - -var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - -var _wrapAsync = require('./internal/wrapAsync'); - -var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Repeatedly call `iteratee`, while `test` returns `true`. Calls `callback` when - * stopped, or an error occurs. - * - * @name whilst - * @static - * @memberOf module:ControlFlow - * @method - * @category Control Flow - * @param {Function} test - synchronous truth test to perform before each - * execution of `iteratee`. Invoked with (). - * @param {AsyncFunction} iteratee - An async function which is called each time - * `test` passes. Invoked with (callback). - * @param {Function} [callback] - A callback which is called after the test - * function has failed and repeated execution of `iteratee` has stopped. `callback` - * will be passed an error and any arguments passed to the final `iteratee`'s - * callback. Invoked with (err, [results]); - * @returns undefined - * @example - * - * var count = 0; - * async.whilst( - * function() { return count < 5; }, - * function(callback) { - * count++; - * setTimeout(function() { - * callback(null, count); - * }, 1000); - * }, - * function (err, n) { - * // 5 seconds have passed, n = 5 - * } - * ); - */ -function whilst(test, iteratee, callback) { - callback = (0, _onlyOnce2.default)(callback || _noop2.default); - var _iteratee = (0, _wrapAsync2.default)(iteratee); - if (!test()) return callback(null); - var next = function (err /*, ...args*/) { - if (err) return callback(err); - if (test()) return _iteratee(next); - var args = (0, _slice2.default)(arguments, 1); - callback.apply(null, [null].concat(args)); - }; - _iteratee(next); -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/async/wrapSync.js b/res-pc/node_modules/async/wrapSync.js deleted file mode 100644 index 5e3fc915..00000000 --- a/res-pc/node_modules/async/wrapSync.js +++ /dev/null @@ -1,110 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = asyncify; - -var _isObject = require('lodash/isObject'); - -var _isObject2 = _interopRequireDefault(_isObject); - -var _initialParams = require('./internal/initialParams'); - -var _initialParams2 = _interopRequireDefault(_initialParams); - -var _setImmediate = require('./internal/setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Take a sync function and make it async, passing its return value to a - * callback. This is useful for plugging sync functions into a waterfall, - * series, or other async functions. Any arguments passed to the generated - * function will be passed to the wrapped function (except for the final - * callback argument). Errors thrown will be passed to the callback. - * - * If the function passed to `asyncify` returns a Promise, that promises's - * resolved/rejected state will be used to call the callback, rather than simply - * the synchronous return value. - * - * This also means you can asyncify ES2017 `async` functions. - * - * @name asyncify - * @static - * @memberOf module:Utils - * @method - * @alias wrapSync - * @category Util - * @param {Function} func - The synchronous function, or Promise-returning - * function to convert to an {@link AsyncFunction}. - * @returns {AsyncFunction} An asynchronous wrapper of the `func`. To be - * invoked with `(args..., callback)`. - * @example - * - * // passing a regular synchronous function - * async.waterfall([ - * async.apply(fs.readFile, filename, "utf8"), - * async.asyncify(JSON.parse), - * function (data, next) { - * // data is the result of parsing the text. - * // If there was a parsing error, it would have been caught. - * } - * ], callback); - * - * // passing a function returning a promise - * async.waterfall([ - * async.apply(fs.readFile, filename, "utf8"), - * async.asyncify(function (contents) { - * return db.model.create(contents); - * }), - * function (model, next) { - * // `model` is the instantiated model object. - * // If there was an error, this function would be skipped. - * } - * ], callback); - * - * // es2017 example, though `asyncify` is not needed if your JS environment - * // supports async functions out of the box - * var q = async.queue(async.asyncify(async function(file) { - * var intermediateStep = await processFile(file); - * return await somePromise(intermediateStep) - * })); - * - * q.push(files); - */ -function asyncify(func) { - return (0, _initialParams2.default)(function (args, callback) { - var result; - try { - result = func.apply(this, args); - } catch (e) { - return callback(e); - } - // if result is Promise object - if ((0, _isObject2.default)(result) && typeof result.then === 'function') { - result.then(function (value) { - invokeCallback(callback, null, value); - }, function (err) { - invokeCallback(callback, err.message ? err : new Error(err)); - }); - } else { - callback(null, result); - } - }); -} - -function invokeCallback(callback, error, value) { - try { - callback(error, value); - } catch (e) { - (0, _setImmediate2.default)(rethrow, e); - } -} - -function rethrow(error) { - throw error; -} -module.exports = exports['default']; \ No newline at end of file diff --git a/res-pc/node_modules/avrgirl-arduino/.jscsrc b/res-pc/node_modules/avrgirl-arduino/.jscsrc deleted file mode 100644 index f7aeb5a3..00000000 --- a/res-pc/node_modules/avrgirl-arduino/.jscsrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "preset": "airbnb", - "requireCurlyBraces": true, - "requireTrailingComma": false -} diff --git a/res-pc/node_modules/avrgirl-arduino/.jshintrc b/res-pc/node_modules/avrgirl-arduino/.jshintrc deleted file mode 100644 index 7ca7deee..00000000 --- a/res-pc/node_modules/avrgirl-arduino/.jshintrc +++ /dev/null @@ -1,53 +0,0 @@ -{ - /* - * ENVIRONMENTS - * ================= - */ - - // Define globals exposed by Node.js. - "node": true, - - /* - * ENFORCING OPTIONS - * ================= - */ - - // Force all variable names to use either camelCase style or UPPER_CASE - // with underscores. - "camelcase": true, - - // Prohibit use of == and != in favor of === and !==. - "eqeqeq": true, - - // Enforce tab width of 2 spaces. - "indent": 2, - - // Prohibit use of a variable before it is defined. - "latedef": true, - - // Enforce line length to 100 characters - "maxlen": 200, - - // Require capitalized names for constructor functions. - "newcap": true, - - // Enforce use of single quotation marks for strings. - "quotmark": "single", - - // Enforce placing 'use strict' at the top function scope - "strict": false, - - // Prohibit use of explicitly undeclared variables. - "undef": true, - - // Warn when variables are defined but never used. - "unused": true, - - /* - * RELAXING OPTIONS - * ================= - */ - - // Suppress warnings about == null comparisons. - "eqnull": false -} diff --git a/res-pc/node_modules/avrgirl-arduino/.travis.yml b/res-pc/node_modules/avrgirl-arduino/.travis.yml deleted file mode 100644 index e6f10f39..00000000 --- a/res-pc/node_modules/avrgirl-arduino/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: node_js -node_js: -- "7" -- "6" -- "5" -- "4" - -env: -- CC=clang CXX=clang++ npm_config_clang=1 - -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gcc-4.8 - - g++-4.8 - - build-essential - - libudev-dev - -before_script: -- npm install -g gulp -- npm install -g istanbul -- npm install -g istanbul-coveralls - -after_success: -- npm run cover diff --git a/res-pc/node_modules/avrgirl-arduino/BUDGET.md b/res-pc/node_modules/avrgirl-arduino/BUDGET.md deleted file mode 100644 index 59ed7133..00000000 --- a/res-pc/node_modules/avrgirl-arduino/BUDGET.md +++ /dev/null @@ -1,23 +0,0 @@ -# BUDGET - -This is just a spot to be transparent about the costs of producing AVRGirl Arduino. Keeping things informative :grin: -All currency is expressed in USD as of 2015/2016 market rate. - -Revenue: $0 - -Expenses: $361.96 - -|Item|Cost|Reason| -|:----------|:--------------|:--------------| -|Arduino Mega|$45.95|Manual testing| -|Arduino Mega (clone)|$13.59|Thought I'd busted my other Mega board, was just a temporarily corrupted bootloader lol| -|SparkFun Pro Micro|$19.95|Manual testing| -|QDuino Mini|$25.00|Manual testing| -|RedBear Blend Micro|$39.90|Manual testing| -|Arduino Nano (clone)|$13.99|Manual testing| -|Arduino Pro Mini (clone)|$7.49|Manual testing| -|FTDI USB to TTL Serial Adapter|$7.14|Manually testing the Pro Mini| -|Adafruit Feather 32u4 Basic Proto|$19.95|Manual testing| -|Dedicated Windows desktop|$169.00|Manual testing, a VM is not cutting it| - -I was pretty lucky with this library, because I was able to use some items I owned already (not in the list above) such as boards, cables, Linux box, etc. diff --git a/res-pc/node_modules/avrgirl-arduino/CODE_OF_CONDUCT.md b/res-pc/node_modules/avrgirl-arduino/CODE_OF_CONDUCT.md deleted file mode 100644 index f590c90c..00000000 --- a/res-pc/node_modules/avrgirl-arduino/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,50 +0,0 @@ -# Contributor Code of Conduct - -As contributors and maintainers of this project, and in the interest of -fostering an open and welcoming community, we pledge to respect all people who -contribute through reporting issues, posting feature requests, updating -documentation, submitting pull requests or patches, and other activities. - -We are committed to making participation in this project a harassment-free -experience for everyone, regardless of level of experience, gender, gender -identity and expression, sexual orientation, disability, personal appearance, -body size, race, ethnicity, age, religion, or nationality. - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, such as physical or electronic - addresses, without explicit permission -* Other unethical or unprofessional conduct - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -By adopting this Code of Conduct, project maintainers commit themselves to -fairly and consistently applying these principles to every aspect of managing -this project. Project maintainers who do not follow or enforce the Code of -Conduct may be permanently removed from the project team. - -This code of conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project maintainer at noopkat@gmail.com. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. Maintainers are -obligated to maintain confidentiality with regard to the reporter of an -incident. - - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 1.3.0, available at -[http://contributor-covenant.org/version/1/3/0/][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/3/0/ diff --git a/res-pc/node_modules/avrgirl-arduino/CONTRIBUTING.md b/res-pc/node_modules/avrgirl-arduino/CONTRIBUTING.md deleted file mode 100644 index d448d888..00000000 --- a/res-pc/node_modules/avrgirl-arduino/CONTRIBUTING.md +++ /dev/null @@ -1,48 +0,0 @@ -# Contributing - -Thank you for your interest in contributing to the avrgirl project to make it even better! - -Not sure where to start? Check out the currently filed issues to see if there's anything there you'd like to work on. - -Please ensure first that someone is not already working on an issue. If the issue seems stale or inactive and you want to take it over, get in touch with [noopkat](http://github.com/noopkat), the assigned person (check the comments on the issue for whom), or simply comment on the issue asking for status. - -## Manual testing - -AVRGirl Arduino has a built-in manual testing tool called Test Pilot. It allows you to run a local test with an Arduino plugged in, and generates a tidy report for you to submit for feedback. No coding required, just a few button presses / keyboard taps in a browser window! I would really appreciate your help testing this software on your own unique, local computer. - -Once AVRGirl Arduino is globally installed on your machine using `npm install -g avrgirl-arduino@latest`, type `avrgirl-arduino test-pilot` into your terminal program and follow the prompts. Shouldn't take more than two minutes of your time, but will make a big difference to ensuring any issues are reported and fixed promptly! - -## Feature requests - -The best thing to do here is to file an issue if there already isn't one. If it's something fairly obviously needed (in your opinion) and you are happy to code it, feel free to open a pull request without filing an issue first. - -## Bugs / Issues - -Run a quick look through the currently open and closed issues and pull requests to make sure it hasn't already been reported or closed. If it's unique, feel free to open an issue. - -## Financial contributions - -On average, Arduino boards cost between $15 and $50, depending on the tech included on it. This can add up really quickly, and I've invested a substantial amount of money into the avrgirl project so far to continually expand support for new hardware. If you'd like to donate funds to help me purchase more hardware for testing purposes, [please do so here](https://www.paypal.me/noopkat), and thank you ever so much! - -## Code contribution workflow - -1. Fork this repository and clone the new fork locally. - -2. Run `npm install` to install the dev dependencies. - -3. Make your changes in a new git branch: `git checkout -b my-fix-branch master` - -4. Follow the coding style of this project. We base our style on the [Airbnb styleguide](https://github.com/airbnb/javascript) - -5. Create your patch/feature, including appropriate tests if a test suite is present - -6. Commit your changes using a descriptive commit message - -7. Rebase on master if your branch falls behind on commits - -8. Run the local tests via `npm test` to make sure everything is passing - -9. Push up your new branch to your forked repo - -10. In GitHub, send a pull request to `avrgirl-arduino:master`. Include an explanation of what you did, and reference any issues if they are related. - diff --git a/res-pc/node_modules/avrgirl-arduino/LICENSE.md b/res-pc/node_modules/avrgirl-arduino/LICENSE.md deleted file mode 100644 index 5f76bc3f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Suz Hinton - -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/res-pc/node_modules/avrgirl-arduino/README.md b/res-pc/node_modules/avrgirl-arduino/README.md deleted file mode 100644 index ef1120f3..00000000 --- a/res-pc/node_modules/avrgirl-arduino/README.md +++ /dev/null @@ -1,284 +0,0 @@ -[![Build Status](https://travis-ci.org/noopkat/avrgirl-arduino.svg?branch=master)](https://travis-ci.org/noopkat/avrgirl-arduino) [![Coverage Status](https://coveralls.io/repos/noopkat/avrgirl-arduino/badge.svg?branch=master&service=github)](https://coveralls.io/github/noopkat/avrgirl-arduino?branch=master) - -# avrgirl-arduino - -[![Greenkeeper badge](https://badges.greenkeeper.io/noopkat/avrgirl-arduino.svg)](https://greenkeeper.io/) - -A NodeJS library for flashing compiled sketch files to Arduino microcontroller boards. - -**Want to [contribute](CONTRIBUTING.md)?** - -**Own a supported Arduino and want to be a test pilot for this project with two minutes of your time?** - -1. Run `npm install -g avrgirl-arduino@latest` in your terminal. -2. Type `avrgirl-arduino test-pilot`, hit enter / return key and follow the prompts. -3. Thank you, friend :heart: - -![logo](http://i.imgur.com/AAvwp0F.png) - -## What is this? - -avrgirl-arduino is a NodeJS library written to present a convenient way to upload precompiled sketches to an Arduino. avrgirl-arduino supports a selection of Arduino boards. - -The current supported list: - -+ **Arduino Uno** -+ **Arduino Mega** -+ **Arduino ADK** -+ **Arduino Leonardo** -+ **Arduino Micro** -+ **Arduino Nano** -+ **Arduino Duemilanove (168)** -+ **Arduino Pro Mini** -+ **Arduino Lilypad USB** -+ **Arduino Yun** -+ **Arduino Esplora** -+ **Femtoduino IMUduino** -+ **RedBearLab Blend Micro** -+ **Tinyduino** -+ **Sparkfun Pro Micro** -+ **Qtechknow Qduino** -+ **Pinoccio Scout** -+ **Adafruit Feather 32u4 Basic Proto** -+ **Arduboy** -+ **Adafruit Circuit Playground** - -This library is designed to ultimately be rolled into the avrgirl project (in development), however it still works perfectly well as a stand-alone package to be used outside of avrgirl if you wish. - -## How to install - -1. Install NodeJS from [nodejs.org](http://nodejs.org) -2. Run `npm install avrgirl-arduino` in your shell of choice - -## For Windows users - -Before using your Arduino with avrgirl-arduino on Windows XP, 7, and 8, you may need to install the Arduino drivers included with the Arduino IDE. You can follow steps 1-4 on [this guide](https://www.arduino.cc/en/Guide/Windows) to install the [Arduino IDE](https://www.arduino.cc/en/Main/Software) and activate the [relevant drivers](https://www.arduino.cc/en/Guide/Windows#toc4). After step 4 of the guide (drivers) you will be ready to use your Arduino with avrgirl! - -## How do I use it? - -Your first task is to source a pre-compiled .hex file of the sketch you're interested in uploading to your Arduino. It needs to be compiled for your specific Arduino. You'll find some example hex files for each board within the `junk/hex` folder of this repo, however if you'd like to use your own, [see this guide](#sourcing-a-compiled-arduino-hex-file) if you're unsure of how to go about this. - -Already have a .hex file in a Buffer object ready to go? No problem! Pass this Buffer object in instead of the file path string, and avrgirl-arduino will take care of the rest. Hooray! - -Don't forget to plug your supported Arduino of choice into an available USB port on your computer! - -Wanna use this in the CLI? See [this section](#can-i-use-avrgirl-arduino-as-a-cli-tool). - -The following example code should get you up and running with an Arduino Uno: - -```javascript -var Avrgirl = require('avrgirl-arduino'); - -var avrgirl = new Avrgirl({ - board: 'uno' -}); - -avrgirl.flash('Blink.cpp.hex', function (error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); - -``` - -When creating `new Avrgirl()`, only the `board` property is required. The board names to use are detailed in the table below: - -|Programmer|Board Option String| -|:----------|:--------------| -|Arduino Uno|`uno`| -|Arduino Mega|`mega`| -|Arduino ADK|`adk`| -|Arduino Leonardo|`leonardo`| -|Arduino Micro|`micro`| -|Arduino Nano|`nano`| -|Arduino Lilypad USB|`lilypad-usb`| -|Arduino Duemilanove|`duemilanove168`| -|Arduino Yun|`yun`| -|Arduino Esplora|`esplora`| -|RedBearLab Blend Micro|`blend-micro`| -|Tiny Circuits Tinyduino|`tinyduino`| -|SparkFun Pro Micro|`sf-pro-micro`| -|Qtechknow Qduino|`qduino`| -|Pinoccio Scout|`pinoccio`| -|Femtoduino IMUduino|`imuduino`| -|Adafruit Feather 32u4 Basic Proto|`feather`| -|Arduboy|`arduboy`| -|Adafruit Circuit Playground|`circuit-playground-classic`| - -You can optionally specify a port to connect to the Arduino, but if you omit this property avrgirl-arduino will do a pretty good job of finding it for you. **The exception to this is if you're using the Arduino Pro Mini - please specify your port in this case as avrgirl-arduino cannot auto detect it for you.** - -Specifying the port would look something like this: - -```javascript -var avrgirl = new Avrgirl({ - board: 'uno', - port: '/dev/cu.usbmodem1412' -}); -``` - -You can list available USB ports programmatically using the the `list` method: - -```javascript -Avrgirl.list(function(err, ports) { - console.log(ports); - /* - [ { comName: '/dev/cu.usbmodem1421', - manufacturer: 'Arduino (www.arduino.cc)', - serialNumber: '55432333038351F03170', - pnpId: '', - locationId: '0x14200000', - vendorId: '0x2341', - productId: '0x0043', - _standardPid: '0x0043' } ] - */ -}); -``` - -Alternatively, you can use the CLI to list active ports: - -``` -$ avrgirl-arduino list -[ { comName: '/dev/cu.usbmodem1421', - manufacturer: 'Arduino (www.arduino.cc)', - serialNumber: '55432333038351F03170', - pnpId: '', - locationId: '0x14200000', - vendorId: '0x2341', - productId: '0x0043', - _standardPid: '0x0043' } ] -``` - -**Like logs?** Turn on debug mode to see simple flashing progress logs in the console: - -```javascript -var avrgirl = new Avrgirl({ - board: 'uno', - // turn on debug mode! - debug: true -}); -``` - -A sample: - -``` -found uno on port /dev/cu.usbmodem14141 -connected -flashing, please wait... -flash complete. -``` - -**Prefer your own custom debug behaviour?** No Problem! - -You can pass in your own debug function instead of a boolean, and avrgirl-arduino will run that instead. - -Example: - -```javascript -var myCustomDebug = function(debugLogString) { - // do your own debug stuff in here -} - -var avrgirl = new Avrgirl({ - board: 'uno', - // turn on debug with your own function - debug: myCustomDebug -}); -``` - -**Have a device that requires a manual reset?** - -You can pass in a `manualReset` property as a boolean, in either your custom board object _or_ in the general Avrgirl options. This will skip the reset flow when flashing the board. Please note that this is only available for use with boards that speak the AVR109 protocol (most ATMega32U4 powered boards). - - -Example without custom board: - -```javascript -var avrgirl = new Avrgirl({ - board: 'uno', - // you can put it here: - manualReset: true -}); -``` - -Example with custom board: - -```javascript -var board = { - name: 'micro', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0037', '0x8037', '0x0036'], - protocol: 'avr109', - // or you can put it here: - manualReset: true -}; - - -var avrgirl = new Avrgirl({ - board: board -}); -``` - -## Can I use avrgirl-arduino as a CLI tool? - -### You sure can! - -Run `npm install -g avrgirl-arduino` in a shell session to install globally for easy CLI use. - -The same example above would look like the following as a CLI call in your shell: - -`avrgirl-arduino flash -f Blink.cpp.hex -a uno` - -Required flags: - -+ **-f** specify the location of the hex file to flash -+ **-a** specify the name of the Arduino (`uno`, `mega`,`leonardo`, `micro`, `nano`, `pro-mini`, `duemilanove168`, `yun`, `esplora`, `blend-micro`, `tinyduino`, `sf-pro-micro`, `qduino`, `pinoccio`, `feather`, or `imuduino`) - -Optional flags: - -+ **-p** will allow you to specify the port where your Arduino is plugged in. **Remember to specify your port if using an Arduino Pro Mini.** -+ **-v** will turn on debug/verbose mode, which will print a log of things when you run the command. - -You can also list the supported boards: - -`avrgirl-arduino boards` - -As well as listing all available USB devices on your computer: - -`avrgirl-arduino list` - -The output will be presented in JSON format, very similar to the output of the `Serialport.list()` method (if you've used [node-serialport](https://github.com/voodootikigod/node-serialport) before). - -## Sourcing a compiled Arduino hex file - -A .hex file is the compiled end result of an Arduino sketch file. I have provided some example hex files for each board within the `junk/hex` folder of this repo. Feel free to use these, or if you're after something specific not provided, see the directions below. - -The most common way to compile a sketch for your Arduino of choice is to download and install the [Arduino IDE](https://www.arduino.cc/en/Main/Software). Ensure you install version 1.6.5 or greater for the following steps. - -1. Open the sketch file you'd like to export, or write a new one if you need to. -2. Choose the correct target Arduino board you want to compile the hex file for, from the Tools -> Board menu. -3. Export your hex file by navigating to Sketch -> Export compiled binary -![screenshot of the Sketch menu in Arduino IDE with Export compiled binary menu item highlighted in blue](http://f.cl.ly/items/0r1A082H3U3G0U2z1Z40/export_bin.png) -4. You can find the exported hex file in the same directory your sketch file is located in. - -## Acknowledgements - -Credit to [Jacob Rosenthal](https://github.com/jacobrosenthal), [Ryan Day](https://github.com/soldair), and [Elijah Insua](https://github.com/tmpvar) for a lot of the heavy lifting going on underneath in this library. - -## Contributors - -+ [Arek Sredzki](https://github.com/ArekSredzki) -+ [Pawel Szymczykowski](https://github.com/makenai) -+ [Andrew 'AJ' Fisher](https://github.com/ajfisher) -+ [Derek Wheelden](https://github.com/frxnz) -+ [Byron Hulcher](https://github.com/byronhulcher) -+ [Luis Montes](https://github.com/monteslu) -+ [Ryan Braganza](https://github.com/ryanbraganza) -+ [Alvaro Sanchez](https://github.com/alvarosBQ) -+ [Francis Gulotta](https://github.com/reconbot) -+ [Tom Calvo](https://github.com/tocalvo) -+ [Kimio Kosaka](https://github.com/kimio-kosaka) -+ [Sandeep Mistry](https://github.com/sandeepmistry) -+ [Nick Hehr](https://github.com/hipsterbrown) diff --git a/res-pc/node_modules/avrgirl-arduino/avrgirl-arduino.js b/res-pc/node_modules/avrgirl-arduino/avrgirl-arduino.js deleted file mode 100644 index 819495b6..00000000 --- a/res-pc/node_modules/avrgirl-arduino/avrgirl-arduino.js +++ /dev/null @@ -1,127 +0,0 @@ -var boards = require('./boards'); -var Connection = require('./lib/connection'); -var protocols = require('./lib/protocols'); - -/** - * Constructor - * - * @param {object} opts - options for consumer to pass in - */ -var AvrgirlArduino = function(opts) { - opts = opts || {}; - - this.options = { - debug: opts.debug || false, - board: opts.board || 'uno', - port: opts.port || '', - manualReset: opts.manualReset || false - }; - - // this here checks for 3 conditions: - // if debug option is simply true, we want to fall back to default debug function - // if a custom debug function is passed in, we want to assign debug to be that - // if debug option is false, then run debug as a no-op - if (this.options.debug === true) { - this.debug = console.log.bind(console); - } else if (typeof this.options.debug === 'function') { - this.debug = this.options.debug; - } else { - this.debug = function() {}; - } - - if (typeof this.options.board === 'string') { - this.options.board = boards[this.options.board]; - } else if (typeof this.options.board === 'object') { - this.options.board = this.options.board; - } - - if (this.options.board && !this.options.board.manualReset) { - this.options.board.manualReset = this.options.manualReset; - } - - this.connection = new Connection(this.options); - - if (this.options.board) { - var Protocol = protocols[this.options.board.protocol] || function() {}; - - this.protocol = new Protocol({ - board: this.options.board, - connection: this.connection, - debug: this.debug - }); - } -}; - -/** - * Validates the board properties - * - * @param {function} callback - function to run upon completion/error - */ -AvrgirlArduino.prototype._validateBoard = function(callback) { - if (typeof this.options.board !== 'object') { - // cannot find a matching board in supported list - return callback(new Error('"' + this.options.board + '" is not a supported board type.')); - - } else if (!this.protocol.chip) { - // something went wrong trying to set up the protocol - var errorMsg = 'not a supported programming protocol: ' + this.options.board.protocol; - return callback(new Error(errorMsg)); - - } else if (!this.options.port && this.options.board.name === 'pro-mini') { - // when using a pro mini, a port is required in the options - return callback(new Error('using a pro-mini, please specify the port in your options.')); - - } else { - // all good - return callback(null); - } -}; - -/** - * Public method for flashing a hex file to the main program allocation of the Arduino - * - * @param {string} file - path to hex file for uploading - * @param {function} callback - function to run upon completion/error - */ -AvrgirlArduino.prototype.flash = function(file, callback) { - var _this = this; - - // validate board properties first - _this._validateBoard(function(error) { - if (error) { return callback(error); } - - // set up serialport connection - _this.connection._init(function(error) { - if (error) { return callback(error); } - - // upload file to board - _this.protocol._upload(file, callback); - }); - }); -}; - -/** - * Return a list of devices on serial ports. In addition to the output provided - * by SerialPort.list, it adds a platform independent PID in _pid - * - * @param {function} callback - function to run upon completion/error - */ -AvrgirlArduino.prototype.listPorts = AvrgirlArduino.listPorts = -AvrgirlArduino.prototype.list = AvrgirlArduino.list = function(callback) { - return Connection.prototype._listPorts(callback); -}; - -/** - * Static method to return the names of all known boards. - */ -AvrgirlArduino.listKnownBoards = function() { - // filter the boards to find all non-aliases - return Object.keys(boards).filter(function(name) { - // fetch the current board aliases - var aliases = boards[name].aliases; - // only allow the name if it's not an alias - return !aliases || !~aliases.indexOf(name); - }); -}; - -module.exports = AvrgirlArduino; \ No newline at end of file diff --git a/res-pc/node_modules/avrgirl-arduino/bin/cli.js b/res-pc/node_modules/avrgirl-arduino/bin/cli.js deleted file mode 100755 index 5b9707dd..00000000 --- a/res-pc/node_modules/avrgirl-arduino/bin/cli.js +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env node -var Avrgirl = require('../avrgirl-arduino'); -var boards = require('../boards'); -var parseArgs = require('minimist'); -var path = require('path'); -var child = require('child_process'); -var testPilot = require('../lib/test-pilot-checker'); - -var args = (process.argv.slice(2)); -var argv = parseArgs(args, {}); -var userAction = argv._[0]; -var help = 'Usage:\n' + - ' avrgirl-arduino flash -f -a [-p ] [-v]\n' + - ' avrgirl-arduino boards\n' + - ' avrgirl-arduino list\n' + - ' avrgirl-arduino test-pilot'; - -function showHelp() { - console.log(help); -} - -function flash(file, options) { - var avrgirl = new Avrgirl(options); - var filepath = path.resolve(process.cwd(), file); - - avrgirl.flash(filepath, function(error) { - if (error) { - console.error(error); - process.exit(1); - } - }); -} - -function handleInput(action, argz) { - switch (action) { - case 'flash': { - if (!argz.f || !argz.a) { - showHelp(); - process.exit(1); - } else if (!boards[argz.a]) { - console.error(new Error('Oops! That board is not supported, sorry.')); - process.exit(1); - } else { - // run flash function here if all is well - var options = { - board: argz.a, - port: argz.p || '', - debug: argz.v || false - }; - - flash(argz.f, options); - } - - break; - } - - case 'boards': { - var boardNames = Object.keys(boards).sort(); - console.log('Supported Boards:\n - ' + boardNames.join('\n - ')); - break; - } - - case 'list': { - Avrgirl.listPorts(function(err, ports) { - console.log(ports); - }); - - break; - } - - case 'help': { - showHelp(); - process.exit(); - break; - } - - case 'test-pilot': { - console.log('running preflight check...'); - testPilot.checkForInstall(function(err, isInstalled) { - if (isInstalled) { - testPilot.run(); - } else { - console.log('installing test pilot, won\'t be long...'); - testPilot.install(function(err) { - if (err) { - var msg = err; - if (err.code === 'EACCES' || err.code === 'EPERM') { - msg = new Error('Oops! We ran into a permissions issue... you might want to check out this resource https://docs.npmjs.com/getting-started/fixing-npm-permissions'); - } - return console.log(msg); - } else { - testPilot.run(); - } - }); - } - }); - break; - } - - default: { - // Invalid or no argument specified, show help and exit with an error status - showHelp(); - process.exit(9); - break; - } - } -} - -handleInput(userAction, argv); diff --git a/res-pc/node_modules/avrgirl-arduino/boards.js b/res-pc/node_modules/avrgirl-arduino/boards.js deleted file mode 100644 index 6a90798a..00000000 --- a/res-pc/node_modules/avrgirl-arduino/boards.js +++ /dev/null @@ -1,239 +0,0 @@ -var boards = [ - { - name: 'uno', - baud: 115200, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x0043', '0x7523', '0x0001', '0xea60'], - protocol: 'stk500v1' - }, - { - name: 'micro', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0037', '0x8037', '0x0036', '0x0237'], - protocol: 'avr109' - }, - { - name: 'imuduino', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0036', '0x8037', '0x8036'], - protocol: 'avr109' - }, - { - name: 'leonardo', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0036', '0x8036', '0x800c'], - protocol: 'avr109' - }, - { - name: 'arduboy', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0036', '0x8036', '0x800c'], - protocol: 'avr109' - }, - { - name: 'feather', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x800c', '0x000c'], - protocol: 'avr109' - }, - { - name: 'little-bits', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0036', '0x8036'], - protocol: 'avr109' - }, - { - name: 'blend-micro', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x2404'], - protocol: 'avr109' - }, - { - name: 'nano', - baud: 57600, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x6001', '0x7523'], - protocol: 'stk500v1' - }, - { - name: 'duemilanove168', - baud: 19200, - signature: new Buffer([0x1e, 0x94, 0x06]), - pageSize: 128, - numPages: 128, - timeout: 400, - productId: ['0x6001'], - protocol: 'stk500v1' - }, - { - name: 'duemilanove328', - baud: 57600, - signature: new Buffer([0x1e, 0x95, 0x14]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x6001'], - protocol: 'stk500v1' - }, - // the alias is here because of an accidental naming change of the tinyduino - // keeping in for backwards compatibility (SHA 05d65842) - { - name: 'tinyduino', - baud: 57600, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x6015'], - protocol: 'stk500v1', - aliases: ['tinduino'] - }, - { - name: 'bqZum', - baud: 19200, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x6001', '0x7523'], - protocol: 'stk500v1' - }, - { - name: 'mega', - baud: 115200, - signature: new Buffer([0x1e, 0x98, 0x01]), // ATmega2560 - pageSize: 256, - delay1: 10, - delay2: 1, - timeout:0xc8, - stabDelay:0x64, - cmdexeDelay:0x19, - synchLoops:0x20, - byteDelay:0x00, - pollValue:0x53, - pollIndex:0x03, - productId: ['0x0042', '0x6001', '0x0010', '0x7523'], - protocol: 'stk500v2' - }, - { - name: 'adk', - baud: 115200, - signature: new Buffer([0x1e, 0x98, 0x01]), // ATmega2560 - pageSize: 256, - delay1: 10, - delay2: 1, - timeout:0xc8, - stabDelay:0x64, - cmdexeDelay:0x19, - synchLoops:0x20, - byteDelay:0x00, - pollValue:0x53, - pollIndex:0x03, - productId: ['0x0044', '0x6001', '0x003F'], - protocol: 'stk500v2' - }, - { - name: 'sf-pro-micro', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x9206', '0x9205'], - protocol: 'avr109' - }, - { - name: 'pro-mini', - baud: 57600, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - protocol: 'stk500v1' - }, - { - name: 'qduino', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x516d', '0x514d'], - protocol: 'avr109' - }, - { - name: 'pinoccio', - baud: 115200, - signature: new Buffer([0x1e, 0xa8, 0x02]), // ATmega256RFR2 - pageSize: 256, - delay1: 10, - delay2: 1, - timeout:0xc8, - stabDelay:0x64, - cmdexeDelay:0x19, - synchLoops:0x20, - byteDelay:0x00, - pollValue:0x53, - pollIndex:0x03, - productId: ['0x6051'], - protocol: 'stk500v2' - }, - { - name: 'lilypad-usb', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x9207', '0x9208', '0x1B4F'], - protocol: 'avr109' - }, - { - name: 'yun', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0041', '0x8041'], - protocol: 'avr109' - }, - { - name: 'esplora', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x003C', '0x803C'], - protocol: 'avr109' - }, - { - name: 'circuit-playground-classic', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0011', '0x8011'], - protocol: 'avr109' - } -]; - -/** - * Generate an object with board name keys for faster lookup - * @return {object} byBoardName - */ -function boardLookupTable() { - var byBoard = {}; - for (var i = 0; i < boards.length; i++) { - var currentBoard = boards[i]; - byBoard[currentBoard.name] = currentBoard; - - var aliases = currentBoard.aliases; - if (Array.isArray(aliases)) { - for (var j = 0; j < aliases.length; j++) { - var currentAlias = aliases[j]; - byBoard[currentAlias] = currentBoard; - } - } - } - return byBoard; -} - -module.exports = boardLookupTable(); diff --git a/res-pc/node_modules/avrgirl-arduino/gulpfile.js b/res-pc/node_modules/avrgirl-arduino/gulpfile.js deleted file mode 100644 index d3ffcf4c..00000000 --- a/res-pc/node_modules/avrgirl-arduino/gulpfile.js +++ /dev/null @@ -1,30 +0,0 @@ -var gulp = require('gulp'); -var tape = require('gulp-tape'); -var tapSpec = require('tap-spec'); -var jscs = require('gulp-jscs'); -var jshint = require('gulp-jshint'); -var stylish = require('jshint-stylish'); - -gulp.task('spec', function() { - return gulp.src(['tests/*.spec.js']) - .pipe(tape({ - reporter: tapSpec() - })); -}); - -gulp.task('jscs', function() { - return gulp.src(['tests/*.spec.js', 'tests/helpers/*.js', 'avrgirl-arduino.js', 'lib/*.js'], { base: "./" }) - .pipe(jscs({fix: true})) - .pipe(gulp.dest('.')) - .pipe(jscs.reporter()) - .pipe(jscs.reporter('fail')) -}); - -gulp.task('lint', function() { - return gulp.src(['tests/*.spec.js', 'tests/helpers/*.js', 'avrgirl-arduino.js', 'lib/*.js']) - .pipe(jshint()) - .pipe(jshint.reporter('jshint-stylish')) - .pipe(jshint.reporter('fail')); -}); - -gulp.task('test', ['spec', 'lint']); diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/arduboy/README.md b/res-pc/node_modules/avrgirl-arduino/junk/hex/arduboy/README.md deleted file mode 100644 index 5cd5fbcd..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/arduboy/README.md +++ /dev/null @@ -1,2 +0,0 @@ -this rund game is by the awesome Flaki (@slsoftworks) -https://github.com/flaki/arduboy-rund-ino diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/arduboy/rund.cpp.leonardo.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/arduboy/rund.cpp.leonardo.hex deleted file mode 100644 index 4fe1750c..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/arduboy/rund.cpp.leonardo.hex +++ /dev/null @@ -1,937 +0,0 @@ -:100000000C944C050C9474050C9474050C947405B4 -:100010000C9474050C9474050C9474050C9474057C -:100020000C9474050C9474050C9470160C943C1587 -:100030000C9474050C9474050C9474050C9474055C -:100040000C9474050C940D0F0C9474050C947405A9 -:100050000C9474050C9474050C9474050C94BE10E7 -:100060000C9474050C9474050C9474050C9474052C -:100070000C9474050C9474050C9474050C9474051C -:100080000C94800F0C9474050C9474050C947405F6 -:100090000C9474050C9474050C9474050C947405FC -:1000A0000C9474050C9474050C947405CF11D41140 -:1000B000D911E311ED11371237123712F71101126E -:1000C0000B121512221237122A1258125B124A1200 -:1000D0004E1254127C127C127C125F126312671251 -:1000E0006D1271127C12771200000000011F1703BD -:1000F00001030F08000000000000000000000000E5 -:10010000010F0B0101031F100000000000000000A0 -:1001100000000000011F170301031F100000000072 -:100120000000000000000000000000000000FEFFD2 -:10013000FBFFFFBFBFBF3F3E7EF8F0E0E0F0F8FC02 -:10014000FEFFFFFFFF7F040C000000000000010322 -:100150000303030303030303010000000000000086 -:10016000000000000000000000000000000000008F -:1001700000000000000000000000000000007EF809 -:10018000F0E0E0F0F0F8F8F8F8F0F0F0E0E0C0C0EF -:1001900080C0F0A8D8A8F8F8F8F8F8F0000001033B -:1001A0000303030303030303030303030303030121 -:1001B000030303030303030303011C22222224106D -:1001C000122A21414141424A24241800000000FE25 -:1001D000FFFFFE00C0C080FEFFFE00FFFFFFFFC06C -:1001E000FFFF7F01030383FFFFFFFF80000000F09C -:1001F000F89C8E8783878E9CF8F00000FEFF030337 -:10020000030303070EFCF80000FEFF0303030303D0 -:10021000070EFCF80000FFFF00000000000000FFD8 -:10022000FF0000FEFF8383838383C7EE7C380000DA -:10023000F8FC0E07030303070EFCF800003F7FE005 -:10024000C08080C0E07F3FFFFF010101010101018B -:10025000FFFF0000FFFF0C0C0C0C1C3E77E3C100FD -:10026000007FFFC0C0C0C0C0E0703F1F00001F3F44 -:1002700070E0C0C0C0E0703F1F00007FFFC1C1C17F -:10028000C1C1E3773E1C00001F3F70E0C0C0C0E06A -:10029000703F1F000000000001FFFF010000000090 -:1002A000000000003E5B4F5B3E3E6B4F6B3E1C3ED2 -:1002B0007C3E1C183C7E3C181C577D571C1C5E7FE6 -:1002C0005E1C00183C1800FFE7C3E7FF0018241865 -:1002D00000FFE7DBE7FF30483A060E26297929269A -:1002E000407F050507407F05253F5A3CE73C5A7F84 -:1002F0003E1C1C08081C1C3E7F14227F22145F5FDA -:10030000005F5F06097F017F006689956A60606013 -:10031000606094A2FFA29408047E040810207E204E -:100320001008082A1C08081C2A08081E10101010A3 -:100330000C1E0C1E0C30383E3830060E3E0E0600E9 -:100340000000000000005F00000007000700147FAD -:10035000147F14242A7F2A12231308646236495614 -:1003600020500008070300001C2241000041221C0D -:10037000002A1C7F1C2A08083E08080080703000F4 -:100380000808080808000060600020100804023E09 -:100390005149453E00427F4000724949494621414A -:1003A000494D331814127F1027454545393C4A49B9 -:1003B00049314121110907364949493646494929F8 -:1003C0001E00001400000040340000000814224108 -:1003D0001414141414004122140802015909063E91 -:1003E000415D594E7C1211127C7F494949363E418C -:1003F0004141227F4141413E7F494949417F0909AD -:1004000009013E414151737F0808087F00417F4147 -:10041000002040413F017F081422417F404040407E -:100420007F021C027F7F0408107F3E4141413E7FD6 -:10043000090909063E4151215E7F091929462649CD -:1004400049493203017F01033F4040403F1F2040A4 -:10045000201F3F4038403F631408146303047804AE -:10046000036159494D43007F414141020408102076 -:10047000004141417F0402010204404040404000ED -:100480000307080020545478407F284444383844F7 -:10049000444428384444287F385454541800087E73 -:1004A000090218A4A49C787F0804047800447D40C5 -:1004B000002040403D007F1028440000417F400064 -:1004C0007C047804787C080404783844444438FC7C -:1004D0001824241818242418FC7C08040408485400 -:1004E00054542404043F44243C4040207C1C2040BD -:1004F000201C3C4030403C44281028444C909090B4 -:100500007C4464544C4400083641000000770000ED -:10051000004136080002010204023C2623263C1E4C -:10052000A1A161123A4040207A38545455592155BE -:1005300055794121545478412155547840205455DF -:1005400079400C1E5272123955555559395454542C -:100550005939555454580000457C410002457D42AC -:100560000001457C40F0292429F0F0282528F07C62 -:10057000545545002054547C547C0A097F49324923 -:100580004949323248484832324A4848303A414173 -:10059000217A3A42402078009DA0A07D394444440D -:1005A000393D4040403D3C24FF2424487E49436679 -:1005B0002B2FFC2F2BFF0929F620C0887E09032052 -:1005C000545479410000447D413048484A32384013 -:1005D00040227A007A0A0A727D0D19317D26292976 -:1005E0002F28262929292630484D40203808080878 -:1005F0000808080808382F10C8ACBA2F102834FA99 -:1006000000007B000008142A142222142A140895E2 -:1006100000220095AA005500AAAA55AA55AA0000D2 -:1006200000FF00101010FF00141414FF001010FF42 -:1006300000FF1010F010F0141414FC001414F70054 -:10064000FF0000FF00FF1414F404FC141417101F23 -:1006500010101F101F1414141F00101010F00000B1 -:1006600000001F101010101F10101010F0100000CC -:1006700000FF101010101010101010FF10000000DC -:10068000FF140000FF00FF00001F10170000FC0413 -:10069000F414141710171414F404F40000FF00F7F6 -:1006A00014141414141414F700F714141417141059 -:1006B000101F101F141414F4141010F010F0000088 -:1006C0001F101F0000001F14000000FC140000F0A9 -:1006D00010F01010FF10FF141414FF141010101F4E -:1006E00000000000F010FFFFFFFFFFF0F0F0F0F05F -:1006F000FFFFFF0000000000FFFF0F0F0F0F0F387C -:10070000444438447C2A2A3E147E02020606027EB5 -:10071000027E0263554941633844443C04407E20D4 -:100720001E2006027E020299A5E7A5991C2A492AE5 -:100730001C4C7201724C304A4D4D30304878483074 -:10074000BC625A463D3E494949007E0101017E2A6C -:100750002A2A2A2A44445F444440514A444040449F -:100760004A51400000FF0103E080FF000008086BD1 -:100770006B083612362436060F090F0600001818CB -:100780000000001010003040FF0101001F01011E99 -:1007900000191D1712003C3C3C3C00000000000604 -:1007A000011501260137014A015D01720188019F8F -:1007B00001B801D201EE010B022A024B026E029334 -:1007C00002BA02E40210033F037003A403DC031720 -:1007D0000455049704DD0427057505C80520067D2A -:1007E00006E0064907B8072D08A9082D09B9094DE3 -:1007F0000AEA0A900B400CFA0CC00D910E6F0F5ACA -:100800001053115B1272139A14D41520178018F527 -:1008100019801B231DDE1EB420A622B524E4263435 -:1008200029A72B402E0031EA330037453ABC3D68FA -:10083000414C456B49C84D68524F57805C0062106F -:10084000111213151617181A1C1D1F2123252729ED -:100850002C2E3134373A3E4145494E52575C62683E -:100860006E757B838B939CA5AFB9C4D0DCE9F7038D -:1008700001D5F08D14A1C881CFD9F1AF20001402A9 -:100880001302120215020702080204010C010601FC -:10089000000000000200090F0000030401000C002A -:1008A0000000000000000000000000000000000444 -:1008B000080201104080401020408040800802045F -:1008C00001804020100201108010204040040404E8 -:1008D00004040304050202020204030202020206E7 -:1008E00006060606060404020202040000000025B3 -:1008F0000028002B002E00310000000000240027FB -:10090000002A002D00300000C18081C112010002C8 -:100910000200004041233680000101020001120163 -:100920000002000000404123368000010102000166 -:1009300041726475696E6F204C4C4300417264755E -:10094000696E6F204C656F6E6172646F00040309FD -:1009500004080B0002020201000904000001020267 -:1009600000000524001001052401010104240206F1 -:100970000524060001070581031000400904010059 -:10098000020A00000007050202400000070583027A -:1009900040000000000000000000002A2B2800009A -:1009A0000000000000000000000000000000000047 -:1009B0000000002C9EB4A0A1A2A434A6A7A5AE3628 -:1009C0002D3738271E1F20212223242526B333B696 -:1009D0002EB7B89F8485868788898A8B8C8D8E8F69 -:1009E000909192939495969798999A9B9C9D2F316C -:1009F00030A3AD350405060708090A0B0C0D0E0FD0 -:100A0000101112131415161718191A1B1C1DAFB14B -:100A1000B0B5000904020001030000000921010132 -:100A20000001226500070584034000010501090259 -:100A3000A1010901A100850105091901290315007A -:100A40002501950375018102950175058103050155 -:100A50000930093109381581257F7508950381060C -:100A6000C0C005010906A1018502050719E029E7B3 -:100A7000150025017501950881029501750881030E -:100A8000950675081500256505071900296581007B -:100A9000C0008E08E417371911241FBECFEFDAE02B -:100AA000DEBFCDBF11E0A0E0B1E0E4E2FAE302C0B6 -:100AB00005900D92A035B107D9F726E0A0E5B1E089 -:100AC00001C01D92AD31B207E1F71AE0C8E9DAE0E2 -:100AD00004C02297FE010E94AF19C239D107C9F79D -:100AE0000E94ED120C94101D0C940000CF93DF9324 -:100AF000C8EFDFEF82E791E00E94BD09AE016EE230 -:100B000070E082E791E00E949E0C6EE071E082E767 -:100B100091E00E943E1382E791E00E94A70C60E101 -:100B200070E080E090E00E942B112296CC31D1053C -:100B300009F728E730E040E050E06BED73E086E72E -:100B400091E00E94930E68E770E080E090E00E94E0 -:100B50002B1120E931E040E050E066E275E086E7E5 -:100B600091E00E94930E40E350E06AE270E082E779 -:100B700091E00E949E0C66E171E082E791E00E94A4 -:100B80003E1382E791E00E94A70C60ED77E080E0E1 -:100B900090E00E942B1121E030E040E050E066E25E -:100BA00075E086E791E0DF91CF910C94930E82E798 -:100BB00091E00E94800B6CE382E791E00E94F208D2 -:100BC0000E94760510925F0110925E0110925D0105 -:100BD00010925C0182E090E090935B0180935A0157 -:100BE000109259011092580110925701109256011B -:100BF000109253011092520110925501109254011B -:100C000082E890E090935101809350010895CF9233 -:100C1000EF920F931F93CF93DF93809154019091A4 -:100C20005501892B39F468E082E791E00E94AA0C13 -:100C3000811115C08091520190915301892BB1F01F -:100C400068E082E791E00E94AA0C882379F0DF91A6 -:100C5000CF911F910F91EF90CF900C94D70581E029 -:100C600090E09093550180935401E4CF80917001FE -:100C700090917101019681382EE3920708F4CDC15D -:100C80001092710110927001809154019091550160 -:100C9000892B09F44EC080915C0190915D01019611 -:100CA00090935D0180935C0105970CF0BBC120918E -:100CB0005001309151012250310980915E01909193 -:100CC0005F0164E670E00E94581980917001909174 -:100CD000710181709927689FA001699F500D789FCD -:100CE000500D1124241B350B3093510120935001DA -:100CF000213F3F4FF4F42CE330E040E050E060E06F -:100D000070E0CB010E9408172091500130915101F1 -:100D10008901222717FD2095322F64577F4F8F4F6F -:100D20009F4F060F171F281F391F10935101009363 -:100D300050018091560190915701892B09F080C193 -:100D400068E082E791E00E94AA0C882309F478C148 -:100D500081E090E0909357018093560185E090E008 -:100D6000909359018093580128E230E040E050E030 -:100D700068EB71E086E791E00E94930E809152014A -:100D800090915301892B99F48091500190915101D8 -:100D90000996499760F480915601909157010E97FA -:100DA00034F481E090E0909353018093520180915C -:100DB0005201909153010097D1F18130910539F49E -:100DC00020E530E040E050E066EF70E008C00697B4 -:100DD00051F428EC30E040E050E06EEA70E086E745 -:100DE00091E00E94930E80915201909153010196DF -:100DF0009093530180935201809158019091590131 -:100E00008D3F2FEF92077CF00197909359018093CB -:100E10005801809150019091510101979093510197 -:100E20008093500104C0109255011092540182E742 -:100E300091E00E94BD0940E050E064E670E082E786 -:100E400091E00E949E0C80915F018F9380915E01E2 -:100E50008F938FE191E09F938F9380E691E09F9332 -:100E60008F930E942F1A60E671E082E791E00E9462 -:100E70003E13E0915A01F0915B0180915E019091E7 -:100E80005F0120E830E0B9010E945819B901681BE0 -:100E9000790BCC24C394A7E0EA2E01E12AEB31E0E0 -:100EA000AF0182E791E00E94BF0980915E019091BD -:100EB0005F018F7799270F900F900F900F900F90F1 -:100EC0000F90892B69F42AE030E040E050E060E0C8 -:100ED00070E0CB010E94081770935B0160935A0188 -:100EE0008091580190915901EE24E3940CE310E0B5 -:100EF00005973CF02FE730E04CE350E060E070E015 -:100F000010C023E030E04CE350E060E070E082E7A6 -:100F100091E00E9422092FE730E04CE350E06CE0C2 -:100F200070E082E791E00E94220960915001709187 -:100F30005101CC24C394E8E1EE2E0CE02BEC31E01F -:100F400048E250E082E791E00E94BF09C091580159 -:100F5000D091590148E250E04C1B5D0B8091520149 -:100F600090915301892B31F062E1E62E0EE120E6EB -:100F700031E03DC0CC24C39432E1E32E04E124E20D -:100F800031E060E070E082E791E00E94BF0980916B -:100F9000540190915501892BF9F08091580190915D -:100FA0005901892BC9F4809170019091710187706A -:100FB00099274AE350E04C1B5D0B049728F025E08D -:100FC000E22E2CEF30E013C0CC24C39495E0E92E40 -:100FD00004E128EE30E00BC04AE350E04C1B5D0B0F -:100FE000CC24C39485E0E82E04E120E131E060E008 -:100FF00070E082E791E00E94BF0982E791E00E94E1 -:10100000A70C60E170E080E090E0DF91CF911F914C -:101010000F91EF90CF900C942B11909371018093CE -:10102000700132CE10925D0110925C0180915E01E0 -:1010300090915F01019690935F0180935E0137CE9E -:101040008091560190915701009709F497CE03972C -:1010500051F420E530E040E050E060E773E086E7DF -:1010600091E00E94930E8091560190915701019654 -:1010700090935701809356018630910534F4809106 -:10108000580190915901069641C08930910534F478 -:101090008091580190915901029638C08D30910588 -:1010A00034F4809158019091590101962FC08031FC -:1010B0009105B9F382319105A1F38431910519F0BD -:1010C0008631910531F48091580190915901019731 -:1010D0001DC0873291054CF01092590110925801B1 -:1010E000109257011092560149CE8132910534F089 -:1010F0008091580190915901069708C08E31910551 -:1011000054F08091580190915901029790935901A0 -:101110008093580133CE4A97B4F630CE82E791E0FF -:101120000C94C808CF93CFB7F89480918C058111A7 -:1011300027C0EEEDF8E08491E0ECF8E09491E82F20 -:10114000F0E0EE0FFF1FE750F74FA591B4918C919F -:10115000892321F461E081E10E94B61261E081E11E -:101160000E947D128CB580618CBD8CB580648CBD75 -:1011700061E08FE00E947D1261E080E10E947D12BB -:1011800080918C058F5F80938C05CFBFCF910895A0 -:10119000CF93DF93EC018EE291E0998388831B82E9 -:1011A0001A82CE010E94AB0F86E291E09983888378 -:1011B0008CE38E8380E1898718861F821E861F86B6 -:1011C000188A198A1A8AFE01EC5EFB4F118210827E -:1011D000329611821082C85EDB4F81E08883DF91F6 -:1011E000CF910895FC01668370E088EE93E00E9441 -:1011F0005819618708956038710518F54034510514 -:1012000000F5E42FE695E695E695F0E04770552762 -:10121000F695FE2FEE27F795E795E60FF71FE80FF7 -:10122000F91F81E090E0042E01C0880F0A94EAF7CC -:10123000222319F09489982B03C0809594899823D0 -:10124000948B08952F923F924F925F926F927F926C -:101250008F929F92AF92BF92CF92DF92EF92FF92C6 -:101260000F931F93CF93DF932C01EB016A01590178 -:101270009801241B350B37FF03C0319521953109A7 -:10128000C5018C1B9D0B97FF03C09195819591091A -:10129000FF24F3948217930714F0F12C0AC09A2DBF -:1012A0008B2D5801092F182F9C2F8D2FE601C92E49 -:1012B000D82EAC16BD0654F49C2D8D2D6801092F37 -:1012C000182F9C2F8D2FE501A92EB82E15012C1A51 -:1012D0003D0A38016C187D0877FE03C07194619453 -:1012E0007108410137FE03C08FEF881A980A959460 -:1012F0008794C016D10614F401E001C00FEF112746 -:1013000007FD1095AC16BD06ACF02E2DFF2019F090 -:10131000AE01B60102C0A601BE01C2010E94FB08D7 -:101320008618970897FE04C0C00ED11E820C931C2D -:101330002196E8CFDF91CF911F910F91FF90EF9011 -:10134000DF90CF90BF90AF909F908F907F906F90E5 -:101350005F904F903F902F9008954496B62FB11113 -:10136000BFEFFC010024B193B193B193B193039407 -:10137000D1F7089560E00C94AD090C94BA092F924E -:101380003F924F925F926F927F928F929F92AF9215 -:10139000BF92CF92DF92EF92FF920F931F93CF9362 -:1013A000DF9300D000D01F92CDB7DEB7C982202EC8 -:1013B000312CFB01E20DF31DF7FD13C160387105FF -:1013C0000CF00FC1FA01EE0DF11DF7FD0AC140341A -:1013D00051050CF006C1DA0157FF04C0AA27BB274C -:1013E000A41BB50BFD01E770FF27FB83EA83FA011D -:1013F00057FD3796DF0113E0B595A7951A95E1F7EC -:10140000BD83AC8357FF0CC01197BD83AC8348E00C -:1014100050E0DA01EA81FB81AE1BBF0BBB83AA83DC -:101420004E2D469546954695C42ED12C4E2D47708F -:1014300019F0FFEFCF1ADF0A49014C815D81569503 -:10144000542F442757954795480F591F2C813D81AC -:10145000F8E06F2E712C8A819B81681A790AC90184 -:10146000AC81BD818A1B9B0B8C159D050CF0B9C00E -:101470002830310509F4B5C02F3F9FEF39070CF430 -:10148000A3C0CB0100E010E0DA01A058BF4F2D014E -:10149000021513050CF098C08038910509F494C02A -:1014A00097FD8EC02F3FBFEF3B0709F494C0D801D2 -:1014B000A80DB91D7A01E80EF91EE981E13071F439 -:1014C000FD01A491B0E00A8002C0AA0FBB1F0A94DC -:1014D000E2F7F701B488AB29A48B28C0F981F11198 -:1014E00014C0FD01A491EA2FF0E00A8002C0EE0FC3 -:1014F000FF1F0A94E2F7E095F095D7015496AC905F -:101500005497B12CEA21FB210FC0FD01A491EA2FD1 -:10151000F0E00A8002C0EE0FFF1F0A94E2F7D70145 -:101520005496BC905497EB255496EC93AA81BB81BA -:10153000AB2B09F445C02730310509F441C0F8014F -:10154000E80DF91DB981B13089F4E491F0E0062C81 -:1015500002C0F595E7950A94E2F77201E80EF91ECC -:10156000D7015496BC905497EB2928C0B981B1118A -:1015700015C0E491F0E0062C02C0F595E7950A94B9 -:10158000E2F7E095F0957201E80EF91ED701549646 -:10159000AC905497B12CEA21FB2110C0E491F0E00B -:1015A000062C02C0F595E7950A94E2F77201E80E61 -:1015B000F91ED7015496BC905497EB255496EC93A2 -:1015C0000F5F1F4F019664CF2F5F3F4F820C931C1C -:1015D00040585F4F44CFAA81BB81AB2B09F0AFCFFE -:1015E000EFCF0F900F900F900F900F90DF91CF9152 -:1015F0001F910F91FF90EF90DF90CF90BF90AF9031 -:101600009F908F907F906F905F904F903F902F9022 -:1016100008958F929F92AF92BF92CF92EF920F93C5 -:101620001F93CF93DF935C01CEEEDFEF18E14C0107 -:1016300084E1880E911C20E040E0612F6C1BC50105 -:101640000E947D10C5010E94BA09CC24C39400E118 -:10165000E02E08E52FEE31E0AE0164E170E0C50157 -:101660000E94BF09C4010E9461106BE170E080E03C -:1016700090E00E942B11C03F31F46AEF70E080E0EF -:1016800090E00E942B112196C931D105A1F66EEE92 -:1016900072E080E090E00E942B1120E040E060E0EA -:1016A000C501DF91CF911F910F91EF90CF90BF9027 -:1016B000AF909F908F900C947D10CF93DF93EC01AF -:1016C0000E94DE0F0E94A3108078803849F40E94A7 -:1016D00071102FEF4FEF6FEFCE010E947D10FFCF03 -:1016E000CE010E94090B249665E0CE010E94740D84 -:1016F0006DE0CE010E94740DDF91CF910C94CA0C65 -:101700000C945D0B2F923F924F925F926F927F925B -:101710008F929F92AF92BF92CF92DF92EF92FF9201 -:101720000F931F93CF93DF93CDB7DEB728970FB6F4 -:10173000F894DEBF0FBECDBF9E838D832A01603833 -:1017400071050CF06DC0403451050CF069C0CB013F -:10175000A5E0CA9E800D911D1124181619060CF0E3 -:101760005FC0EC2DF0E0FC83EB83CA01F8E0CF9E74 -:10177000800D911D1124181619060CF051C0A5E01A -:101780002A9FC00111245B0118861F8281569D4F3C -:101790009A838983BF81B53041F0E981FA818F81D5 -:1017A0009885E80FF91F149101C010E0320128E07C -:1017B000D22E10FF02C0F02E01C0FE2CF1100BC083 -:1017C000E01209C01695DA94AB81BC816A0E7B1ECB -:1017D000D110EFCF19C01501822D8A198C1590F701 -:1017E0004301882D86198C1558F42F2DA401B101C1 -:1017F0008D819E810E94FB08BFEF8B1A9B0AF1CF5F -:10180000EFEF2E1A3E0AE8CF8F81988501969887D0 -:101810008F83AB81BC81AA0EBB1E069709F0BACF9D -:1018200028960FB6F894DEBF0FBECDBFDF91CF91E3 -:101830001F910F91FF90EF90DF90CF90BF90AF90EE -:101840009F908F907F906F905F904F903F902F90E0 -:1018500008958F929F92AF92BF92CF92EF920F9383 -:10186000CF93DF93EC01262F6A3099F4FC01E85EF8 -:10187000FB4F208132978081918138E0239F800D3A -:10188000911D112491838083CC5EDB4F19821882D5 -:101890004BC06D3009F448C0FC01EA5EFB4F40814B -:1018A00051815C018CEEA81A8BEFB80AF5016081BA -:1018B00071814E01F8EE8F1AFBEF9F0AF401C08090 -:1018C000E12C01E0CE010E94820BF4012081422F25 -:1018D00050E0F50180819181F6E02F9F800D911DF0 -:1018E0001124F50191838083359620812223E1F034 -:1018F0006AEF64039001659F300D112420583F4F1B -:10190000281739078CF4E881F9810190F081E02DE6 -:101910006AE0CE01DF91CF910F91EF90CF90BF9011 -:10192000AF909F908F900994DF91CF910F91EF909E -:10193000CF90BF90AF909F908F900895FC01EC5E88 -:10194000FB4F7183608332965183408308954496A0 -:101950000C946110CF93DF931F92CDB7DEB76983EC -:101960000E94A3106981982F962381E0961380E04E -:101970000F90DF91CF910895E4E6F0E08081877FBA -:101980008083E5E6F0E08081877F808381E080933B -:101990008D05089510929A0582E090E00E94231C24 -:1019A00081110C94BC0C0895CF92DF92EF92FF92BC -:1019B0001F93CF93DF9390919B05891708F065C023 -:1019C00067FD63C0E82FF0E0E159F74F1491E62F6F -:1019D000F0E0603330F4E15CF74FE491CE2FD0E0DB -:1019E00006C0EE0FFF1FE15CF84FC591D4916E0168 -:1019F000E12CF12C60E074E284EF90E0A701960105 -:101A00000E948E19215031094109510921153105D2 -:101A100081E04807510570F060E970ED83E090E0E7 -:101A2000A70196010E948E192150310941095109DF -:101A300093E001C091E01130C9F0133031F580918D -:101A40009100887F892B8093910030939900209397 -:101A50009800D0939905C093980581E080939705ED -:101A6000809171008260809371000FC0809181002D -:101A7000887F892B80938100309389002093880090 -:101A800080916F00826080936F00DF91CF911F91F2 -:101A9000FF90EF90DF90CF900895E82FF0E0E159AC -:101AA000F74FE491E13019F0E33069F00895809147 -:101AB0006F008D7F80936F002091A505E091A605B2 -:101AC000F091A70508C01092970520919E05E0911E -:101AD0009F05F091A005808190E030E02095309541 -:101AE0008223932380830895CF93DF93C62F809121 -:101AF0009B05823009F46BC0E82FF0E0E159F74F05 -:101B0000D491A82FB0E0A456BA4F6C938F5F809306 -:101B10009B0561E08C2F0E947D12D13091F1D33072 -:101B200009F055C0109290001092910080919100A0 -:101B300088608093910080919100816080939100F2 -:101B40006C2F70E0FB01E353F74F249130E0220F3C -:101B5000331F2551374FF901859194919093A0053A -:101B600080939F05FB01E155F74F649160939E05BB -:101B70006CE380E00E94D40C80E0DF91CF910C9464 -:101B80004D0D10928000109281008091810088603C -:101B900080938100809181008160809381006C2F0F -:101BA00070E0FB01E353F74F249130E0220F331F25 -:101BB0002551374FF901859194919093A705809312 -:101BC000A605FB01E155F74F64916093A505DF91F0 -:101BD000CF910895E0918E05F0918F05BF016F5F61 -:101BE0007F4F70938F0560938E05A4919A2F907FFD -:101BF0008A2F8F70903819F40E944D0DEBCF9039D9 -:101C000061F4AF014E5F5F4F50938F0540938E0597 -:101C1000FB0164910E94D40CDDCF903E49F4809189 -:101C200090059091910590938F0580938E05D2CF6A -:101C3000903F19F410929A05089597FDCBCFAF010C -:101C40004E5F5F4F50938F0540938E05FB0164916B -:101C5000262F30E03A2BA0919805B09199050E946B -:101C6000B3196C507E4F8F4F9F4F28EE33E040E00A -:101C700050E00E946C192093920530939305409395 -:101C80009405509395058091920590919305A091AC -:101C90009405B0919505892B8A2B8B2B61F481E0FB -:101CA00090E0A0E0B0E08093920590939305A0931C -:101CB0009405B0939505089580919705882349F080 -:101CC00090919E05E0919F05F091A0058081892764 -:101CD000808380919A05882329F1809192059091C3 -:101CE0009305A0919405B0919505892B8A2B8B2B98 -:101CF000C9F08091920590919305A0919405B091BF -:101D000095050197A109B1098093920590939305D8 -:101D1000A0939405B0939505892B8A2B8B2B11F4F6 -:101D20000C94EA0D08954F925F926F927F928F927A -:101D30009F92AF92BF92CF92DF92EF92FF92CF939A -:101D4000DF93EB0149015A0181E0809396052B0155 -:101D5000612C712C60E072E18AE790E0A3019201AE -:101D60000E948E1969017A0181E0C81AD108E10840 -:101D7000F108C114D10481E0E806F10488F068E4B8 -:101D800078EE81E090E0A30192010E948E19690132 -:101D90007A0181E0C81AD108E108F10893E001C096 -:101DA00091E080918100887F892B8093810081144C -:101DB0009104A104B10471F0DE01AA0FBB1FA501BB -:101DC00094010E94C21928EE33E040E050E00E94E6 -:101DD0006C1903C02FEF3FEFA901D0928900C09288 -:101DE00088002093A1053093A2054093A30550934A -:101DF000A40580916F00826080936F00DF91CF9186 -:101E0000FF90EF90DF90CF90BF90AF909F908F901A -:101E10007F906F905F904F9008951F920F920FB632 -:101E20000F9211242F933F938F939F93AF93BF9360 -:101E3000EF93FF9380919605882309F44BC080911E -:101E4000A1059091A205A091A305B091A405892BAD -:101E50008A2B8B2B51F19091A505E091A605F0916D -:101E6000A7058081892780838091A1059091A20593 -:101E7000A091A305B091A405181619061A061B0611 -:101E800094F58091A1059091A205A091A305B09130 -:101E9000A4050197A109B1098093A1059093A2051A -:101EA000A093A305B093A4051EC01092960580913F -:101EB0006F008D7F80936F002091A505E091A605AE -:101EC000F091A705808190E030E020953095822345 -:101ED000932308C09091A505E091A605F091A70570 -:101EE000808189278083FF91EF91BF91AF919F916E -:101EF0008F913F912F910F900FBE0F901F901895CB -:101F00001F920F920FB60F9211242F933F934F936E -:101F10005F936F937F938F939F93AF93BF93EF9351 -:101F2000FF930E945C0EFF91EF91BF91AF919F9143 -:101F30008F917F916F915F914F913F912F910F9072 -:101F40000FBE0F901F9018958EBD00000DB407FEB8 -:101F5000FDCF8EB508950895E091AA05F091AB05E7 -:101F600080819091A805892B8083E091AC05F09148 -:101F7000AD0590818091A90580958923808308957E -:101F8000E091AC05F091AD0580819091A905892B78 -:101F90008083E091AA05F091AB0590818091A8051E -:101FA000809589238083E091AC05F091AD05908107 -:101FB0008091A9058095892380830895CF93DF932D -:101FC0000E949208CEE7D8E0BE01FE0184912296DD -:101FD0006F5F7F4FFB016491882319F00E947D128F -:101FE000F3CF61E086E00E94B61261E070E080E02D -:101FF00090E00E942B1160E086E00E94B6126AE039 -:1020000070E080E090E00E942B1161E086E00E9489 -:10201000B612E9EDF8E0E491F0E0EE0FFF1FE551B4 -:10202000F74F859194919093AD058093AC05EBEBC0 -:10203000F8E0E491E093A905E1EDF8E0E491F0E047 -:10204000EE0FFF1FE551F74F859194919093AB05EB -:102050008093AA05E3EBF8E0E491E093A8058CB542 -:102060008C7F8CBD8DB581608DBD0E94C00FC1E796 -:10207000D8E0F8E0CE37DF0731F0FE0184910E940E -:10208000A40F2196F6CF0E94AC0F8091640081606E -:1020900080936400809164008260809364008091EA -:1020A0006400806880936400809164008064809301 -:1020B000640080916500816080936500DF91CF911D -:1020C000089520E030E0FC014191CF014EBD119C0C -:1020D000119C119C2F5F3F4F2115F4E03F0799F7AA -:1020E0000895CF93DF93C0E0D4E080E00E94A40F76 -:1020F0002197D9F7DF91CF9108950F931F93CF9335 -:10210000DF9300D0CDB7DEB70FEF10E0C801861B1C -:102110009109BC018AE02A8349830E94A91149815F -:10212000B801641B71098BE00E94A9112A81B801D2 -:10213000621B710989E00F900F90DF91CF911F9181 -:102140000F910C94A9118FB14CB123B150E040957F -:1021500050954074552733E0559547953A95E1F7EA -:1021600030E02095309520713327359527953595AA -:102170002795242B8095807F822B08951F920F92A4 -:102180000FB60F9211242F933F938F939F93AF938A -:10219000BF938091AF059091B005A091B105B0912A -:1021A000B2053091AE0523E0230F2D3720F40196C0 -:1021B000A11DB11D05C026E8230F0296A11DB11D6A -:1021C0002093AE058093AF059093B005A093B10521 -:1021D000B093B2058091B3059091B405A091B50577 -:1021E000B091B6050196A11DB11D8093B3059093E2 -:1021F000B405A093B505B093B605BF91AF919F917B -:102200008F913F912F910F900FBE0F901F901895B7 -:102210003FB7F8948091B3059091B405A091B505AE -:10222000B091B60526B5A89B05C02F3F19F00196C1 -:10223000A11DB11D3FBF6627782F892F9A2F620FEE -:10224000711D811D911D42E0660F771F881F991F28 -:102250004A95D1F70895CF92DF92EF92FF92CF93F4 -:10226000DF936B017C010E940811EB01C114D104C2 -:10227000E104F10489F00E9424170E9408116C1BEC -:102280007D0B683E734090F381E0C81AD108E108E5 -:10229000F108C851DC4FEACFDF91CF91FF90EF906A -:1022A000DF90CF900895789484B5826084BD84B522 -:1022B000816084BD85B5826085BD85B5816085BD41 -:1022C000EEE6F0E0808181608083E1E8F0E010825A -:1022D000808182608083808181608083E0E8F0E09B -:1022E000808181608083E1E9F0E080818260808389 -:1022F000808181608083E0E9F0E08081816080837B -:10230000E1ECF0E080818460808380818260808362 -:10231000808181608083E3ECF0E080818160808354 -:10232000E0ECF0E0808182608083E2ECF0E080818C -:1023300081608083EAE7F0E080818460808380812F -:1023400082608083808181608083808180688083D7 -:1023500008951F93CF93DF93182FEB0161E00E9444 -:102360007D12209711F460E004C0CF3FD10539F40D -:1023700061E0812FDF91CF911F910C94B612E12F74 -:10238000F0E0EF56F74F449150E0FA013197EF300B -:10239000F10508F06CC0EA5AFF4F0C94AD1984B5F2 -:1023A000806884BDC7BD68C084B5806284BDC8BD77 -:1023B00063C080918000806880938000D093890002 -:1023C000C093880059C08091800080628093800013 -:1023D000D0938B00C0938A004FC0809180008860AA -:1023E00080938000D0938D00C0938C0045C0809175 -:1023F0009000806880939000D0939900C0939800DB -:102400003BC080919000806280939000D0939B00AD -:10241000C0939A0031C080919000886080939000B2 -:10242000D0939D00C0939C0027C08091C00080681D -:102430008093C0008091C0008F7B8093C000C093C8 -:10244000CF001AC08091C00080628093C000C0930A -:10245000D00012C08091C20088608093C200809139 -:10246000C2008B7F8093C200C093D20005C0C038E9 -:10247000D1050CF07DCF77CFDF91CF911F910895DB -:1024800090E0FC013197EF30F105B0F5EB59FF4FCB -:102490000C94AD19809180008F7703C080918000EB -:1024A0008F7D80938000089580918000877FF9CF91 -:1024B00084B58F7702C084B58F7D84BD08958091E7 -:1024C00090008F7707C0809190008F7D03C080912E -:1024D0009000877F8093900008958091C0008F774F -:1024E00003C08091C0008F7D8093C00008958091CB -:1024F000C200877F8093C2000895CF93DF9390E05E -:10250000FC01E155F74F2491FC01E353F74F84910F -:10251000882349F190E0880F991FFC01E750F74F9D -:10252000A591B4918551974FFC01C591D4919FB766 -:10253000611108C0F8948C91209582238C93888136 -:1025400082230AC0623051F4F8948C91322F309576 -:1025500083238C938881822B888304C0F8948C9188 -:10256000822B8C939FBFDF91CF9108950F931F9380 -:10257000CF93DF931F92CDB7DEB7282F30E0F9015C -:10258000EF56F74F8491F901E155F74F1491F90196 -:10259000E353F74F04910023C9F0882321F06983A6 -:1025A0000E9440126981E02FF0E0EE0FFF1FE5511D -:1025B000F74FA591B4919FB7F8948C91611103C026 -:1025C0001095812301C0812B8C939FBF0F90DF91C9 -:1025D000CF911F910F91089508950E9453110E9469 -:1025E000EC1287EB95E00E94C6160E94D705C0E06A -:1025F000D0E00E9407062097E1F30E940000F9CF87 -:10260000CF92DF92EF92FF920F931F93CF93DF93BE -:102610006C017A01EB01E60EF71E00E010E0CE152A -:10262000DF0561F06991D601ED91FC910190F08197 -:10263000E02DC6010995080F191FF1CFC801DF91E0 -:10264000CF911F910F91FF90EF90DF90CF90089561 -:102650006115710581F0DB010D900020E9F7AD01F6 -:1026600041505109461B570BDC01ED91FC91028052 -:10267000F381E02D099480E090E008950C942813F4 -:102680004091BB055091BC052091B9053091BA0528 -:1026900042175307B4F49091E8009570E1F39091DC -:1026A000E80092FD19C08093F1008091BB059091E4 -:1026B000BC0501968F739927892B19F48EEF8093AF -:1026C000E8008091BB059091BC0501969093BC05F4 -:1026D0008093BB0581E0089580E00895CF92DF925A -:1026E000FF920F931F93CF93DF931F92CDB7DEB767 -:1026F000082F162F862F880F8E5F99830E94401314 -:1027000083E00E944013F02EC02E9981D92E8C2D8B -:102710008F19811778F4F60184910E944013082FD5 -:1027200080E00E9440138023FFEFCF1ADF0A81115F -:10273000EECF01C081E00F90DF91CF911F910F91FB -:10274000FF90DF90CF900895615030F02091F1001C -:10275000FC0120830196F8CF289884E68093BE057B -:1027600008952FB7FC012083F89467706093E90007 -:102770000895CF93DF931F92CDB7DEB7682FCE01B8 -:1027800001960E94B1138091F20099819FBF0F9032 -:10279000DF91CF910895FF920F931F93CF93DF9313 -:1027A00000D0CDB7DEB7F62E8A019091BD059923F2 -:1027B00011F057FF03C08FEF9FEF2BC0682FCE01A2 -:1027C00001967A830E94B1138091F20090E0A801F3 -:1027D0007A81801791070CF4AC01EF2DF72FF40EDE -:1027E00084E6FE1639F028988093BE059091F1009A -:1027F0009193F7CF4115510521F08091F200882384 -:1028000021F089818FBFCA0104C08BE68093E80064 -:10281000F8CF0F900F90DF91CF911F910F91FF9004 -:102820000895CF93DF931F92CDB7DEB741E050E01C -:10283000BE016F5F7F4F0E94CB13019719F489810E -:1028400090E002C08FEF9FEF0F90DF91CF9108953E -:10285000CF93DF931F92CDB7DEB7682FCE010196DD -:102860000E94B1139091E800892F807295FF04C0F7 -:102870009091F20080E4891B99819FBF0F90DF91B6 -:10288000CF9108956F927F928F929F92AF92BF9255 -:10289000CF92DF92EF92FF920F931F93CF93DF932C -:1028A0001F92CDB7DEB7782E7B01C42EB52E809156 -:1028B000BD05882369F0042F152F8AEFD82E872DA8 -:1028C0008072982E9AE3A92E872D8074882E11C0CD -:1028D0008FEF9FEF57C0872D0E942814682E81111B -:1028E0000CC0DA94A9F361E070E080E090E00E940F -:1028F0002B110115110579F73BC0282F30E0021785 -:1029000013070CF4602E672DCE0101960E94B113BF -:102910008091E80085FF29C0262D30E0021B130BB3 -:10292000992039F06A948FEF6816B1F01092F10097 -:10293000F9CFF701862D77FE07C0815058F09491AA -:102940009093F1003196F9CF815020F091919093BE -:10295000F100FACFE20EF31E8091E80085FF0FC070 -:102960000115110511F481100AC089818FBFC1CFF3 -:102970005D9884E68093BF058C2D9B2D03C0A092AB -:10298000E800F3CF0F90DF91CF911F910F91FF904F -:10299000EF90DF90CF90BF90AF909F908F907F90FF -:1029A0006F9008951092E9001092BC051092BB053B -:1029B0009093BA058093B9050895CF92DF92FF9264 -:1029C0000F931F93CF93DF9300D0CDB7DEB7F82ED0 -:1029D0008A016B0101151105B1F0F601F7FE02C085 -:1029E000849101C0808149835A830E944013015021 -:1029F0001109FFEFCF1ADF0A49815A818111EACF0D -:102A00008FEF9FEF01C0CA010F900F90DF91CF9120 -:102A10001F910F91FF90DF90CF9008951F93CF9358 -:102A2000DF931F92CDB7DEB7162F2091E80022FF6B -:102A3000FCCF612F79830E94A4138BEF8093E80071 -:102A4000812F7981972F0F90DF91CF911F9108955A -:102A5000CF93DF931F92CDB7DEB71982CE010196D7 -:102A60000E948417CE0101960E941F18898190E070 -:102A70000F90DF91CF9108951F920F920FB60F9292 -:102A80001124EF92FF920F931F932F933F934F9335 -:102A90005F936F937F938F939F93AF93BF93EF93C6 -:102AA000FF93CF93DF93CDB7DEB76297DEBFCDBF85 -:102AB0001092E9008091E80083FFEBC068E0CE014E -:102AC0000A960E94A41382EF8093E8009A8597FFEC -:102AD00005C08091E80080FFFCCF03C08EEF80939B -:102AE000E800892F807609F0B9C08B85811105C077 -:102AF0001092F1001092F100C5C0282F2D7F2130D7 -:102B000009F4C0C0853049F48091E80080FFFCCF13 -:102B10008C8580688093E300B5C0863009F076C06C -:102B20002D85E888F988223071F580E090E02A8BC5 -:102B30000E94D2140E94281599E08E010F5F1F4F4A -:102B4000F801392F11923A95E9F799832A892A8356 -:102B500091E09E8390E898879AEF99872091BB0532 -:102B60003091BC05275F3F4F3C832B838D83C7018A -:102B70000E94D21449E050E0B80180E00E94DD14C8 -:102B80000E9428157FC0C7012A8B0E94D2142A896F -:102B9000223241F482E290E00E942A18892B09F047 -:102BA00071C074C0213069F488899989089711F43B -:102BB0002093B8058091B805811118C06EE179E0C5 -:102BC0001AC0233009F062C08C85882391F08230CE -:102BD00021F460E18CE399E006C0813009F056C031 -:102BE0006BE080E399E00E946E134AC06CE079E0EC -:102BF00002C06DE479E06115710509F447C0FB017D -:102C0000449150E080E80E94DD143CC0873009F414 -:102C10003DC0883021F481E08093F10033C08930D9 -:102C200089F5937099F5E8E0F9E081E021E096E319 -:102C30008093E9002093EB0034913093EC00909363 -:102C4000ED008F5F3196853099F78EE78093EA002B -:102C50001092EA008C858093BD0514C088899989FB -:102C60000E94D2148E85811105C0CE010A960E9461 -:102C70008F1706C0823051F4CE010A960E94521876 -:102C8000882321F08EEF8093E80003C081E28093D7 -:102C9000EB0062960FB6F894DEBF0FBECDBFDF919A -:102CA000CF91FF91EF91BF91AF919F918F917F91C4 -:102CB0006F915F914F913F912F911F910F91FF90D5 -:102CC000EF900F900FBE0F901F9018958093E90022 -:102CD0008091F200882319F08AE38093E800089538 -:102CE0001F920F920FB60F9211242F933F934F9381 -:102CF0005F936F937F938F939F93AF93BF93EF9364 -:102D0000FF938091E1001092E10083FF0FC01092C9 -:102D1000E90091E09093EB001092EC0092E3909325 -:102D2000ED001092BD0598E09093F00082FF1DC069 -:102D300083E00E9466168091BF05882339F0809158 -:102D4000BF0581508093BF05882369F08091BE053F -:102D5000882359F08091BE0581508093BE05811172 -:102D600004C0289A02C05D9AF1CFFF91EF91BF9104 -:102D7000AF919F918F917F916F915F914F913F9113 -:102D80002F910F900FBE0F901F9018951092BD05B8 -:102D900081E08093D70080EA8093D80082E189BDEA -:102DA00009B400FEFDCF61E070E080E090E00E9499 -:102DB0002B1180E98093D8008CE08093E200109280 -:102DC000E000559A209A0895CF93DF9300D000D069 -:102DD000CDB7DEB79B01AC01611571058105910589 -:102DE00069F069833A834B835C830E941C1A2981B2 -:102DF0003A814B815C810E948E1903C060E070E0D3 -:102E0000CB010F900F900F900F90DF91CF9108950D -:102E1000CF92DF92EF92FF926B017C0162177307F2 -:102E20008407950764F4CA01B9016C197D098E09FC -:102E30009F090E94E4166C0D7D1D8E1D9F1DFF9045 -:102E4000EF90DF90CF90089508950E942A1ACF93B3 -:102E5000DF931F92CDB7DEB76983DC01ED91FC9162 -:102E60000280F381E02D41E050E0BE016F5F7F4FB3 -:102E700009950F90DF91CF910895CF93DF93EC01E7 -:102E80008C859D8597FF05C082E00E9411149D8767 -:102E90008C878C859D85DF91CF91089583E00C947C -:102EA0006616FC018485958597FD06C082E00E9428 -:102EB000B91390E00196089582E00E94B91390E062 -:102EC0000895FC018485958597FD05C02FEF3FEFA0 -:102ED00035872487089582E00C941114CF93DF93F3 -:102EE000EC0180910B01882331F083E00E944214B1 -:102EF0001816190634F081E090E09B838A8380E005 -:102F000090E0DF91CF910895FC0120812E5F208316 -:102F100042E450E061E579E080E80C94DD14FC01C6 -:102F200081819081913A59F4813209F03CC047E0A7 -:102F300050E064E071E080E00E94DD1443C0913213 -:102F400091F5803239F467E070E084E091E00E940E -:102F50000E1506C0823209F035C0828180930B01C4 -:102F60008091040190910501A0910601B0910701A3 -:102F7000803B9440A105B105C1F480910B0180FD17 -:102F800014C087E797E790930108809300082BE02F -:102F900088E190E00FB6F894A895809360000FBE8A -:102FA000209360000FC080E0089588E10FB6F89488 -:102FB00080936000109260000FBEA89510920108E7 -:102FC0001092000881E008951092C3051092C20586 -:102FD00088EE93E0A0E0B0E08093C4059093C5052F -:102FE000A093C605B093C70586E391E09093C10511 -:102FF0008093C0058FEF9FEF9093CD058093CC0514 -:103000000895FF920F931F93CF93DF93EC01F62E59 -:10301000E881F9810480F581E02D09958C01E88132 -:10302000F9810680F781E02D6F2DCE010995C80149 -:103030009927DF91CF911F910F91FF900895FC0187 -:1030400020812F5F208349E150E063E17AE080E84E -:103050000C94DD1445E650E06CE27AE080E80C94D4 -:10306000DD14EF92FF920F931F93CF93DF931F9284 -:10307000CDB7DEB789838B017A0141E050E0BE0114 -:103080006F5F7F4F84E00E944214A701B80184E47F -:103090000E9442140F90DF91CF911F910F91FF90EA -:1030A000EF900895FC0191818081813A31F481E0B3 -:1030B000913091F0933089F411C0813271F49B30DA -:1030C00021F4828180930D0105C09A3031F4828110 -:1030D00080930C0181E00895089580E0089548E010 -:1030E00050E082E00C943118CF93DF93DC01683814 -:1030F00018F0E8E7E60F25C0E62FF0E067FF11C003 -:10310000E058F10981E090E001C0880FEA95EAF704 -:1031100014969C911497982B14969C931497E0E026 -:1031200010C0ED56F64FE491EE2309F440C0E7FFDE -:1031300008C014968C911497826014968C931497FF -:10314000EF7716968C9116978E1741F117968C9102 -:1031500017978E1719F118968C9118978E17F1F012 -:1031600019968C9119978E17C9F01A968C911A9707 -:103170008E17A1F01B968C911B978E1779F080E02B -:1031800090E0ED01C80FD91F2E81211102C0EE83FE -:1031900005C0019686309105A1F709C0BD016C5F9D -:1031A0007F4FCD010E946F1881E090E008C081E060 -:1031B00090E013969C938E93129780E090E0DF91BD -:1031C000CF910895683818F0E8E7E60F25C0E62F9C -:1031D000F0E067FF12C0E058F10921E030E001C0E3 -:1031E000220FEA95EAF72095DC0114963C9114979A -:1031F000322314963C93E0E00FC0ED56F64FE49175 -:10320000EE2329F1E7FF08C0DC0114962C911497F6 -:103210002D7F14962C93EF7720E030E0EE2351F0D1 -:10322000DC01A20FB31F16964C9116974E1302C0E5 -:1032300016961C922F5F3F4F2630310579F7BC015F -:103240006C5F7F4F0E946F1881E090E0089580E0EE -:1032500090E00895FC01168217821086118612866E -:1032600013861482BC016C5F7F4F0C946F18109210 -:103270001C06109213061092120686E491E09093B9 -:103280001106809310060895AA1BBB1B51E107C0CD -:10329000AA1FBB1FA617B70710F0A61BB70B881FE6 -:1032A000991F5A95A9F780959095BC01CD01089575 -:1032B00097FB072E16F4009407D077FD09D00E94E3 -:1032C000441907FC05D03EF4909581959F4F0895D1 -:1032D000709561957F4F0895A1E21A2EAA1BBB1B22 -:1032E000FD010DC0AA1FBB1FEE1FFF1FA217B307D2 -:1032F000E407F50720F0A21BB30BE40BF50B661FE8 -:10330000771F881F991F1A9469F7609570958095AB -:1033100090959B01AC01BD01CF010895052E97FB4F -:103320001EF400940E94A51957FD07D00E946C1945 -:1033300007FC03D04EF40C94A51950954095309598 -:1033400021953F4F4F4F5F4F089590958095709511 -:1033500061957F4F8F4F9F4F0895EE0FFF1F059090 -:10336000F491E02D0994A29FB001B39FC001A39FE7 -:10337000700D811D1124911DB29F700D811D1124AE -:10338000911D08950E94B319A59F900DB49F900DB3 -:10339000A49F800D911D112408958F929F92AF924A -:1033A000BF92CF92DF92EF92FF92CF93DF93EC0127 -:1033B000688179818A819B816115710581059105FB -:1033C00021F464E279ED8BE597E02DE133EF41E004 -:1033D00050E00E948E1949015A019B01AC01A7EAF5 -:1033E000B1E40E94C2196B017C01ACEEB4EFA501FF -:1033F00094010E94D41CC60ED71EE81EF91EF7FECB -:1034000006C081E0C81AD108E10880E8F80AC8823D -:10341000D982EA82FB82C701B6019F77DF91CF9103 -:10342000FF90EF90DF90CF90BF90AF909F908F90E4 -:1034300008950E94CD19089580E091E00E94CD1971 -:1034400008956093000170930101809302019093AD -:103450000301089581E090E0F8940C94101DAEE013 -:10346000B0E0E5E3FAE10C94E71C0D891E8986E0E3 -:103470008C831A8309838FEF9FE79E838D83AE0130 -:10348000475E5F4F6F89788DCE0101960E94511A79 -:10349000EF81F885E00FF11F10822E96E4E00C9486 -:1034A000031DACE0B0E0E7E5FAE10C94D91C7C0127 -:1034B0006B018A01FC0117821682838181FFBDC1E5 -:1034C000CE0101964C01F7019381F60193FD8591A0 -:1034D00093FF81916F01882309F4ABC1853239F4E0 -:1034E00093FD859193FF81916F01853229F4B70196 -:1034F00090E00E94411CE7CF512C312C20E020327B -:10350000A0F48B3269F030F4803259F0833269F4E0 -:1035100020612CC08D3239F0803339F4216026C00F -:103520002260246023C0286021C027FD27C030ED21 -:10353000380F3A3078F426FF06C0FAE05F9E300D6F -:103540001124532E13C08AE0389E300D1124332EDF -:1035500020620CC08E3221F426FD6BC1206406C0AF -:103560008C3611F4206802C0883641F4F60193FDD0 -:10357000859193FF81916F018111C1CF982F9F7D1C -:103580009554933028F40C5F1F4FFFE3F9830DC06F -:10359000833631F0833771F0833509F05BC022C088 -:1035A000F801808189830E5F1F4F44244394512C7E -:1035B000540115C03801F2E06F0E711CF801A080B3 -:1035C000B18026FF03C0652D70E002C06FEF7FEF72 -:1035D000C5012C870E94361C2C0183012C852F7776 -:1035E000222E17C03801F2E06F0E711CF801A08086 -:1035F000B18026FF03C0652D70E002C06FEF7FEF42 -:10360000C5012C870E942B1C2C012C852068222EA2 -:10361000830123FC1BC0832D90E048165906B0F4AB -:10362000B70180E290E00E94411C3A94F4CFF5018A -:1036300027FC859127FE81915F01B70190E00E94F0 -:10364000411C31103A94F1E04F1A510841145104D1 -:1036500071F7E5C0843611F0893639F5F80127FF96 -:1036600007C060817181828193810C5F1F4F08C008 -:1036700060817181882777FD8095982F0E5F1F4F9D -:103680002F76B22E97FF09C0909580957095619521 -:103690007F4F8F4F9F4F2068B22E2AE030E0A40169 -:1036A0000E94731CA82EA81844C0853729F42F7EC9 -:1036B000B22E2AE030E025C0F22FF97FBF2E8F36E0 -:1036C000C1F018F4883579F0B4C0803719F0883724 -:1036D00021F0AFC02F2F2061B22EB4FE0DC08B2D74 -:1036E0008460B82E09C024FF0AC09F2F9660B92EAF -:1036F00006C028E030E005C020E130E002C020E153 -:1037000032E0F801B7FE07C0608171818281938148 -:103710000C5F1F4F06C06081718180E090E00E5FFA -:103720001F4FA4010E94731CA82EA818FB2DFF7721 -:10373000BF2EB6FE0BC02B2D2E7FA51450F4B4FE69 -:103740000AC0B2FC08C02B2D2E7E05C07A2C2B2D72 -:1037500003C07A2C01C0752C24FF0DC0FE01EA0DB8 -:10376000F11D8081803311F4297E09C022FF06C03B -:103770007394739404C0822F867809F0739423FDA8 -:1037800013C020FF06C05A2C731418F4530C57189A -:10379000732C731468F4B70180E290E02C870E94C8 -:1037A000411C73942C85F5CF731410F4371801C0A5 -:1037B000312C24FF12C0B70180E390E02C870E94D7 -:1037C000411C2C8522FF17C021FF03C088E590E033 -:1037D00002C088E790E0B7010CC0822F867859F0CC -:1037E00021FD02C080E201C08BE227FD8DE2B7011E -:1037F00090E00E94411CA51438F4B70180E390E0EA -:103800000E94411C5A94F7CFAA94F401EA0DF11DCD -:103810008081B70190E00E94411CA110F5CF3320B8 -:1038200009F451CEB70180E290E00E94411C3A9425 -:10383000F6CFF7018681978102C08FEF9FEF2C961C -:10384000E2E10C94F51CF999FECF92BD81BDF89A86 -:10385000992780B50895FC010590615070400110D2 -:10386000D8F7809590958E0F9F1F0895FC016150A9 -:10387000704001900110D8F7809590958E0F9F1F92 -:1038800008950F931F93CF93DF93182F092FEB0108 -:103890008B8181FD03C08FEF9FEF20C082FF10C09E -:1038A0004E815F812C813D81421753077CF4E88172 -:1038B000F9819F012F5F3F4F39832883108306C012 -:1038C000E885F985812F0995892B29F72E813F817C -:1038D0002F5F3F4F3F832E83812F902FDF91CF911A -:1038E0001F910F910895FA01AA27283051F1203134 -:1038F00081F1E8946F936E7F6E5F7F4F8F4F9F4F84 -:10390000AF4FB1E03ED0B4E03CD0670F781F891FC5 -:103910009A1FA11D680F791F8A1F911DA11D6A0F93 -:10392000711D811D911DA11D20D009F468943F9146 -:103930002AE0269F11243019305D3193DEF6CF0145 -:103940000895462F4770405D4193B3E00FD0C9F70B -:10395000F6CF462F4F70405D4A3318F0495D31FD78 -:103960004052419302D0A9F7EACFB4E0A6959795CB -:10397000879577956795BA95C9F7009761057105A1 -:1039800008959B01AC010A2E0694579547953795EB -:103990002795BA95C9F7620F731F841F951FA01D45 -:1039A0000895B7FF0C94C2190E94C219821B930B91 -:1039B00008952F923F924F925F926F927F928F92D3 -:1039C0009F92AF92BF92CF92DF92EF92FF920F93AE -:1039D0001F93CF93DF93CDB7DEB7CA1BDB0B0FB6B8 -:1039E000F894DEBF0FBECDBF09942A883988488875 -:1039F0005F846E847D848C849B84AA84B984C8840B -:103A0000DF80EE80FD800C811B81AA81B981CE0F01 -:103A1000D11D0FB6F894DEBF0FBECDBFED010895E6 -:043A2000F894FFCF48 -:103A24000100000000E1000000000000010141521B -:103A34004455424F590070726573656E7473002566 -:103A4400640000000000290C00130000000025178A -:103A540000130000000027176E17511761173D1758 -:103A64004E1700000000011800137418E2182A19F8 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/blend-micro/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/blend-micro/Blink.cpp.hex deleted file mode 100644 index 96b08043..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/blend-micro/Blink.cpp.hex +++ /dev/null @@ -1,301 +0,0 @@ -:100000000C9461010C9489010C9489010C94890170 -:100010000C9489010C9489010C9489010C94890138 -:100020000C9489010C9489010C9481060C944D0563 -:100030000C9489010C9489010C9489010C94890118 -:100040000C9489010C9489010C9489010C94890108 -:100050000C9489010C9489010C9489010C94BA01C7 -:100060000C9489010C9489010C9489010C948901E8 -:100070000C9489010C9489010C9489010C948901D8 -:100080000C9489010C9489010C9489010C948901C8 -:100090000C9489010C9489010C9489010C948901B8 -:1000A0000C9489010C9489010C948901BD02C00251 -:1000B000AF02B302B902E102E102E102C402C802E6 -:1000C000CC02D202D602E102DC02000000020009EA -:1000D0000F0000030401000C0000000000000000FD -:1000E00000000000000000000408020110408040F1 -:1000F000102040804080080204018040201002014E -:10010000108010204040040404040403040502028B -:1001100002020403020202020606060606060404A0 -:100120000202020400000000250028002B002E001F -:10013000310000000000240027002A002D003000BC -:1001400000C18081C11201000202000040EB0304E3 -:10015000240001010200011201000200000040EB36 -:1001600003042400010102000152424C00426C656C -:100170006E64204D6963726F0004030904080B006C -:10018000020202010009040000010202000005242D -:1001900000100105240101010424020605240600C3 -:1001A000010705810310004009040100020A000054 -:1001B000000705020240000007058302400000001E -:1001C000000000000000002A2B28000000000000B2 -:1001D0000000000000000000000000000000002CF3 -:1001E0009EB4A0A1A2A434A6A7A5AE362D37382769 -:1001F0001E1F20212223242526B333B62EB7B89FF5 -:100200008485868788898A8B8C8D8E8F9091929336 -:100210009495969798999A9B9C9D2F3130A3AD35D4 -:100220000405060708090A0B0C0D0E0F1011121316 -:100230001415161718191A1B1C1DAFB1B0B50009FB -:1002400004020001030000000921010100012265F0 -:10025000000705840340000105010902A10109010D -:10026000A100850105091901290315002501950340 -:100270007501810295017505810305010930093178 -:1002800009381581257F750895038106C0C00501D1 -:100290000906A1018502050719E029E715002501D6 -:1002A0007501950881029501750881039506750809 -:1002B000150025650507190029658100C000B507EF -:1002C000080911241FBECFEFDAE0DEBFCDBF11E079 -:1002D000A0E0B1E0EAE8F2E102C005900D92A83298 -:1002E000B107D9F721E0A8E2B1E001C01D92A7391A -:1002F000B207E1F712E0C2ECD2E004C02297FE019F -:100300000E943F09CE3BD107C9F70E94A3010C947C -:1003100043090C94000061E08DE00C94E20261E07E -:100320008DE00E941B0368EE73E080E090E00E9485 -:10033000270260E08DE00E941B0368EE73E080E01E -:1003400090E00C9427020E944F0281E391E00E940A -:10035000D70689B5806189BD09B400FEFDCF0E9432 -:100360008B01C0E0D0E00E948F012097E1F30E9452 -:100370000000F9CF1F920F920FB60F9211242F9306 -:100380003F938F939F93AF93BF9380912901909157 -:100390002A01A0912B01B0912C013091280126E077 -:1003A000230F2D3720F40296A11DB11D05C029E8A9 -:1003B000230F0396A11DB11D2093280180932901CD -:1003C00090932A01A0932B01B0932C0180912D01D1 -:1003D00090912E01A0912F01B09130010196A11DA5 -:1003E000B11D80932D0190932E01A0932F01B09306 -:1003F0003001BF91AF919F918F913F912F910F90BD -:100400000FBE0F901F9018953FB7F89480912D0163 -:1004100090912E01A0912F01B091300126B5A89B9B -:1004200005C02F3F19F00196A11DB11D3FBF6627E2 -:10043000782F892F9A2F620F711D811D911D43E026 -:10044000660F771F881F991F4A95D1F70895CF929D -:10045000DF92EF92FF92CF93DF936B017C010E94BA -:100460000402EB01C114D104E104F10489F00E94FB -:10047000F7060E9404026C1B7D0B683E734090F3EC -:1004800081E0C81AD108E108F108C851DC4FEACF71 -:10049000DF91CF91FF90EF90DF90CF900895789407 -:1004A00084B5826084BD84B5816084BD85B5826079 -:1004B00085BD85B5816085BDEEE6F0E08081816017 -:1004C0008083E1E8F0E01082808182608083808117 -:1004D00081608083E0E8F0E0808181608083E1E9F1 -:1004E000F0E0808182608083808181608083E0E9A8 -:1004F000F0E0808181608083E1ECF0E080818460C5 -:100500008083808182608083808181608083E3EC4E -:10051000F0E0808181608083E0ECF0E080818260A7 -:100520008083E2ECF0E0808181608083EAE7F0E0A4 -:1005300080818460808380818260808380818E7FDF -:100540008083808180688083089590E0FC013197EA -:10055000EF30F105B0F5EA5AFF4F0C943D09809158 -:1005600080008F7703C0809180008F7D8093800012 -:10057000089580918000877FF9CF84B58F7702C07E -:1005800084B58F7D84BD0895809190008F7707C0DA -:10059000809190008F7D03C080919000877F809331 -:1005A000900008958091C0008F7703C08091C000B3 -:1005B0008F7D8093C00008958091C200877F8093D3 -:1005C000C2000895CF93DF9390E0FC01E851FF4F04 -:1005D0002491FC01EA5FFE4F8491882349F190E069 -:1005E000880F991FFC01EE5CFE4FA591B4918C5DC4 -:1005F0009E4FFC01C591D4919FB7611108C0F8943A -:100600008C91209582238C93888182230AC062304A -:1006100051F4F8948C91322F309583238C938881F8 -:10062000822B888304C0F8948C91822B8C939FBF7B -:10063000DF91CF9108950F931F93CF93DF931F9274 -:10064000CDB7DEB7282F30E0F901E653FF4F849194 -:10065000F901E851FF4F1491F901EA5FFE4F04914F -:100660000023C9F0882321F069830E94A5026981D3 -:10067000E02FF0E0EE0FFF1FEC5DFE4FA591B4916F -:100680009FB7F8948C91611103C01095812301C02C -:10069000812B8C939FBF0F90DF91CF911F910F9172 -:1006A00008954091350150913601209133013091E8 -:1006B000340142175307B4F49091E8009570E1F3C8 -:1006C0009091E80092FD19C08093F100809135016E -:1006D0009091360101968F739927892B19F48EEF2B -:1006E0008093E800809135019091360101969093B6 -:1006F00036018093350181E0089580E00895CF921E -:10070000DF92FF920F931F93CF93DF931F92CDB78A -:10071000DEB7082F162F862F880F8E5F99830E94D1 -:10072000510383E00E945103F02EC02E9981D92EEF -:100730008C2D8F19811778F4F60184910E94510352 -:10074000082F80E00E9451038023FFEFCF1ADF0AB9 -:100750008111EECF01C081E00F90DF91CF911F9109 -:100760000F91FF90DF90CF900895615030F020916D -:10077000F100FC0120830196F8CF289A84E680934B -:10078000380108952FB7FC012083F89467706093B7 -:10079000E9000895CF93DF931F92CDB7DEB7682F9E -:1007A000CE0101960E94C2038091F20099819FBF01 -:1007B0000F90DF91CF910895FF920F931F93CF93E6 -:1007C000DF9300D0CDB7DEB7F62E8A0190913701C6 -:1007D000992311F057FF03C08FEF9FEF2BC0682FB5 -:1007E000CE0101967A830E94C2038091F20090E0CC -:1007F000A8017A81801791070CF4AC01EF2DF72F37 -:10080000F40E84E6FE1639F0289A80933801909110 -:10081000F1009193F7CF4115510521F08091F2003D -:10082000882321F089818FBFCA0104C08BE68093A1 -:10083000E800F8CF0F900F90DF91CF911F910F91AB -:10084000FF900895CF93DF931F92CDB7DEB741E0BD -:1008500050E0BE016F5F7F4F0E94DC03019719F4E7 -:10086000898190E002C08FEF9FEF0F90DF91CF91D1 -:100870000895CF93DF931F92CDB7DEB7682FCE01D7 -:1008800001960E94C2039091E800892F807295FF23 -:1008900004C09091F20080E4891B99819FBF0F9062 -:1008A000DF91CF9108956F927F928F929F92AF9236 -:1008B000BF92CF92DF92EF92FF920F931F93CF934D -:1008C000DF931F92CDB7DEB7782E7B01C42EB52EF5 -:1008D00080913701882369F0042F152F8AEFD82ED5 -:1008E000872D8072982E9AE3A92E872D8074882EEA -:1008F00011C08FEF9FEF57C0872D0E943904682EDB -:1009000081110CC0DA94A9F361E070E080E090E01E -:100910000E9427020115110579F73BC0282F30E00E -:10092000021713070CF4602E672DCE0101960E946A -:10093000C2038091E80085FF29C0262D30E0021B0C -:10094000130B992039F06A948FEF6816B1F010926A -:10095000F100F9CFF701862D77FE07C0815058F0DE -:1009600094919093F1003196F9CF815020F09191BC -:100970009093F100FACFE20EF31E8091E80085FF1C -:100980000FC00115110511F481100AC089818FBFB4 -:10099000C1CF5D9A84E6809339018C2D9B2D03C0D5 -:1009A000A092E800F3CF0F90DF91CF911F910F91AC -:1009B000FF90EF90DF90CF90BF90AF909F908F907F -:1009C0007F906F9008951092E90010923601109276 -:1009D000350190933401809333010895CF92DF92D3 -:1009E000FF920F931F93CF93DF9300D0CDB7DEB765 -:1009F000F82E8A016B0101151105B1F0F601F7FE21 -:100A000002C0849101C0808149835A830E945103AE -:100A100001501109FFEFCF1ADF0A49815A81811174 -:100A2000EACF8FEF9FEF01C0CA010F900F90DF91C7 -:100A3000CF911F910F91FF90DF90CF9008951F935A -:100A4000CF93DF931F92CDB7DEB7162F2091E8002A -:100A500022FFFCCF612F79830E94B5038BEF809337 -:100A6000E800812F7981972F0F90DF91CF911F910F -:100A70000895CF93DF931F92CDB7DEB71982CE01D1 -:100A800001960E945507CE0101960E94F0078981C8 -:100A900090E00F90DF91CF9108951F920F920FB6C3 -:100AA0000F921124EF92FF920F931F932F933F9376 -:100AB0004F935F936F937F938F939F93AF93BF9366 -:100AC000EF93FF93CF93DF93CDB7DEB76297DEBF8F -:100AD000CDBF1092E9008091E80083FFEBC068E091 -:100AE000CE010A960E94B50382EF8093E8009A85B2 -:100AF00097FF05C08091E80080FFFCCF03C08EEF18 -:100B00008093E800892F807609F0B9C08B85811128 -:100B100005C01092F1001092F100C5C0282F2D7F62 -:100B2000213009F4C0C0853049F48091E80080FF8D -:100B3000FCCF8C8580688093E300B5C0863009F0D7 -:100B400076C02D85E888F988223071F580E090E044 -:100B50002A8B0E94E3040E94390599E08E010F5F01 -:100B60001F4FF801392F11923A95E9F799832A8995 -:100B70002A8391E09E8390E898879AEF9987209145 -:100B8000350130913601275F3F4F3C832B838D83A6 -:100B9000C7010E94E30449E050E0B80180E00E94F0 -:100BA000EE040E9439057FC0C7012A8B0E94E3042E -:100BB0002A89223241F482E290E00E94FB07892BCD -:100BC00009F071C074C0213069F488899989089747 -:100BD00011F42093320180913201811118C067E530 -:100BE00071E01AC0233009F062C08C85882391F02F -:100BF000823021F46BE08DE691E006C0813009F08F -:100C000056C063E089E691E00E947F034AC065E434 -:100C100071E002C069E771E06115710509F447C030 -:100C2000FB01449150E080E80E94EE043CC0873014 -:100C300009F43DC0883021F481E08093F10033C095 -:100C4000893089F5937099F5E1E4F1E081E021E0E4 -:100C500096E38093E9002093EB0034913093EC000D -:100C60009093ED008F5F3196853099F78EE78093F2 -:100C7000EA001092EA008C858093370114C08889BD -:100C800099890E94E3048E85811105C0CE010A96E0 -:100C90000E94600706C0823051F4CE010A960E947D -:100CA0002308882321F08EEF8093E80003C081E2BF -:100CB0008093EB0062960FB6F894DEBF0FBECDBFF7 -:100CC000DF91CF91FF91EF91BF91AF919F918F9164 -:100CD0007F916F915F914F913F912F911F910F9154 -:100CE000FF90EF900F900FBE0F901F90189580937C -:100CF000E9008091F200882319F08AE38093E800EC -:100D000008951F920F920FB60F9211242F933F93C5 -:100D10004F935F936F937F938F939F93AF93BF9303 -:100D2000EF93FF938091E1001092E10083FF0FC0E9 -:100D30001092E90091E09093EB001092EC0092E3A6 -:100D40009093ED001092370198E09093F00082FFAD -:100D50001DC083E00E94770680913901882339F015 -:100D600080913901815080933901882369F0809105 -:100D70003801882359F080913801815080933801DF -:100D8000811104C0289802C05D98F1CFFF91EF91C6 -:100D9000BF91AF919F918F917F916F915F914F9193 -:100DA0003F912F910F900FBE0F901F9018951092AA -:100DB000370181E08093D70080EA8093D80082E0F9 -:100DC00089BD09B400FEFDCF61E070E080E090E0F5 -:100DD0000E94270280E98093D8008CE08093E20093 -:100DE0001092E000559A209A5D98289808950895E9 -:100DF000CF93DF931F92CDB7DEB76983DC01ED910E -:100E0000FC910280F381E02D41E050E0BE016F5F74 -:100E10007F4F09950F90DF91CF910895CF93DF9386 -:100E2000EC018C859D8597FF05C082E00E9422041D -:100E30009D878C878C859D85DF91CF91089583E078 -:100E40000C947706FC018485958597FD06C082E0A9 -:100E50000E94CA0390E00196089582E00E94CA03AE -:100E600090E00895FC018485958597FD05C02FEFDE -:100E70003FEF35872487089582E00C942204CF93B6 -:100E8000DF93EC0180910701882331F083E00E9419 -:100E900053041816190634F081E090E09B838A838E -:100EA00080E090E0DF91CF910895FC0120812E5FDA -:100EB000208342E450E06DE771E080E80C94EE049A -:100EC000FC0181819081913A59F4813209F03CC052 -:100ED00047E050E060E071E080E00E94EE0443C033 -:100EE000913291F5803239F467E070E080E091E072 -:100EF0000E941F0506C0823209F035C082818093AE -:100F000007018091000190910101A0910201B0912F -:100F10000301803B9440A105B105C1F48091070114 -:100F200080FD14C087E797E790930108809300083D -:100F30002BE088E190E00FB6F894A89580936000CC -:100F40000FBE209360000FC080E0089588E10FB6C7 -:100F5000F89480936000109260000FBEA8951092E4 -:100F600001081092000881E0089510923D0110924E -:100F70003C0188EE93E0A0E0B0E080933E019093C6 -:100F80003F01A0934001B09341018EE091E0909326 -:100F90003B0180933A018FEF9FEF9093470180933D -:100FA00046010895FF920F931F93CF93DF93EC01B7 -:100FB000F62EE881F9810480F581E02D09958C01F8 -:100FC000E881F9810680F781E02D6F2DCE0109952A -:100FD000C8019927DF91CF911F910F91FF9008953C -:100FE000FC0120812F5F208349E150E06FE372E034 -:100FF00080E80C94EE0445E650E068E572E080E895 -:101000000C94EE04EF92FF920F931F93CF93DF9314 -:101010001F92CDB7DEB789838B017A0141E050E0A2 -:10102000BE016F5F7F4F84E00E945304A701B801A7 -:1010300084E40E9453040F90DF91CF911F910F9190 -:10104000FF90EF900895FC0191818081813A31F405 -:1010500081E0913091F0933089F411C0813271F4C4 -:101060009B3021F482818093090105C09A3031F4CC -:1010700082818093080181E00895089580E00895B9 -:1010800048E050E082E00C940208CF93DF93DC014B -:10109000683818F0E8E7E60F25C0E62FF0E067FFB4 -:1010A00011C0E058F10981E090E001C0880FEA9595 -:1010B000EAF714969C911497982B14969C93149786 -:1010C000E0E010C0E154FE4FE491EE2309F440C08B -:1010D000E7FF08C014968C911497826014968C9345 -:1010E0001497EF7716968C9116978E1741F11796F5 -:1010F0008C9117978E1719F118968C9118978E1757 -:10110000F1F019968C9119978E17C9F01A968C9157 -:101110001A978E17A1F01B968C911B978E1779F05A -:1011200080E090E0ED01C80FD91F2E81211102C08F -:10113000EE8305C0019686309105A1F709C0BD0177 -:101140006C5F7F4FCD010E94400881E090E008C0B5 -:1011500081E090E013969C938E93129780E090E04C -:10116000DF91CF910895683818F0E8E7E60F25C0C1 -:10117000E62FF0E067FF12C0E058F10921E030E00F -:1011800001C0220FEA95EAF72095DC0114963C9104 -:101190001497322314963C93E0E00FC0E154FE4FC5 -:1011A000E491EE2329F1E7FF08C0DC0114962C91AD -:1011B00014972D7F14962C93EF7720E030E0EE23E8 -:1011C00051F0DC01A20FB31F16964C9116974E13E7 -:1011D00002C016961C922F5F3F4F2630310579F7DB -:1011E000BC016C5F7F4F0E94400881E090E0089551 -:1011F00080E090E00895FC01168217821086118627 -:10120000128613861482BC016C5F7F4F0C944008D9 -:101210001092960110928D0110928C018EE191E056 -:1012200090938B0180938A010895CF92DF92EF9281 -:10123000FF920F931F93CF93DF936C017A01EB0121 -:10124000E60EF71E00E010E0CE15DF0561F06991B3 -:10125000D601ED91FC910190F081E02DC601099538 -:10126000080F191FF1CFC801DF91CF911F910F9186 -:10127000FF90EF90DF90CF900895EE0FFF1F059045 -:0A128000F491E02D0994F894FFCFDB -:10128A0000E1000000000000010100000000F80673 -:10129A003F07220732070E071F0700000000D20788 -:0812AA0015094508B308FB0813 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/blend-micro/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/blend-micro/StandardFirmata.cpp.hex deleted file mode 100644 index a0fe7314..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/blend-micro/StandardFirmata.cpp.hex +++ /dev/null @@ -1,995 +0,0 @@ -:100000000C9494010C94BC010C94BC010C94BC01A4 -:100010000C94BC010C94BC010C94BC010C94BC016C -:100020000C94BC010C94BC010C94B11A0C947D1975 -:100030000C94BC010C94BC010C94BC010C94BC014C -:100040000C94BC010C94370A0C94BC010C94BC01B8 -:100050000C94BC010C94BC010C94BC010C94FD12DA -:100060000C94BC010C94BC010C94BC010C94BC011C -:100070000C94BC010C94BC010C94BC010C94BC010C -:100080000C94BC010C94BC010C94BC010C94BC01FC -:100090000C94F90D0C94BC010C94BC010C94BC01A3 -:1000A0000C94BC010C94BC010C94BC017D09990911 -:1000B000BD0899092E0999099B084A0899099909C7 -:1000C00099099909990961079909300899098208DC -:1000D000541459145E1468147214BC14BC14BC1467 -:1000E0007C14861490149A14A714BC14AF14DD1455 -:1000F000E014CF14D314D914011501150115E4141B -:10010000E814EC14F214F6140115FC1407060504A7 -:100110000100080A0B0C0D090000000200090F0085 -:1001200000030401000C00000000000000000000BB -:100130000000000000000408020110408040102070 -:10014000408040800802040180402010020110809D -:1001500010204040040404040403040502020202C7 -:100160000403020202020606060606060404020250 -:100170000204000000002300260029002C002F00AC -:1001800000000000250028002B002E003100000098 -:100190000000240027002A002D003000080B000278 -:1001A000020201000904000001020200000524000F -:1001B00010010524010101042402060524060001A2 -:1001C0000705810310004009040100020A00000035 -:1001D000070502024000000705830240000000C13D -:1001E0008081C11201000202000040EB03042400E0 -:1001F00001010200011201000200000040EB0304B3 -:100200002400010102000152424C00426C656E6400 -:10021000204D6963726F00040309040000000000B0 -:100220000000002A2B280000000000000000000051 -:1002300000000000000000000000002C9EB4A0A1FF -:10024000A2A434A6A7A5AE362D3738271E1F20211D -:100250002223242526B333B62EB7B89F84858687FC -:1002600088898A8B8C8D8E8F909192939495969796 -:1002700098999A9B9C9D2F3130A3AD3504050607B4 -:1002800008090A0B0C0D0E0F101112131415161776 -:1002900018191A1B1C1DAFB1B0B5000904020001EA -:1002A0000300000009210101000122650007058407 -:1002B0000340000105010902A1010901A100850116 -:1002C000050919012903150025019503750181020E -:1002D000950175058103050109300931093815813A -:1002E000257F750895038106C0C005010906A10197 -:1002F0008502050719E029E7150025017501950814 -:10030000810295017508810395067508150025651C -:100310000507190029658100C000C606170DD71210 -:10032000DB125D16C016A51C11241FBECFEFDAE04C -:10033000DEBFCDBF11E0A0E0B1E0E8E1FDE302C027 -:1003400005900D92A43FB107D9F724E0A4EFB1E0E6 -:1003500001C01D92A83BB207E1F713E0C8E2D3E069 -:1003600004C02297FE010E94111DCA31D107C9F7AE -:100370000E94E6120C948A1E0C9400001F93CF93E7 -:10038000DF93162F843008F06CC0982F990F990FC7 -:10039000990F985F9F3108F09EE1D82FDD0FDD0F98 -:1003A000DD0F8D2FC0E041E08917C8F4E82FF0E0A1 -:1003B000DF01A053BD4F2C91223070F4C42BEE0FFF -:1003C000FF1FE057FD4F21E030E0542F512311F47F -:1003D00020E030E031832083440F8F5FE5CFC0FF02 -:1003E00005C0612F61708D2F0E943B15C1FF06C0B3 -:1003F000612F627081E08D0F0E943B15C2FF06C025 -:10040000612F647082E08D0F0E943B15C3FF06C010 -:10041000612F687083E08D0F0E943B15C4FF06C0FA -:10042000612F607184E08D0F0E943B15C5FF06C0EF -:10043000612F607285E08D0F0E943B15C6FF06C0DC -:10044000612F607486E08D0F0E943B15C7FF09C0C5 -:10045000612F607887E08D0FDF91CF911F910C9411 -:100460003B15DF91CF911F9108950F931F93CF9369 -:10047000DF93EB018E3178F5082F10E0F801E0539F -:10048000FD4F9081933089F0943029F5F801ED5FAC -:10049000FD4F208130E0C901880F991F820F931F03 -:1004A0008F5D9D4F0E94D20B0FC0833051F09BEFA8 -:1004B000980F923030F097EF980F933010F08D3006 -:1004C00019F4BE010E942E14F801EE0FFF1FE05731 -:1004D000FD4FD183C083DF91CF911F910F9108957C -:1004E000CF93C82F8C3058F54091F6025091F70207 -:1004F00021E030E0082E02C0220F331F0A94E2F7F9 -:10050000672B49F420953095242335233093F70247 -:100510002093F60214C0242B352B3093F70220933E -:10052000F6028091F40181110AC08C2F0E94FD1304 -:10053000AC016C2F8EED93E0CF910C94A110CF9174 -:100540000895DB019A019091F5019C30D0F540911E -:10055000F601682F70E0442369F0E42FF0E0EA50E0 -:10056000FE4F8081FB01ED5FFD4F80834150409342 -:10057000F60107C0FB01ED5FFD4F90839F5F9093F5 -:10058000F501FB01ED5FFD4F1A161B067CF41216F8 -:10059000130664F4408150E0CA01880F991F840F4C -:1005A000951FAD018F5D9D4F0C940F0B208130E0A6 -:1005B000C901880F991F820F931F8F5D9D4F0C9467 -:1005C0008D0B68E171E08EED93E00C943011CF93C8 -:1005D000DF93C82FD0E0CD5FDD4F288130E0C90127 -:1005E000880F991F820F931F8F5D9D4F0E94930B61 -:1005F00088819091F501891306C0882379F0815094 -:100600008093F5010BC0992349F0E091F601EF5F6B -:10061000E093F601F0E0EA50FE4F80838FEF88838D -:10062000DF91CF9108951F93CF93DF93162FC82F9B -:10063000D0E0FE01E453FD4F90811923C251DD4FFC -:10064000411103C09881911741F0412F50E0682F6C -:100650008EED93E00E94BA101883DF91CF911F9125 -:100660000895EF92FF920F931F93CF93DF93E82E9D -:1006700083E08E1508F475C02E2D30E0F901EE50A0 -:10068000FD4F6083672B09F46CC0F901E453FD4F03 -:10069000F0800E2D000F000F000FF0FE52C0802FD3 -:1006A0000E947115892B09F44CC011E0C02FD0E0D5 -:1006B000F1FE07C081E0800F0E947115892B09F0BF -:1006C00042C0F2FE06C082E0800F0E947115892BA5 -:1006D000E1F5F3FE06C083E0800F0E947115892BBF -:1006E000B1F5F4FE06C084E0800F0E947115892BDD -:1006F00081F5F5FE06C085E0800F0E947115892BFB -:1007000051F5C831D10541F0F6FE06C086E0800FF4 -:100710000E947115892B09F5679744F4F7FE06C00E -:1007200087E0800F0E947115892BC9F441E0612F89 -:100730008E2DDF91CF911F910F91FF90EF900C9430 -:10074000130310E0B3CF1260BCCF1460C2CF1860A7 -:10075000C8CF1061CECF1062D4CF1064DDCF106847 -:10076000E5CFDF91CF911F910F91FF90EF9008950A -:10077000CF93DF938091F202882309F448C0D0918F -:10078000CC02D0FF1DC180E00E947115892B09F4B5 -:1007900017C1C1E0D1FF06C081E00E947115892B0D -:1007A00009F010C1D2FF06C082E00E947115892BAA -:1007B00009F00AC1D3FF06C083E00E947115892B9E -:1007C00009F004C1D4FF06C084E00E947115892B92 -:1007D00009F0FEC0D5FF06C085E00E947115892B87 -:1007E00009F0F8C0D6FF06C086E00E947115892B7B -:1007F00009F0F2C0D7FF06C087E00E947115892B6F -:1008000009F0ECC040E06C2F80E00E94130380915F -:10081000F302882309F448C0D091CD02D0FFE0C094 -:1008200088E00E947115892B09F4DAC0C1E0D1FF7C -:1008300006C089E00E947115892B09F0D3C0D2FF50 -:1008400006C08AE00E947115892B09F0CDC0D3FF44 -:1008500006C08BE00E947115892B09F0C7C0D4FF38 -:1008600006C08CE00E947115892B09F0C1C0D5FF2C -:1008700006C08DE00E947115892B09F0BBC0D6FF20 -:1008800006C08EE00E947115892B09F0B5C0D7FF14 -:1008900006C08FE00E947115892B09F0AFC040E0BF -:1008A0006C2F81E00E9413038091F402882309F4E5 -:1008B00048C0D091CE02D0FFA3C080E10E94711544 -:1008C000892B09F49DC0C1E0D1FF06C081E10E94DF -:1008D0007115892B09F096C0D2FF06C082E10E94F3 -:1008E0007115892B09F090C0D3FF06C083E10E94E7 -:1008F0007115892B09F08AC0D4FF06C084E10E94DB -:100900007115892B09F084C0D5FF06C085E10E94CE -:100910007115892B09F07EC0D6FF06C086E10E94C2 -:100920007115892B09F078C0D7FF06C087E10E94B6 -:100930007115892B09F072C040E06C2F82E00E9493 -:1009400013038091F502882309F476C0D091CF0279 -:10095000D0FF66C088E10E947115892B09F460C040 -:10096000C1E0D1FF06C089E10E947115892B09F011 -:1009700059C0D2FF06C08AE10E947115892B09F087 -:1009800053C0D3FF06C08BE10E947115892B09F07B -:100990004DC0D4FF06C08CE10E947115892B09F06F -:1009A00047C0D5FF06C08DE10E947115892B09F063 -:1009B00041C040E06C2F83E0DF91CF910C94130392 -:1009C000C0E0E8CEC260EECEC460F4CEC860FACE1D -:1009D000C06100CFC06206CFC0640CCFC06812CF28 -:1009E000C0E025CFC2602BCFC46031CFC86037CF05 -:1009F000C0613DCFC06243CFC06449CFC0684FCF14 -:100A0000C0E062CFC26068CFC4606ECFC86074CFF0 -:100A1000C0617ACFC06280CFC06486CFC0688CCFFF -:100A2000C0E09FCFC260A5CFC460ABCFC860B1CFDC -:100A3000C061B7CFC062BDCFDF91CF910895109252 -:100A400047028FEF80930A010895CF92DF92EF92D1 -:100A5000FF920F931F93CF93DF93182FEB01E82E94 -:100A6000F12CC70180539D4F6C01FC0180818F37B1 -:100A700009F4EEC0863051F480914702882331F0AA -:100A80006630710509F4E0C00E941F051E31A8F40C -:100A9000C430D10591F0F701ED5FFD4F20812C307E -:100AA00060F430E0C901880F991F820F931F8F5D9A -:100AB0009D4F0E94370C8111B4C00EEE010F0C3017 -:100AC00058F461E070E0C230D10511F060E070E0F0 -:100AD000802F0E94700202C01E31D0F4E12FE695F3 -:100AE000E695E695812F8770F0E0E453FD4F21E015 -:100AF00030E0082E01C0220F0A94EAF7209721F473 -:100B00008081822B808304C02095808128232083CC -:100B1000F701EE0FFF1FE057FD4F11821082C23028 -:100B2000D10579F02CF42097C9F0219729F16BC0F9 -:100B3000C430D10509F445C064F1269709F45BC0BF -:100B400062C00C3008F084C060E0812F0E94021562 -:100B500060E0812F0E943B1582E052C01E3108F0F8 -:100B600077C060E0812F0E94021560E0812F0E9413 -:100B70003B15F60110826CC01E3108F069C060E0C0 -:100B8000812F0E943B1561E0812F0E94021581E0B8 -:100B900037C0133059F08BEF810F823038F087EF78 -:100BA000810F833018F01D3009F052C061E0812FB1 -:100BB0000E94021560E070E0812F0E942E1483E0F5 -:100BC0001FC01E3108F044C084E0F6018083F701A5 -:100BD000ED5FFD4F80818F3F41F190E09C01220F3E -:100BE000331F280F391FC9018F5D9D4F0E94370C9D -:100BF00081112EC01AC08EEF810F823048F586E039 -:100C0000F601808325C06CE271E08EED93E0DF9108 -:100C1000CF911F910F91FF90EF90DF90CF900C94A8 -:100C20003011812F0E94E70248CF4FEF5FEF6FEF47 -:100C30007FEF812FDF91CF911F910F91FF90EF9068 -:100C4000DF90CF900C94A1021E3108F424CF35CF51 -:100C5000DF91CF911F910F91FF90EF90DF90CF9098 -:100C60000895CF93C0E08EEF8C0F823028F466E0B9 -:100C700070E08C2F0E942505CF5FCE31A1F781E077 -:100C8000809347028EE193E0CF910C94DD0C0F939B -:100C90001F93CF93DF9381E08093F401809147020B -:100CA00081110E941F05E2EFF2E0CCECD2E0AEEE43 -:100CB000B2E0119219921D9282E0E63FF807C9F75F -:100CC000C3E0D2E010E00FEF8EEE810F8C3018F40D -:100CD00062E070E002C061E070E0812F0E942505B3 -:100CE00009931F5F1E3181F71092F7021092F602EE -:100CF0001092F6011092F5011092F401DF91CF915C -:100D00001F910F91089524E042E06DE371E08EEDB4 -:100D100093E00E94C80F45E352E060EE8EED93E051 -:100D20000E943E114EEB51E060E98EED93E00E948F -:100D30003E1140E752E060EC8EED93E00E943E11E0 -:100D400041E353E060ED8EED93E00E943E1145E2F9 -:100D500055E064EF8EED93E00E943E114DE457E0C4 -:100D600060EF8EED93E00E94691147E456E06FEF6B -:100D70008EED93E00E94611140E051EE60E070E082 -:100D80008EED93E00E94C1120C944706CF93DF933F -:100D9000C1E2D2E0CE010E94F30A239682E0C5347C -:100DA000D807C1F7DF91CF910895682F8EE193E0C6 -:100DB0000C949E0C8EE193E00E944E0C0895DF92FD -:100DC000EF92FF920F931F93CF93DF93F82EEB01D7 -:100DD000D42E6F3F8FEF7807A9F06F2D8EE193E04F -:100DE0000E94F70C8C2F0E94D5068EE193E00E94A2 -:100DF000140D8091450290914602009729F00E94BF -:100E00009E1302C0C0E0D0E04D2D6F2D8EE193E027 -:100E10000E94F40C0D2D10E08EE193E00E94460C30 -:100E2000081719071CF461E571E009C08EE193E031 -:100E30000E94460C8017910734F46EE671E08EED47 -:100E400093E00E943011F0924802C09349028AE474 -:100E5000E82E82E0F82EC0E0D0E0C017D10784F081 -:100E600042E04D0D28E432E067E78EED93E0DF913C -:100E7000CF911F910F91FF90EF90DF900C94E810AD -:100E80008EE193E00E94460C892B51F30E94DA0612 -:100E9000F70181937F012196E0CFEF92FF920F93AC -:100EA0001F93CF93DF93162FEA0190E0FC01E956E0 -:100EB000F109E231F10508F03CC2EA5AFF4F0C9407 -:100EC0000F1D8981982F987185FF03C06AE871E032 -:100ED00056C08881983071F148F491112AC2682F68 -:100EE0008EE193E00E94F70C02E007C0903109F414 -:100EF00040C0983109F471C01CC2011768F4FE01AA -:100F0000E00FF11D9181808120E8929F80191124CA -:100F10000E94D5060E5FF1CF8EE193E00E94140D82 -:100F200086E490E0DF91CF911F910F91FF90EF90B9 -:100F30000C949E134A816B81163069F430E8639FEC -:100F4000B0011124640F711D9D814C8150E8959F63 -:100F50004019112406C090E8699F401911246FEFD1 -:100F60007FEFDF91CF911F910F91FF90EF900C9445 -:100F7000DF06E0910A01E73064F06AEA71E08EED85 -:100F800093E0DF91CF911F910F91FF90EF900C9420 -:100F900030119A812B81F0E8663061F42F9F900127 -:100FA0001124290F311D4D819C8150E8459F9019D6 -:100FB000112405C02F9F901911242FEF3FEFEF5FF1 -:100FC000E0930A0144E0E402F0011124E859FD4FE6 -:100FD0008083328321839383ACC150910A0115161B -:100FE00034F440E0252F332727FD30950EC08FEFD6 -:100FF00080930A019EC1EE0FFF1FEE0FFF1FE859FD -:10100000FD4F9081981719F14F5FE42FF0E02E17F4 -:101010003F078CF740E01BC04830C0F4DF01AA0F47 -:10102000BB1FAA0FBB1FA459BD4F8C91EE0FFF1F12 -:10103000EE0FFF1FE859FD4F808311968D919C9113 -:1010400012979283818313968C9183834F5FE42F51 -:10105000F0E02E173F0704F7515050930A0169C181 -:101060002881898150E8859FC0011124820F911D3C -:10107000009721F0909346028093450280914702A9 -:10108000811157C1DF91CF911F910F91FF90EF9088 -:101090000C943106653008F44CC118810981FA803E -:1010A000EB80CC811E3108F044C1E12FF0E0ED5F10 -:1010B000FD4FE081EC3060F4F0E0CF01880F991F24 -:1010C0008E0F9F1F8F5D9D4F0E94370C81112DC188 -:1010D00080E8C89FA00111244E0D511D90E8F99E93 -:1010E000B0011124600F711D812F0E94A10264E0E4 -:1010F00070E0812FDF91CF911F910F91FF90EF90C2 -:101100000C942505623008F414C128818981E0E837 -:101110008E9FC0011124820F911D90930C0180932A -:101120000B010A9708F005C18AE090E090930C014A -:1011300080930B01FEC0623008F4FBC0698170E04F -:10114000123091F08A81F0E88F9FC0011124682B42 -:10115000792B133049F08B8190E090E4899F902D9A -:1011600088271124682B792B8881DF91CF911F91DB -:101170000F91FF90EF900C94350260EF8EED93E0AD -:101180000E9434116CE68EED93E00E943411C0E0B1 -:1011900060E08EED93E00E94341161E08EED93E00B -:1011A0000E94341161E08EED93E00E94341161E001 -:1011B0008EED93E00E9434118EEE8C0F8C3058F43B -:1011C00062E08EED93E00E9434116AE08EED93E0D0 -:1011D0000E9434110DC0C33059F463E08EED93E0EA -:1011E0000E94341168E08EED93E00E9434110AC031 -:1011F0008BEF8C0F823088F387EF8C0F833068F38E -:10120000CD3059F364E08EED93E00E9434116EE02E -:101210008EED93E00E9434118EEF8C0F823050F4EB -:1012200066E08EED93E00E94341161E08EED93E074 -:101230000E9434116FE78EED93E00E943411CF5F6E -:10124000CE3109F0A5CF67EF8EED93E0DF91CF911E -:101250001F910F91FF90EF900C943411662309F4C5 -:1012600068C0C88160EF8EED93E00E9434116EE695 -:101270008EED93E00E9434116C2F8EED93E00E946E -:101280003411CE3100F7D0E0FE01E053FD4F608114 -:101290008EED93E00E943411CC0FDD1F8E010057BC -:1012A0001D4FF80160816F778EED93E00E9434113D -:1012B000F80160817181CB018078892B49F0660F3C -:1012C000672F661F770B6F778EED93E00E943411C6 -:1012D000C057DD4F68817981CB018827907C892BAD -:1012E00009F4B1CF770F660B770F762F661F6F77F4 -:1012F0008EED93E00E943411A6CF60EF8EED93E067 -:101300000E9434116AE68EED93E00E943411CEEE15 -:10131000CC3010F06FE701C06C2F8EED93E00E948F -:101320003411CF5FCC30A1F78ECF812F0E94E7021E -:10133000CFCEDF91CF911F910F91FF90EF90089545 -:101340008F929F92AF92BF92CF92DF92EF92FF92D5 -:101350000F931F93CF93DF930E94B8038EED93E01A -:101360000E942810892B29F08EED93E00E949411A1 -:10137000F5CF0E94471360938C0270938D02809387 -:101380008E0290938F02C0908802D0908902E090E4 -:101390008A02F0908B0240910B0150910C014A019E -:1013A000A12CB12C8B019C010C191D092E093F09A0 -:1013B00080169106A206B30608F04CC0D501C40100 -:1013C0008C0D9D1DAE1DBF1D8093880290938902D8 -:1013D000A0938A02B0938B02C0EDD2E01EEE1C30C7 -:1013E000C0F488818230A9F42091F6023091F7028E -:1013F000012E02C0359527950A94E2F720FF09C017 -:10140000812F0E94FD13AC01612F8EED93E00E94AD -:10141000A1101F5F21961C3011F780910A0187FDF2 -:1014200019C0C0E0EC2FF0E080910A01992787FDF8 -:1014300090958E179F0774F0EE0FFF1FEE0FFF1FA2 -:10144000E859FD4F61817281438180810E94DF06EE -:10145000CF5FE8CFDF91CF911F910F91FF90EF9079 -:10146000DF90CF90BF90AF909F908F9008951F9284 -:101470000F920FB60F9211242F933F934F935F93C8 -:101480006F937F938F939F93AF93BF93EF93FF934C -:101490008091F90287FF05C01092850010928400A8 -:1014A0001AC02091F902332727FD30958091F80268 -:1014B00090E0281739077CF48091F902992787FD7D -:1014C0009095FC01EE0FFF1FE80FF91FE650FD4F4E -:1014D000808186FD15C08091F9028F5F8093F902AB -:1014E0002091F902332727FD30958091F80290E092 -:1014F00028173907BCF48091F9028C305CF112C0D6 -:101500008091F902992787FD9095FC01EE0FFF1F4E -:10151000E80FF91FE650FD4F808160E08F730E9455 -:101520003B15D9CF8091840090918500049680323C -:101530009E4418F480E29EE405C08091840090915E -:101540008500049690938900809388008FEF8093A4 -:10155000F90238C020918400309185008091F90211 -:10156000992787FD9095FC01EE0FFF1FE80FF91FEB -:10157000E650FD4F81819281820F931F90938900E5 -:10158000809388008091F902992787FD9095FC014E -:10159000EE0FFF1FE80FF91FE650FD4F808186FF19 -:1015A00011C08091F902992787FD9095FC01EE0FFB -:1015B000FF1FE80FF91FE650FD4F808161E08F7338 -:1015C0000E943B15FF91EF91BF91AF919F918F9139 -:1015D0007F916F915F914F913F912F910F900FBE2F -:1015E0000F901F9018952091F8022C30A0F431E054 -:1015F000320F3093F802FC012083822F90E0FC012F -:10160000EE0FFF1FE80FF91FE650FD4F8CED95E040 -:101610009283818308952FEFFC0120830895DF9248 -:10162000EF92FF920F931F93CF93DF93EC01D62E8F -:101630007A01890188818C3008F066C061E08D2DC7 -:101640000E9402158881A82FB0E0FD01EE0FFF1F58 -:10165000EA0FFB1FE650FD4F2D2D2F739081907CDC -:10166000922B908360E272E06E197F0977FF02C0CF -:101670006D5F7F4F7595679575956795698340E6B2 -:1016800059E0401B510B57FF02C04D5F5F4F55950E -:101690004795559547954A836CE00E94C21C9CE093 -:1016A000899FB001112420E030E0A901460F571FA7 -:1016B000FA01EE0FFF1FE40FF51FE650FD4F90817A -:1016C00096FD16C02F5F3F4F2C30310571F7811109 -:1016D0000FC01092800082E08093810010928500FC -:1016E00010928400B19A80916F00826080936F00A5 -:1016F000888190E0FC01EE0FFF1FE80FF91FE65014 -:10170000FD4F8081806480838881DF91CF911F911C -:101710000F91FF90EF90DF90089520E639E040E2CE -:1017200052E00C940F0BFC01808190E0FC01EE0F65 -:10173000FF1FE80FF91FE650FD4F80818F7B8083EC -:101740000895FC0180818C3060F5918128E830E0BB -:10175000291B310997FD3395220F331F220F331FA9 -:10176000621773077CF0928128E532E0291B31096A -:1017700097FD3395220F331F220F331F6217730714 -:101780000CF49B014FB7F89490E022503109FC0112 -:10179000EE0FFF1FE80FF91FE650FD4F3283218344 -:1017A0004FBF08954F925F926F927F92AF92BF9218 -:1017B000CF92DF92EF92FF920F931F93CF93DF931D -:1017C000EC01603282E078070CF040C077FD06C083 -:1017D000653B71052CF064EB70E002C060E070E0E6 -:1017E000898128E830E0281B310987FD3395220FD5 -:1017F000331F220F331F5901CC24B7FCC094DC2CBB -:10180000882777FD8095982F2A8148E552E0421B72 -:10181000510927FD5395440F551F440F551F2A01A9 -:10182000662457FC6094762C7F926F925F924F9261 -:1018300014EBE12EF12C00E010E020E030E0A901F3 -:101840000E94271B0F900F900F900F90CE01DF91F9 -:10185000CF911F910F91FF90EF90DF90CF90BF90AD -:10186000AF907F906F905F904F900C94A10BFC0114 -:10187000808190E0FC01EE0FFF1FE80FF91FE6509A -:10188000FD4F808186FB882780F9089580914E0363 -:1018900090E020914F03821B9109089520914F03FE -:1018A00080914E03281750F4E22FF0E0E05BFC4FEC -:1018B000808190E02F5F20934F0308958FEF9FEF7B -:1018C0000895E0914F0380914E03E81730F4F0E063 -:1018D000E05BFC4F808190E008958FEF9FEF0895CB -:1018E0000895CF92DF92EF92FF920F931F93CF93C1 -:1018F000DF937C01CB018A0120912A03222389F006 -:10190000EB016B01C40ED51ECC15DD0569F06991A4 -:10191000D701ED91FC910190F081E02DC70109956F -:10192000F3CF642F0E94D00DC801DF91CF911F919A -:101930000F91FF90EF90DF90CF900895CF93DF93BA -:101940001F92CDB7DEB7698320912A032223D1F0FD -:1019500020912B03203240F021E030E0FC01338362 -:10196000228380E090E015C080912C03E82FF0E006 -:10197000E35DFC4F998190838F5F80932C0380936C -:101980002B0305C061E0CE0101960E94D00D81E0DD -:1019900090E00F90DF91CF910895FC0113821282A5 -:1019A00048EE53E060E070E04483558366837783BC -:1019B0008FEB91E091838083089510924F031092F2 -:1019C0004E0310922C0310922B030C941B0D862FA8 -:1019D000413208F040E260E573E00E94390D109258 -:1019E0004F0380934E03089521E00C94E70C81E0AF -:1019F00080932A0360934D0310922C0310922B03C3 -:101A000008950F93062F21E040912B036DE273E0C0 -:101A100080914D030E947D0D10922C0310922B0398 -:101A200010922A030F91089561E00C94010D8EE14C -:101A300093E00C94CD0C1092DD0381E08093DB03E6 -:101A40001092DA0361E082E00E943B1561E083E0DE -:101A50000E943B15E9EBF0E080818E7F80838081DE -:101A60008D7F808380E28093B80085E48093BC0002 -:101A70000895413208F03FC09091DD039111FCCFF1 -:101A800091E09093DD032093DB032FEF209370030D -:101A90001092B503240F2093B4039093DC0390912C -:101AA000DC03880F892B8093DC038091DA0381307B -:101AB00041F41092DA038091DC038093BB0085EC43 -:101AC00001C085EE8093BC008091DD038130E1F39D -:101AD0008091B503841710F44091B50326EB33E0F1 -:101AE000FB01D9018A2F821B841718F48D918193F1 -:101AF000F9CF842F089580E008950F93413208F0C4 -:101B000046C09091DD039111FCCF92E09093DD03EC -:101B10000093DB039FEF909370031092B503409303 -:101B2000B403FB0166EB73E0DB019A2F961B94175D -:101B300018F491919D93F9CF1092DC039091DC03FE -:101B4000880F892B8093DC038091DA03813041F484 -:101B50001092DA038091DC038093BB0085EC01C016 -:101B600085EE8093BC00222321F08091DD0382303A -:101B7000E1F3809170038F3F61F0809170038032B8 -:101B800051F080917003803341F483E007C081E01D -:101B900005C080E003C082E001C084E00F91089599 -:101BA000613298F42091DD03243089F4609392032C -:101BB000FC0184E993E0DC012A2F281B261718F486 -:101BC00021912D93F9CF80E0089581E0089582E07E -:101BD000089585ED8093BC008091BC0084FDFCCF0E -:101BE0001092DD03089585EC8093BC001092DD0314 -:101BF00008951F920F920FB60F9211242F933F93C7 -:101C00004F935F936F937F938F939F93AF93BF9304 -:101C1000EF93FF938091B900887F803609F49CC0D0 -:101C200068F5883209F45BC090F4803109F454C03F -:101C300038F4882309F4F5C0883009F44DC0F5C0A4 -:101C4000883109F44CC0803209F45DC0EEC08034A4 -:101C500009F468C048F4803309F455C0883309F0AA -:101C6000E4C080937003A8C0803509F44FC0883564 -:101C700009F45DC0883409F0D8C0D5C0883909F4AA -:101C8000C6C0A8F4883709F467C038F4883609F468 -:101C900063C0803709F460C0C8C0883809F4B7C091 -:101CA000803909F45FC0803809F0BFC05BC0803B59 -:101CB00009F485C038F4803A09F466C0883A09F41A -:101CC0007EC0B3C0803C09F4A6C0883C09F4A3C020 -:101CD000883B09F489C0A9C08091DC0310C09091B1 -:101CE000B5038091B403981770F5E091B50381E0D6 -:101CF0008E0F8093B503F0E0EA54FC4F808180930F -:101D0000BB0085EC85C0809370038DC0E091B50366 -:101D100081E08E0F8093B5038091BB00F0E0EA5420 -:101D2000FC4F80839091B5038091B4036DC0E09126 -:101D3000B50381E08E0F8093B5038091BB00F0E086 -:101D4000EA54FC4F80838091DB0381116CC081E0F9 -:101D50008093DA0384EA60C083E08093DD0310920D -:101D60007103CFCF80917103803208F050C0E091B1 -:101D7000710381E08E0F809371038091BB00F0E0CE -:101D8000EE58FC4F8083BDCF80917103803230F4D8 -:101D9000E0917103F0E0EE58FC4F10820E94E90DD3 -:101DA0006091710370E0E091D603F091D70382E770 -:101DB00093E00995109271030E94F30D36C084E000 -:101DC0008093DD031092930310929203E091D80365 -:101DD000F091D903099580919203811105C081E0AA -:101DE0008093920310929403E091930381E08E0F0D -:101DF00080939303F0E0EC56FC4F80818093BB000E -:101E00009091930380919203981708F47ACF85E814 -:101E10008093BC000AC085EC8093BC001092DD0367 -:101E200004C0109270030E94E90DFF91EF91BF91E1 -:101E3000AF919F918F917F916F915F914F913F9162 -:101E40002F910F900FBE0F901F9018950F931F9317 -:101E5000CF93DF93EC018B0188819981DC01ED91B7 -:101E6000FC916F770190F081E02D0995888199812F -:101E7000DC01ED91FC91B801660F672F661F770BAF -:101E80006F770190F081E02DDF91CF911F910F913D -:101E90000994DC018D919C91DC01ED91FC91019004 -:101EA000F081E02D60EF0994DC018D919C91DC01C3 -:101EB000ED91FC910190F081E02D67EF0994CF93B3 -:101EC000DF93EC0188819981DC01ED91FC91019017 -:101ED000F081E02D69EF099588819981DC01ED9110 -:101EE000FC910190F081E02D62E009958881998153 -:101EF000DC01ED91FC910190F081E02D64E0DF9137 -:101F0000CF9109941F93CF93DF93EC018A818823AB -:101F1000D9F1CE010E94490F88819981DC01ED91B0 -:101F2000FC910190F081E02D69E709958881998104 -:101F3000DC01ED91FC91AB81BC810190F081E02D41 -:101F40006C91099588819981DC01ED91FC91AB81BF -:101F5000BC810190F081E02D11966C91099512E001 -:101F60008A81181758F4EB81FC81E10FF11D608123 -:101F700070E0CE010E94260F1F5FF2CFCE01DF91ED -:101F8000CF911F910C94540FDF91CF911F91089521 -:101F9000CF92DF92EF92FF920F931F93CF93DF9335 -:101FA0008C01EB01C42ED22E6BEC71E0CE010E94AD -:101FB000701E7C016FE270E0CE010E94651E0097EA -:101FC00039F46CE570E0CE010E94651E009711F0B7 -:101FD000EC012196E114F10451F4FE01019000207E -:101FE000E9F7EC1BEF5FD8011296EC9306C0EC1AF0 -:101FF000FD0AE394E394F801E282D80113968D91EF -:102000009C9114970E94C71DF801E280F12CC70132 -:1020100001960E942F1DD80114969C938E931397BE -:10202000FC01EE0DFF1D1082FC01C082D1821296D0 -:102030004C9150E042505109BE010296DF91CF9180 -:102040001F910F91FF90EF90DF90CF900C94561E50 -:10205000DC018D919C91DC01ED91FC910480F58176 -:10206000E02D09940F931F93CF93DF93FC012085FC -:10207000213749F0293709F049C0DF91CF911F91ED -:102080000F910C94820FFC01E95AFF4F0190F081EF -:10209000E02D309709F450C0DC01A75BBF4F4D9194 -:1020A0005C919A012150310937FD9A01B90175956A -:1020B0006795062F40E050E020E030E04E5F5F4F34 -:1020C0002017A0F4EC01C40FD51F1F81DC01A20F63 -:1020D000B31F18961C931897C885D0E8CD9F101988 -:1020E000112418961C932F5F3F4FE8CFDC01A60FF9 -:1020F000B11D17962C911797222311F018961C9258 -:102100000896DF91CF911F910F910994FC01E75A36 -:10211000FF4F0190F081E02D309771F0AC01475FE7 -:102120005F4FDC01A75BBF4F6C916150822FDF9145 -:10213000CF911F910F910994DF91CF911F910F9132 -:1021400008950F931F93CF93DF93EC018A01888149 -:102150009981DC01ED91FC916F70606E0190F081CE -:10216000E02D0995B801CE01DF91CF911F910F911C -:102170000C94260F0F931F93CF93DF93EC018A01EA -:1021800088819981DC01ED91FC916F70606901900B -:10219000F081E02D099588819981DC01ED91FC9118 -:1021A000602F6F770190F081E02D099588819981EA -:1021B000DC01ED91FC91B801660F672F661F770B6C -:1021C0000190F081E02DDF91CF911F910F91099443 -:1021D000CF92DF92EF92FF920F931F93CF93DF93F3 -:1021E00000D01F92CDB7DEB78C01F42E2A833B833B -:1021F00069830E94490FD8018D919C91DC01ED917A -:10220000FC910190F081E02D698109952A81E22EEF -:10221000C22E3B81D32E8C2D8E198F1540F4F601E2 -:1022200061916F0170E0C8010E94260FF4CFC801D0 -:102230000F900F900F90DF91CF911F910F91FF9012 -:10224000EF90DF90CF900C94540F9A01FA01019017 -:102250000020E9F73197E41BF50B4E2F0C94E810A2 -:10226000AB0161E70C942511DC018D919C91DC019F -:10227000ED91FC910190F081E02D0994603DB9F061 -:1022800028F4603961F0603C71F00895603E19F007 -:10229000643F89F00895FC01E55BFF4F0FC0FC012E -:1022A000E35BFF4F0BC0FC01E15BFF4F07C0FC018C -:1022B000EF5AFF4F03C0FC01ED5AFF4F518340839B -:1022C00008956F3F29F4FC01EB5AFF4F518340837F -:1022D0000895875A9F4FFC01518340830895FC0164 -:1022E00015821682178280E090E0DF01A80FB91FE7 -:1022F00018961C92019680349105B9F7DF01A85B0E -:10230000BF4F1C9211961D921C92EB5AFF4F0190E9 -:10231000F081E02D309709F009940895FC011282B4 -:10232000148213820C946F11CF93DF93EC01888198 -:102330009981DC01ED91FC910680F781E02D0995F2 -:10234000FE01E85BFF4F20812223B1F0873F91051A -:1023500031F41082CE01DF91CF910C943210FE0146 -:10236000E75BFF4F20813181C20FD31F88872F5F2A -:102370003F4F318320839DC02D81222309F45EC00D -:10238000803891050CF05AC09FEF920F9D83FE019B -:10239000E90FF11D808791118CC08E81882309F48B -:1023A00088C0803DE9F148F48039E9F0803C09F0CB -:1023B00043C0FE01E15BFF4F36C0803E19F0843F11 -:1023C00019F13AC0FE01E55BFF4F0190F081E02D6D -:1023D000309791F18885698570E0B0E88B9F600D3A -:1023E000711D112427C0FE01E35BFF4F0190F081B6 -:1023F000E02D309709F18885698570E090E8899F24 -:10240000600D711D112416C0FE01ED5AFF4F0190A1 -:10241000F081E02D309781F0688570E089850BC0F0 -:10242000FE01EF5AFF4F0190F081E02D309721F02F -:10243000688570E08F8109951E823BC0803F9105C1 -:102440002CF4282F2F702F83807F9927803E9105B1 -:1024500021F154F4803C910511F1803D9105F9F092 -:102460008039910531F519C0843F9105B1F054F4DC -:10247000803F9105F1F481E08083C75BDF4F1982D3 -:10248000188217C0893F910571F08F3F910589F43B -:10249000CE01DF91CF910C946F1192E001C091E0D9 -:1024A0009D838E8306C08EED93E0DF91CF910C94D7 -:1024B0005F0FDF91CF9108958F929F92AF92BF925D -:1024C000CF92DF92EF92FF921F93CF93DF93EB01B6 -:1024D0004A01690161E08DE00E94021510E0EE24DE -:1024E000D7FCE094FE2CAA2497FCA094BA2C812F50 -:1024F00090E08C179D0794F4C701B6010E947613F3 -:1025000061E08DE00E943B15C501B4010E94761385 -:1025100060E08DE00E943B151F5FE9CFDF91CF9116 -:102520001F91FF90EF90DF90CF90BF90AF909F9062 -:102530008F900895CF93DF93EC0161E08DE00E94CE -:10254000021522ED30E048E250E062E070E0CE019A -:102550000E945C126AEF70E080E090E00E947613C7 -:1025600022ED30E048E250E064E070E0CE010E94ED -:102570005C126DE770E080E090E0DF91CF910C9409 -:102580007613CF93DF93EC0188E494E00E94571612 -:1025900088E494E099838883CE010E949A12CE0148 -:1025A0000E945F0FCE01DF91CF910C94820F8EEDD0 -:1025B00093E00C948E110F9300E020E040E060E087 -:1025C00089E394E00E94B4160F9108950E94A71326 -:1025D0008EE994E00E94071B89B5806189BD09B42A -:1025E00000FEFDCF0E948306C0E0D0E00E94A0095B -:1025F0002097E1F30E940000F9CF1F920F920FB6CF -:102600000F9211242F933F938F939F93AF93BF9378 -:102610008091400490914104A0914204B091430400 -:1026200030913F0426E0230F2D3720F40296A11DA0 -:10263000B11D05C029E8230F0396A11DB11D2093EC -:102640003F048093400490934104A0934204B093CC -:1026500043048091440490914504A0914604B091B4 -:1026600047040196A11DB11D809344049093450435 -:10267000A0934604B0934704BF91AF919F918F916F -:102680003F912F910F900FBE0F901F9018952FB76D -:10269000F8946091400470914104809142049091BB -:1026A00043042FBF08953FB7F8948091440490915C -:1026B0004504A0914604B091470426B5A89B05C0E7 -:1026C0002F3F19F00196A11DB11D3FBF6627782F3E -:1026D000892F9A2F620F711D811D911D43E0660F96 -:1026E000771F881F991F4A95D1F70895CF92DF92DF -:1026F000EF92FF92CF93DF936B017C010E94531303 -:10270000EB01C114D104E104F10489F00E946E1BB5 -:102710000E9453136C1B7D0B683E734090F381E065 -:10272000C81AD108E108F108C851DC4FEACFDF919F -:10273000CF91FF90EF90DF90CF9008958330910577 -:1027400028F0880F991F04970197F1F7089578945E -:1027500084B5826084BD84B5816084BD85B58260A6 -:1027600085BD85B5816085BDEEE6F0E08081816044 -:102770008083E1E8F0E01082808182608083808144 -:1027800081608083E0E8F0E0808181608083E1E91E -:10279000F0E0808182608083808181608083E0E9D5 -:1027A000F0E0808181608083E1ECF0E080818460F2 -:1027B0008083808182608083808181608083E3EC7C -:1027C000F0E0808181608083E0ECF0E080818260D5 -:1027D0008083E2ECF0E0808181608083EAE7F0E0D2 -:1027E00080818460808380818260808380818E7F0D -:1027F00080838081806880830895823108F08251CF -:10280000E82FF0E0E45FFE4FE49180917B00E3FB72 -:10281000222720F930E095E0220F331F9A95E1F747 -:102820008F7D822B80937B00E77080910D0120E4E7 -:10283000829FC0011124E82BE0937C0080917A00F4 -:10284000806480937A0080917A0086FDFCCF80912D -:1028500078002091790090E0922B08951F93CF93F8 -:10286000DF93182FEB0161E00E940215209711F40D -:1028700060E004C0CF3FD10539F461E0812FDF91E2 -:10288000CF911F910C943B15E12FF0E0E85EFE4FD5 -:10289000449150E0FA013197EF30F10508F06CC037 -:1028A000E859FF4F0C940F1D84B5806884BDC7BDE7 -:1028B00068C084B5806284BDC8BD63C0809180005B -:1028C000806880938000D0938900C093880059C0AD -:1028D00080918000806280938000D0938B00C093B1 -:1028E0008A004FC080918000886080938000D093E0 -:1028F0008D00C0938C0045C08091900080688093CB -:102900009000D0939900C09398003BC080919000B4 -:10291000806280939000D0939B00C0939A0031C056 -:1029200080919000886080939000D0939D00C09328 -:102930009C0027C08091C00080688093C000809177 -:10294000C0008F7B8093C000C093CF001AC08091DD -:10295000C00080628093C000C093D00012C08091FC -:10296000C20088608093C2008091C2008B7F8093F8 -:10297000C200C093D20005C0C038D1050CF07DCF95 -:1029800077CFDF91CF911F91089590E0FC013197AF -:10299000EF30F105B0F5E958FF4F0C940F1D809111 -:1029A00080008F7703C0809180008F7D80938000AE -:1029B000089580918000877FF9CF84B58F7702C01A -:1029C00084B58F7D84BD0895809190008F7707C076 -:1029D000809190008F7D03C080919000877F8093CD -:1029E000900008958091C0008F7703C08091C0004F -:1029F0008F7D8093C00008958091C200877F80936F -:102A0000C2000895CF93DF9390E0FC01EA5CFE4F93 -:102A10002491FC01EC5AFE4F8491882349F190E007 -:102A2000880F991FFC01E257FE4FA591B491805881 -:102A30009E4FFC01C591D4919FB7611108C0F894D5 -:102A40008C91209582238C93888182230AC06230E6 -:102A500051F4F8948C91322F309583238C93888194 -:102A6000822B888304C0F8948C91822B8C939FBF17 -:102A7000DF91CF9108950F931F93CF93DF931F9210 -:102A8000CDB7DEB7282F30E0F901E85EFE4F849124 -:102A9000F901EA5CFE4F1491F901EC5AFE4F0491E2 -:102AA0000023C9F0882321F069830E94C51469813D -:102AB000E02FF0E0EE0FFF1FE058FE4FA591B4911C -:102AC0009FB7F8948C91611103C01095812301C0C8 -:102AD000812B8C939FBF0F90DF91CF911F910F910E -:102AE0000895CF93DF93282F30E0F901E85EFE4F81 -:102AF0008491F901EA5CFE4FD491F901EC5AFE4F42 -:102B0000C491CC2391F081110E94C514EC2FF0E008 -:102B1000EE0FFF1FEE58FE4FA591B4912C912D237F -:102B200081E090E021F480E002C080E090E0DF915D -:102B3000CF910895CF93DF931F92CDB7DEB769830E -:102B4000DC01ED91FC910280F381E02D41E050E049 -:102B5000BE016F5F7F4F09950F90DF91CF91089570 -:102B6000CF93DF93EC018C859D8597FF05C082E0B4 -:102B70000E9452189D878C878C859D85DF91CF910F -:102B8000089583E00C94A71AFC018485958597FD30 -:102B900006C082E00E94FA1790E00196089582E054 -:102BA0000E94FA1790E00895FC018485958597FDB1 -:102BB00005C02FEF3FEF35872487089582E00C94FE -:102BC0005218CF93DF93EC0180911501882331F0E7 -:102BD00083E00E9483181816190634F081E090E013 -:102BE0009B838A8380E090E0DF91CF910895FC0180 -:102BF00020812E5F208342E450E06CE971E080E8A0 -:102C00000C941E19FC0181819081913A59F4813212 -:102C100009F03CC047E050E06EE071E080E00E94C7 -:102C20001E1943C0913291F5803239F467E070E0AB -:102C30008EE091E00E944F1906C0823209F035C043 -:102C400082818093150180910E0190910F01A091D6 -:102C50001001B0911101803B9440A105B105C1F470 -:102C60008091150180FD14C087E797E790930108D4 -:102C7000809300082BE088E190E00FB6F894A895C7 -:102C8000809360000FBE209360000FC080E0089525 -:102C900088E10FB6F89480936000109260000FBE38 -:102CA000A895109201081092000881E008952FEF76 -:102CB0003FEFFC0135872487089510924B04109252 -:102CC0004A0488EE93E0A0E0B0E080934C04909337 -:102CD0004D04A0934E04B0934F0484ED91E0909383 -:102CE0004904809348048FEF9FEF9093550480939D -:102CF00054040895AF92BF92CF92DF92EF92FF9269 -:102D00000F931F93CF93DF936C017B01C0E0D0E062 -:102D100000E010E0F601EC0FFD1F4AE050E0628198 -:102D2000C7010E947A175C016EE2C7010E940D176D -:102D30008A0D9B1D080F191F2196C330D10551F72D -:102D40004AE050E0F6016581C7010E947A17800FC2 -:102D5000911FDF91CF911F910F91FF90EF90DF9026 -:102D6000CF90BF90AF9008950F93FC0184EE91E057 -:102D70009183808362834383248305830F91089525 -:102D800084EE91E0909399048093980410929A04B1 -:102D900010929B0410929C0410929D040895CF926F -:102DA000DF92EF92FF920F931F93CF93DF936C010B -:102DB0007A01EB01E60EF71E00E010E0CE15DF050C -:102DC00061F06991D601ED91FC910190F081E02DC7 -:102DD000C6010995080F191FF1CFC801DF91CF91E6 -:102DE0001F910F91FF90EF90DF90CF9008956115A4 -:102DF000710581F0DB010D900020E9F7AD01415034 -:102E00005109461B570BDC01ED91FC910280F381C7 -:102E1000E02D099480E090E00895DC01ED91FC91B3 -:102E20000190F081E02D09948F929F92AF92BF9212 -:102E3000CF92DF92EF92FF920F931F93CF93DF9386 -:102E4000CDB7DEB7A1970FB6F894DEBF0FBECDBFEA -:102E50007C01C42EE52FCB01D22E19A221E02D1525 -:102E600010F02AE0D22E8E010F5D1F4F8D2C912C79 -:102E7000A12CB12C6C2D7E2FA50194010E94CE1C9B -:102E80008C2DD29E80191124015011098A3014F41E -:102E9000805D01C0895CF801808321153105410501 -:102EA000510521F0C22EE32FCA01E4CFB801C701BA -:102EB0000E94F716A1960FB6F894DEBF0FBECDBFE5 -:102EC000DF91CF911F910F91FF90EF90DF90CF9006 -:102ED000BF90AF909F908F9008952115310541F4D8 -:102EE000DC01ED91FC910190F081E02D642F0994BB -:102EF0000C9414179A01462F50E060E070E00C9497 -:102F00006D174091A2045091A3042091A004309128 -:102F1000A10442175307B4F49091E8009570E1F3CF -:102F20009091E80092FD19C08093F1008091A20475 -:102F30009091A30401968F739927892B19F48EEF32 -:102F40008093E8008091A2049091A304019690934D -:102F5000A3048093A20481E0089580E00895CF92B5 -:102F6000DF92FF920F931F93CF93DF931F92CDB702 -:102F7000DEB7082F162F862F880F8E5F99830E9449 -:102F8000811783E00E948117F02EC02E9981D92EDF -:102F90008C2D8F19811778F4F60184910E94811786 -:102FA000082F80E00E9481178023FFEFCF1ADF0AED -:102FB0008111EECF01C081E00F90DF91CF911F9181 -:102FC0000F91FF90DF90CF900895615030F02091E5 -:102FD000F100FC0120830196F8CF289A84E68093C3 -:102FE000A50408952FB7FC012083F89467706093BF -:102FF000E9000895CF93DF931F92CDB7DEB7682F16 -:10300000CE0101960E94F2178091F20099819FBF34 -:103010000F90DF91CF910895FF920F931F93CF935D -:10302000DF9300D0CDB7DEB7F62E8A019091A404CD -:10303000992311F057FF03C08FEF9FEF2BC0682F2C -:10304000CE0101967A830E94F2178091F20090E0FF -:10305000A8017A81801791070CF4AC01EF2DF72FAE -:10306000F40E84E6FE1639F0289A8093A504909118 -:10307000F1009193F7CF4115510521F08091F200B5 -:10308000882321F089818FBFCA0104C08BE6809319 -:10309000E800F8CF0F900F90DF91CF911F910F9123 -:1030A000FF900895CF93DF931F92CDB7DEB741E035 -:1030B00050E0BE016F5F7F4F0E940C18019719F41A -:1030C000898190E002C08FEF9FEF0F90DF91CF9149 -:1030D0000895CF93DF931F92CDB7DEB7682FCE014F -:1030E00001960E94F2179091E800892F807295FF57 -:1030F00004C09091F20080E4891B99819FBF0F90DA -:10310000DF91CF9108956F927F928F929F92AF92AD -:10311000BF92CF92DF92EF92FF920F931F93CF93C4 -:10312000DF931F92CDB7DEB7782E7B01C42EB52E6C -:103130008091A404882369F0042F152F8AEFD82EDC -:10314000872D8072982E9AE3A92E872D8074882E61 -:1031500011C08FEF9FEF57C0872D0E946918682E0E -:1031600081110CC0DA94A9F361E070E080E090E096 -:103170000E9476130115110579F73BC0282F30E026 -:10318000021713070CF4602E672DCE0101960E94E2 -:10319000F2178091E80085FF29C0262D30E0021B40 -:1031A000130B992039F06A948FEF6816B1F01092E2 -:1031B000F100F9CFF701862D77FE07C0815058F056 -:1031C00094919093F1003196F9CF815020F0919134 -:1031D0009093F100FACFE20EF31E8091E80085FF94 -:1031E0000FC00115110511F481100AC089818FBF2C -:1031F000C1CF5D9A84E68093A6048C2D9B2D03C0DD -:10320000A092E800F3CF0F90DF91CF911F910F9123 -:10321000FF90EF90DF90CF90BF90AF909F908F90F6 -:103220007F906F9008951092E9001092A30410927D -:10323000A2049093A1048093A0040895CF92DF92FA -:10324000FF920F931F93CF93DF9300D0CDB7DEB7DC -:10325000F82E8A016B0101151105B1F0F601F7FE98 -:1032600002C0849101C0808149835A830E948117E2 -:1032700001501109FFEFCF1ADF0A49815A818111EC -:10328000EACF8FEF9FEF01C0CA010F900F90DF913F -:10329000CF911F910F91FF90DF90CF9008951F93D2 -:1032A000CF93DF931F92CDB7DEB7162F2091E800A2 -:1032B00022FFFCCF612F79830E94E5178BEF80936B -:1032C000E800812F7981972F0F90DF91CF911F9187 -:1032D0000895CF93DF931F92CDB7DEB71982CE0149 -:1032E00001960E94F715CE0101960E948D1B8981DF -:1032F00090E00F90DF91CF9108951F920F920FB63B -:103300000F921124EF92FF920F931F932F933F93ED -:103310004F935F936F937F938F939F93AF93BF93DD -:10332000EF93FF93CF93DF93CDB7DEB76297DEBF06 -:10333000CDBF1092E9008091E80083FFEBC068E008 -:10334000CE010A960E94E51782EF8093E8009A85E5 -:1033500097FF05C08091E80080FFFCCF03C08EEF8F -:103360008093E800892F807609F0B9C08B858111A0 -:1033700005C01092F1001092F100C5C0282F2D7FDA -:10338000213009F4C0C0853049F48091E80080FF05 -:10339000FCCF8C8580688093E300B5C0863009F04F -:1033A00076C02D85E888F988223071F580E090E0BC -:1033B0002A8B0E9413190E94691999E08E010F5FF0 -:1033C0001F4FF801392F11923A95E9F799832A890D -:1033D0002A8391E09E8390E898879AEF99872091BD -:1033E000A2043091A304275F3F4F3C832B838D833E -:1033F000C7010E94131949E050E0B80180E00E9423 -:103400001E190E9469197FC0C7012A8B0E941319D7 -:103410002A89223241F482E290E00E94981B892B93 -:1034200009F071C074C0213069F4888999890897BE -:1034300011F420939F0480919F04811118C065EFBF -:1034400071E01AC0233009F062C08C85882391F0A6 -:10345000823021F46BE08BE092E006C0813009F00D -:1034600056C063E087E092E00E94AF174AC063EE67 -:1034700071E002C067E172E06115710509F447C0AF -:10348000FB01449150E080E80E941E193CC0873047 -:1034900009F43DC0883021F481E08093F10033C00D -:1034A000893089F5937099F5EFEDF1E081E021E045 -:1034B00096E38093E9002093EB0034913093EC0085 -:1034C0009093ED008F5F3196853099F78EE780936A -:1034D000EA001092EA008C858093A40414C08889C5 -:1034E00099890E9413198E85811105C0CE010A9613 -:1034F0000E94021606C0823051F4CE010A960E9444 -:10350000C01B882321F08EEF8093E80003C081E286 -:103510008093EB0062960FB6F894DEBF0FBECDBF6E -:10352000DF91CF91FF91EF91BF91AF919F918F91DB -:103530007F916F915F914F913F912F911F910F91CB -:10354000FF90EF900F900FBE0F901F9018958093F3 -:10355000E9008091F200882319F08AE38093E80063 -:1035600008951F920F920FB60F9211242F933F933D -:103570004F935F936F937F938F939F93AF93BF937B -:10358000EF93FF938091E1001092E10083FF0FC061 -:103590001092E90091E09093EB001092EC0092E31E -:1035A0009093ED001092A40498E09093F00082FFB5 -:1035B0001DC083E00E94A71A8091A604882339F0D9 -:1035C0008091A60481508093A604882369F080919D -:1035D000A504882359F08091A50481508093A50407 -:1035E000811104C0289802C05D98F1CFFF91EF913E -:1035F000BF91AF919F918F917F916F915F914F910B -:103600003F912F910F900FBE0F901F901895109221 -:10361000A40481E08093D70080EA8093D80082E000 -:1036200089BD09B400FEFDCF61E070E080E090E06C -:103630000E94761380E98093D8008CE08093E200AA -:103640001092E000559A209A5D98289808954F921C -:103650005F926F927F92AF92BF92CF92DF92EF9282 -:10366000FF920F931F93CF93DF93CDB7DEB729015E -:103670003A01621B730B840B950B29893A894B899C -:103680005C892A193B094C095D09298B3A8B4B8BC4 -:103690005C8B9B01AC0169897A898B899C890E942A -:1036A000B21CE418F50806091709A80197010E9441 -:1036B000F01C2A0D3B1D4C1D5D1DCA01B901DF9197 -:1036C000CF911F910F91FF90EF90DF90CF90BF901F -:1036D000AF907F906F905F904F9008950895FF9204 -:1036E0000F931F93CF93DF93EC01F62EE881F981BE -:1036F0000480F581E02D09958C01E881F98106802F -:10370000F781E02D6F2DCE010995C8019927DF9132 -:10371000CF911F910F91FF900895FC0120812F5FA1 -:10372000208349E150E06BE972E080E80C941E19B7 -:1037300045E650E064EB72E080E80C941E19EF92CD -:10374000FF920F931F93CF93DF931F92CDB7DEB7F6 -:1037500089838B017A0141E050E0BE016F5F7F4FAA -:1037600084E00E948318A701B80184E40E948318B2 -:103770000F90DF91CF911F910F91FF90EF900895DF -:10378000FC0191818081813A31F481E0913091F0A6 -:10379000933089F411C0813271F49B3021F482811D -:1037A0008093170105C09A3031F48281809316010D -:1037B00081E00895089580E0089548E050E082E0B7 -:1037C0000C949F1BCF93DF93DC01683818F0E8E777 -:1037D000E60F25C0E62FF0E067FF11C0E058F109C1 -:1037E00081E090E001C0880FEA95EAF714969C9179 -:1037F0001497982B14969C931497E0E010C0E55E04 -:10380000FD4FE491EE2309F440C0E7FF08C0149691 -:103810008C911497826014968C931497EF77169678 -:103820008C9116978E1741F117968C9117978E17DA -:1038300019F118968C9118978E17F1F019968C91B2 -:1038400019978E17C9F01A968C911A978E17A1F0B6 -:103850001B968C911B978E1779F080E090E0ED011C -:10386000C80FD91F2E81211102C0EE8305C0019619 -:1038700086309105A1F709C0BD016C5F7F4FCD0176 -:103880000E94DD1B81E090E008C081E090E013968B -:103890009C938E93129780E090E0DF91CF910895F2 -:1038A000683818F0E8E7E60F25C0E62FF0E067FF7C -:1038B00012C0E058F10921E030E001C0220FEA9582 -:1038C000EAF72095DC0114963C9114973223149664 -:1038D0003C93E0E00FC0E55EFD4FE491EE2329F15B -:1038E000E7FF08C0DC0114962C9114972D7F1496E5 -:1038F0002C93EF7720E030E0EE2351F0DC01A20FB3 -:10390000B31F16964C9116974E1302C016961C9232 -:103910002F5F3F4F2630310579F7BC016C5F7F4F39 -:103920000E94DD1B81E090E0089580E090E0089522 -:10393000FC01168217821086118612861386148265 -:10394000BC016C5F7F4F0C94DD1B1092B30410928E -:10395000AA041092A9048AEE91E09093A80480939F -:10396000A7040895DB018F939F930E94151DBF91BB -:10397000AF91A29F800D911DA39F900DB29F900DBE -:1039800011240895991B79E004C0991F961708F037 -:10399000961B881F7A95C9F780950895A1E21A2E83 -:1039A000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1FE3 -:1039B000A217B307E407F50720F0A21BB30BE40B33 -:1039C000F50B661F771F881F991F1A9469F760957A -:1039D0007095809590959B01AC01BD01CF01089534 -:1039E000052E97FB1EF400940E94071D57FD07D07B -:1039F0000E94CE1C07FC03D04EF40C94071D50957A -:103A00004095309521953F4F4F4F5F4F08959095CA -:103A10008095709561957F4F8F4F9F4F0895EE0F62 -:103A2000FF1F0590F491E02D09940E94201DA59F91 -:103A3000900DB49F900DA49F800D911D11240895A9 -:103A4000A29FB001B39FC001A39F700D811D1124DF -:103A5000911DB29F700D811D1124911D0895CF936A -:103A6000DF938230910510F482E090E0E091B6049B -:103A7000F091B70420E030E0A0E0B0E0309739F1F9 -:103A80004081518148175907B8F04817590771F418 -:103A900082819381109729F013969C938E931297AD -:103AA0002CC09093B7048093B60427C0211531052C -:103AB00031F04217530718F0A901DB0101C0EF01F3 -:103AC0009A01BD01DF010280F381E02DD7CF2115DE -:103AD0003105F9F0281B390B2430310580F48A8137 -:103AE0009B816115710521F0FB019383828304C0E2 -:103AF0009093B7048093B604FE01329644C0FE0151 -:103B0000E20FF31F81939193225031093983288367 -:103B10003AC02091B4043091B504232B41F4209194 -:103B20000201309103013093B5042093B404209135 -:103B30000001309101012115310541F42DB73EB747 -:103B40004091040150910501241B350BE091B40410 -:103B5000F091B504E217F307A0F42E1B3F0B2817D2 -:103B6000390778F0AC014E5F5F4F2417350748F0F6 -:103B70004E0F5F1F5093B5044093B404819391930B -:103B800002C0E0E0F0E0CF01DF91CF910895CF9344 -:103B9000DF93009709F487C0FC01329713821282E9 -:103BA000C091B604D091B704209781F4208131816F -:103BB000280F391F8091B4049091B50482179307A0 -:103BC00079F5F093B504E093B4046DC0DE0120E014 -:103BD00030E0AE17BF0750F412964D915C911397E9 -:103BE0009D014115510509F1DA01F3CFB383A28399 -:103BF00040815181840F951F8A179B0771F48D9125 -:103C00009C911197840F951F029691838083129641 -:103C10008D919C911397938382832115310529F40B -:103C2000F093B704E093B6043EC0D9011396FC9319 -:103C3000EE9312974D915D91A40FB51FEA17FB0704 -:103C400079F480819181840F951F0296D901119694 -:103C50009C938E938281938113969C938E9312975B -:103C6000E0E0F0E08A819B81009719F0FE01EC0111 -:103C7000F9CFCE01029628813981820F931F2091BE -:103C8000B4043091B5042817390769F4309729F442 -:103C90001092B7041092B60402C013821282D0931D -:103CA000B504C093B404DF91CF910895FB01DC010A -:103CB0004150504048F001900D920020C9F701C0DA -:103CC0001D9241505040E0F70895FC0181E090E0E2 -:103CD0000190061609F4CF010020D1F7019708954D -:103CE000FB0151915523A9F0BF01DC014D9145170E -:103CF0004111E1F759F4CD010190002049F04D91B7 -:103D000040154111C9F3FB014111EFCF81E090E073 -:083D100001970895F894FFCF1C -:103D18000000B804800001000000FF13000100E16A -:103D280000000000000001014D6178207365727683 -:103D38006F7320617474616368656400556E6B6E9F -:103D48006F776E2070696E206D6F646500537461C3 -:103D58006E646172644669726D6174612E696E6F1A -:103D6800004932433A20546F6F206D616E792062AA -:103D78007974657320726563656976656400493294 -:103D8800433A20546F6F20666577206279746573B3 -:103D98002072656365697665640031302D626974E7 -:103DA8002061646472657373696E67206E6F742036 -:103DB800737570706F7274656400746F6F206D61D5 -:103DC8006E79207175657269657300000000009E48 -:103DD8000C710C460C4E0C610C700C2E637070004C -:103DE800000000009A15E115C415D415B015C115C9 -:103DF800000000007A16000000006F1BCF16E21BBF -:043E0800501C981C96 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/bqZum/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/bqZum/Blink.cpp.hex deleted file mode 100644 index f8393238..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/bqZum/Blink.cpp.hex +++ /dev/null @@ -1,70 +0,0 @@ -:100000000C9461000C947E000C947E000C947E0095 -:100010000C947E000C947E000C947E000C947E0068 -:100020000C947E000C947E000C947E000C947E0058 -:100030000C947E000C947E000C947E000C947E0048 -:100040000C949D000C947E000C947E000C947E0019 -:100050000C947E000C947E000C947E000C947E0028 -:100060000C947E000C947E00000000002400270009 -:100070002A0000000000250028002B0000000000DE -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000007000201000003040600000000000029 -:1000C000000011241FBECFEFD8E0DEBFCDBF11E08E -:1000D000A0E0B1E0EAE3F4E002C005900D92A230A6 -:1000E000B107D9F711E0A2E0B1E001C01D92AB3039 -:1000F000B107E1F70E940C020C941B020C94000063 -:100100008091000161E00E94B80168EE73E080E038 -:1001100090E00E94E5008091000160E00E94B8013B -:1001200068EE73E080E090E00E94E5000895809121 -:10013000000161E00E94790108951F920F920FB6AD -:100140000F9211242F933F938F939F93AF93BF935D -:100150008091060190910701A0910801B0910901D9 -:1001600030910A010196A11DB11D232F2D5F2D375E -:1001700020F02D570196A11DB11D20930A018093F7 -:10018000060190930701A0930801B09309018091A3 -:10019000020190910301A0910401B0910501019623 -:1001A000A11DB11D8093020190930301A09304014E -:1001B000B0930501BF91AF919F918F913F912F9186 -:1001C0000F900FBE0F901F9018959B01AC017FB749 -:1001D000F8948091020190910301A0910401B091E3 -:1001E000050166B5A89B05C06F3F19F00196A11DDA -:1001F000B11D7FBFBA2FA92F982F8827860F911D79 -:10020000A11DB11D62E0880F991FAA1FBB1F6A952F -:10021000D1F7BC012DC0FFB7F894809102019091F5 -:100220000301A0910401B0910501E6B5A89B05C0AA -:10023000EF3F19F00196A11DB11DFFBFBA2FA92FE5 -:10024000982F88278E0F911DA11DB11DE2E0880F08 -:10025000991FAA1FBB1FEA95D1F7861B970B885ED3 -:100260009340C8F2215030404040504068517C4F8C -:10027000211531054105510571F60895789484B52D -:10028000826084BD84B5816084BD85B5826085BD92 -:1002900085B5816085BDEEE6F0E080818160808378 -:1002A000E1E8F0E01082808182608083808181605B -:1002B0008083E0E8F0E0808181608083E1EBF0E022 -:1002C000808184608083E0EBF0E0808181608083C6 -:1002D000EAE7F0E0808184608083808182608083AF -:1002E0008081816080838081806880831092C100DA -:1002F0000895CF93DF93482F50E0CA0186569F4F51 -:10030000FC0134914A575F4FFA018491882369F1C7 -:1003100090E0880F991FFC01E859FF4FA591B49117 -:10032000FC01EE58FF4FC591D491662351F42FB7CD -:10033000F8948C91932F909589238C9388818923AD -:100340000BC0623061F42FB7F8948C91932F909585 -:1003500089238C938881832B88832FBF06C09FB706 -:10036000F8948C91832B8C939FBFDF91CF9108954C -:10037000482F50E0CA0182559F4FFC012491CA01C9 -:1003800086569F4FFC0194914A575F4FFA01349172 -:10039000332309F440C0222351F1233071F024307B -:1003A00028F42130A1F0223011F514C02630B1F02C -:1003B0002730C1F02430D9F404C0809180008F77B9 -:1003C00003C0809180008F7D8093800010C084B531 -:1003D0008F7702C084B58F7D84BD09C08091B00045 -:1003E0008F7703C08091B0008F7D8093B000E32FA2 -:1003F000F0E0EE0FFF1FEE58FF4FA591B4912FB71D -:10040000F894662321F48C919095892302C08C91F5 -:10041000892B8C932FBF0895CF93DF930E943E01C9 -:100420000E949700C0E0D0E00E9480002097E1F396 -:0A0430000E940000F9CFF894FFCFFE -:02043A000D00B3 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/circuit-playground-classic/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/circuit-playground-classic/Blink.cpp.hex deleted file mode 100644 index 2d1b610f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/circuit-playground-classic/Blink.cpp.hex +++ /dev/null @@ -1,260 +0,0 @@ -:100000000C94E6000C940E010C940E010C940E015D -:100010000C940E010C940E010C940E010C940E0124 -:100020000C940E010C940E010C9403040C946C04BB -:100030000C940E010C940E010C940E010C940E0104 -:100040000C940E010C940E010C940E010C940E01F4 -:100050000C940E010C940E010C940E010C94BB0632 -:100060000C940E010C940E010C940E010C940E01D4 -:100070000C940E010C940E010C940E010C940E01C4 -:100080000C940E010C940E010C940E010C940E01B4 -:100090000C940E010C940E010C940E010C940E01A4 -:1000A0000C940E010C940E010C940E0136013901D2 -:1000B00028012C0130015A015A015A013D01410128 -:1000C00045014B014F015A01550100000000240079 -:1000D00027002A002D003000080B00020202010058 -:1000E000090400000102020000052400100105249B -:1000F000010101042402060524060001070581030D -:1001000010004009040100020A0000000705020275 -:100110004000000705830240000004030904416415 -:100120006166727569740043697263756974205001 -:100130006C617967726F756E6400120100020000D5 -:1001400000409A2311800001010203011201000204 -:10015000EF0201409A231180000101020301000017 -:100160000000250028002B002E00310004040404A8 -:10017000040304050202020204030202020206064C -:100180000606060604040202020404040802011022 -:1001900040804010204080408008020401804020C0 -:1001A00010020110801020404020000000020009D1 -:1001B0000F0000030401000C00000000000000001C -:1001C00000000000000000000000050711241FBE11 -:1001D000CFEFDAE0DEBFCDBF11E0A0E0B1E0E2EFAB -:1001E000FFE002C005900D92A432B107D9F721E0DB -:1001F000A4E2B1E001C01D92A439B207E1F710E01A -:10020000C6EED0E004C02197FE010E94EC07C53E77 -:10021000D107C9F70E941A070C94F7070C94000045 -:10022000E7EBF1E04491E8E9F1E02491E9E7F1E05E -:100230009491992309F451C04423E1F150E0FA016B -:100240003197EF30F105B0F5EA5AFF4F0C94EC0707 -:10025000309180003F7707C0309180003F7D03C020 -:1002600030918000377F3093800024C034B53F77D1 -:1002700002C034B53F7D34BD1DC0309190003F7742 -:1002800007C0309190003F7D03C030919000377FD0 -:10029000309390000FC03091C0003F7703C0309181 -:1002A000C0003F7D3093C00005C03091C200377F51 -:1002B0003093C200E92FF0E0EE0FFF1FE25AFE4F2D -:1002C000A591B4919FB7F894EC91811103C020954A -:1002D0002E2301C02E2B2C939FBF0895FC018091EB -:1002E0009301811103C08FEF9FEF08959FB7F8949A -:1002F00082E08093E9002091F20030E012161306AC -:1003000014F421E030E02115310551F084E68093AA -:1003100092018091F10080838091F200882319F08E -:100320009FBFC90108958BE68093E800F9CFCF9273 -:10033000DF92EF92FF920F931F93CF93DF936C01A5 -:100340007A018B01C0E0D0E0CE15DF0589F0D8013D -:100350006D918D01D601ED91FC910190F081E02D20 -:10036000C6010995892B11F47E0102C02196ECCFBC -:10037000C701DF91CF911F910F91FF90EF90DF9018 -:10038000CF90089580918A0181110DC082E0809301 -:10039000860184E080938701109289011092880180 -:1003A00081E080938A0186E891E00895CF93DF93FE -:1003B0001F92CDB7DEB76983DC01ED91FC9102801D -:1003C000F381E02D41E050E0BE016F5F7F4F099562 -:1003D0000F90DF91CF91089583E08093E9008091A1 -:1003E000F200882319F08AE38093E8000895CF9300 -:1003F000DF931F92CDB7DEB7FC018485958597FD0D -:1004000005C02FEF3FEF358724870BC0CE01019643 -:100410000E946E01019719F4898190E002C08FEF6C -:100420009FEF0F90DF91CF9108950F931F93CF937C -:10043000DF931F92CDB7DEB78C01FC0184859585D3 -:1004400097FF0EC0CE0101960E946E01019719F42C -:10045000298130E002C02FEF3FEFF8013587248774 -:10046000F801848595850F90DF91CF911F910F91B1 -:100470000895FC018485958597FD0BC09FB7F8947E -:1004800082E08093E9008091F2009FBF90E00196A6 -:1004900008959FB7F89482E08093E9008091F2007C -:1004A0009FBF90E00895409130015091310120911B -:1004B0002E0130912F0142175307B4F49091E800B8 -:1004C0009570E1F39091E80092FD19C08093F100DE -:1004D000809130019091310101968F739927892B7A -:1004E00019F48EEF8093E8008091300190913101F2 -:1004F0000196909331018093300181E0089580E06E -:100500000895CF92DF92EF92FF920F931F93CF93B4 -:10051000DF931F92CDB7DEB7182F062FE42E862F5C -:10052000880F8E5F99830E94530283E00E945302DA -:10053000F12EC12E9981D92E8C2D8F19801798F408 -:10054000F601E7FE02C0849101C080810E9453023F -:10055000182F80E00E9453028123FFEFCF1ADF0A99 -:100560008111EACF01C081E00F90DF91CF911F91FF -:100570000F91FF90EF90DF90CF900895DF92EF9270 -:10058000FF920F931F93CF93DF93D82E8A017B01A5 -:10059000E40EF51EEB01CE15DF0571F0D7FE03C0AA -:1005A000FE01849101C088810E945302219681112D -:1005B000F2CF8FEF9FEF01C0C801DF91CF911F9164 -:1005C0000F91FF90EF90DF9008950F931F93CF93BB -:1005D000DF931F92CDB7DEB782E0898342E450E01B -:1005E00068ED70E080E80E94BE020E94C201DC015A -:1005F00012960D911C9113970115110569F0D80100 -:10060000ED91FC910280F381E02DBE016F5F7F4F81 -:10061000C801099597FF07C089810F90DF91CF919D -:100620001F910F910895F80100851185E5CF3FB71F -:10063000F8948091290190912A01A0912B01B09109 -:100640002C0126B5A89B05C02F3F19F00196A11DCE -:10065000B11D3FBFBA2FA92F982F8827820F911D58 -:10066000A11DB11DBC01CD0143E0660F771F881F9E -:10067000991F4A95D1F708958F929F92AF92BF929A -:10068000CF92DF92EF92FF926B017C010E941703E1 -:100690004B015C01C114D104E104F104F1F00E94AA -:1006A0001703DC01CB0188199909AA09BB09883E07 -:1006B0009340A105B10570F321E0C21AD108E10809 -:1006C000F10888EE880E83E0981EA11CB11CC114AD -:1006D000D104E104F10419F7DDCFFF90EF90DF9032 -:1006E000CF90BF90AF909F908F9008958F929F92E0 -:1006F000AF92BF92CF92DF92EF92FF920F931F9330 -:10070000CF93DF935C016B018A0180910B018823F9 -:1007100009F45DC080919301882309F458C0809149 -:10072000350180FF05C08091E00082608093E00089 -:10073000E8018AEFF82E93E0E92E2FE3822E3AE3C8 -:10074000932E209709F43DC08FB7F894E092E9000A -:100750009091E80095FF06C09091F200282D291B8A -:10076000922F01C090E08FBF91110AC0FA94FF2030 -:1007700071F161E070E080E090E00E943C03E1CF25 -:10078000292F30E0C217D3070CF49C2F8FB7F894B1 -:10079000E092E9002091E80025FF11C0292F30E008 -:1007A000C21BD30BF601915020F041914093F10010 -:1007B000FACFC20ED31E9091E80095FF12C08FBFF2 -:1007C000C0CF84E6809334011016110644F081E016 -:1007D00090E0F5019383828380E090E005C0C8013A -:1007E00003C09092E800EBCFDF91CF911F910F9162 -:1007F000FF90EF90DF90CF90BF90AF909F908F9041 -:1008000008950E94F2071F920F920FB60F921124C3 -:100810008F939F938091E1009091E100937F90935B -:10082000E10083FF0FC01092E90091E09093EB008C -:100830001092EC0092E39093ED001092930198E0F7 -:100840009093F00082FF1CC093E09093E900909198 -:10085000F200992319F09AE39093E8009091340103 -:10086000992329F090913401915090933401909103 -:100870009201992329F090919201915090939201C5 -:1008800084FF10C08091E2008E7E81608093E20040 -:100890008091E1008F7E8093E100809135018E7E12 -:1008A000806111C080FF11C08091E2008E7E806166 -:1008B0008093E2008091E1008E7E8093E100809140 -:1008C00035018E7E8160809335019F918F910F90CD -:1008D0000FBE0F901F9018951F920F920FB60F9298 -:1008E0001124CF92DF92EF92FF920F931F932F93D9 -:1008F0003F934F935F936F937F938F939F93AF93A8 -:10090000BF93EF93FF93CF93DF93CDB7DEB76C9791 -:10091000DEBFCDBF1092E9008091E80083FF0CC2DA -:10092000FE017596DE2ECF2E88E08E0F8E1729F0F1 -:100930009091F10090833196F9CF84E680939201F3 -:1009400082EF8093E8008D8987FF05C09091E800D1 -:1009500090FFFCCF03C09EEF9093E800982F907615 -:1009600009F0C5C09E892F89188D91110CC080385F -:1009700029F4809133018093F10002C01092F100BC -:100980001092F1004EC1422F50E0512B913051F4A2 -:10099000811147C14130510509F043C180913301B4 -:1009A0008D7F0BC0933061F481113BC14130510503 -:1009B00009F037C18091330182608093330131C1E6 -:1009C000953041F48091E80080FFFCCF20682093AF -:1009D000E30027C1963009F05EC0EB8CFC8C1092CE -:1009E000E9001092310110923001123091F510920D -:1009F0002F0110922E010E94E50299E0BE016F5F67 -:100A00007F4FDB01E92F1D92EA95E9F799831A835D -:100A100091E09E8390EA98879AEF99872091300120 -:100A200030913101275F3F4F3C832B838D831092A0 -:100A3000E9001092310110923001F0922F01E09202 -:100A40002E0149E050E080E00E94BE020E94E502D3 -:100A5000E8C0F0922F01E0922E010E94C201DC0159 -:100A60001296ED90FC901397E114F10409F4C7C0BD -:100A7000D701ED91FC910480F581E02D6D2D7C2D49 -:100A8000C7010995009719F00CF0CBC0CEC0F70153 -:100A9000E084F184E9CF973009F4C7C0983021F49D -:100AA00081E08093F100BDC0993009F0BAC0837035 -:100AB00009F0BBC0EDE0F1E081E021E036E3908198 -:100AC000992361F08093E9002093EB00919190933A -:100AD000EC003093ED008F5F873089F78EE78093CD -:100AE000EA001092EA008F89809393019AC08B8D5F -:100AF0009C8D1092E9001092310110923001909378 -:100B00002F0180932E01898D81115FC08E899D896F -:100B1000913A59F4813209F088C047E050E064E02E -:100B200071E080E00E94BE027CC0913209F07DC07D -:100B3000833289F4888D90E0982F88272F89822B23 -:100B4000A0E0B0E08093000190930101A093020126 -:100B5000B093030166C08032B1F48091E80082FF57 -:100B6000FCCFE4E0F1E087E08E0F8E1729F0909142 -:100B7000F10090833196F9CF84E6809392018BEF58 -:100B80008093E80006C0823209F04BC08F898093C1 -:100B90000B0180913201882319F0EEEFFAE002C0D8 -:100BA000E0E0F8E08091040190910501A091060138 -:100BB000B0910701803B9440A105B10509F0A0C0A8 -:100BC00080910B0180FF83C09BC00E94C201DC01A9 -:100BD00012960D911C9113970115110531F1D80151 -:100BE000ED91FC910190F081E02D6D2D7C2DC801DF -:100BF0000995811116C0F80100851185EDCF1130DE -:100C0000C1F0133091F48F89882309F455C08230E4 -:100C1000E9F440E862E187E291E00E9481028823E2 -:100C200021F08EEF8093E80087C081E28093EB0093 -:100C300083C08B8D9C8D089711F410932D018091AA -:100C40002D01811136C06AE371E038C0813029F48A -:100C500040E868E08EE191E0E0CF833031F70E9418 -:100C6000C201DC011296ED90FC9013978E010F5F8C -:100C70001F4F6801E114F10479F0D701ED91FC9167 -:100C80000680F781E02DB801C7010995080F111DF5 -:100C9000F701E084F184EECFD8011C92F6010190B7 -:100CA0000020E9F73197BF016C197D0940E0C601CA -:100CB000B4CF6CE471E002C06AE171E061157105C6 -:100CC00009F4B3CFFB01449150E080E82BCFEE3F15 -:100CD0002AE0F20731F0808191819093FF0A80939E -:100CE000FE0A87E797E7918380839BE088E10FB650 -:100CF000F894A895809360000FBE9093600091CF08 -:100D00000FB6F894A8958091600088618093600088 -:100D1000109260000FBEA895EE3F8AE0F80739F008 -:100D20008091FE0A9091FF0A918380837ACF10927E -:100D3000FF0A1092FE0A75CF6C960FB6F894DEBFCC -:100D40000FBECDBFDF91CF91FF91EF91BF91AF91DA -:100D50009F918F917F916F915F914F913F912F91D3 -:100D60001F910F91FF90EF90DF90CF900F900FBEEB -:100D70000F901F9018951F920F920FB60F9211248B -:100D80002F933F938F939F93AF93BF9380912501B0 -:100D900090912601A0912701B09128013091240162 -:100DA00026E0230F2D3720F40296A11DB11D05C0AA -:100DB00029E8230F0396A11DB11D209324018093E0 -:100DC000250190932601A0932701B09328018091DB -:100DD000290190912A01A0912B01B0912C0101963B -:100DE000A11DB11D8093290190932A01A0932B018D -:100DF000B0932C01BF91AF919F918F913F912F9113 -:100E00000F900FBE0F901F901895E6E3F1E013824C -:100E1000128288EE93E0A0E0B0E084839583A683FD -:100E2000B78387E191E0918380838FEF9FEF958770 -:100E300084870895789484B5826084BD84B5816088 -:100E400084BD85B5826085BD85B5816085BD809195 -:100E50006E00816080936E0010928100809181000D -:100E60008260809381008091810081608093810005 -:100E700080918000816080938000809191008260E9 -:100E80008093910080919100816080939100809186 -:100E900090008160809390008091C1008460809375 -:100EA000C1008091C10082608093C1008091C10027 -:100EB00081608093C1008091C30081608093C300F2 -:100EC0008091C00082608093C0008091C2008160E8 -:100ED0008093C20080917A00846080937A00809130 -:100EE0007A00826080937A0080917A008E7F80936E -:100EF0007A0080917A00806880937A001092930142 -:100F000010923301109235018091D7008160809357 -:100F1000D70080EA8093D80089B58F7E89BD89B5D6 -:100F2000826089BD09B400FEFDCF61E070E080E021 -:100F300090E00E943C038091D8008F7C8061809378 -:100F4000D8008091E000807F8093E0008091E100F4 -:100F50008E7E8093E1008DE08093E200EEEFFFE76C -:100F6000859194918B3F9C4D19F481E080933201DF -:100F7000E8E9F1E02491E9E7F1E08491882399F030 -:100F800090E0880F991FFC01E653FF4FA591B491A3 -:100F9000FC01E25AFE4F859194918FB7F894EC9141 -:100FA000E22BEC938FBFC0E0D0E081E00E94100103 -:100FB00068EE73E080E090E00E943C0380E00E94D5 -:100FC000100168EE73E080E090E00E943C032097FF -:100FD00061F30E940000E9CFEE0FFF1F0590F4912E -:100FE000E02D099481E090E0F8940C94F707F894D0 -:020FF000FFCF31 -:100FF200FFFFFFFF00E100000000000000C1808150 -:1010020000000000000000D60176033902F7011546 -:0410120002EC0100EB -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/circuit-playground-classic/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/circuit-playground-classic/StandardFirmata.cpp.hex deleted file mode 100644 index dd53a85a..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/circuit-playground-classic/StandardFirmata.cpp.hex +++ /dev/null @@ -1,1464 +0,0 @@ -:100000000C941C010C9444010C9444010C94440184 -:100010000C9444010C9444010C9444010C9444014C -:100020000C9444010C9444010C94D90C0C94420D92 -:100030000C9444010C9444010C9444010C9444012C -:100040000C9444010C94961F0C9444010C944401AC -:100050000C9444010C9444010C9444010C945C18DD -:100060000C9444010C9444010C9444010C944401FC -:100070000C9444010C9444010C9444010C944401EC -:100080000C94910F0C9444010C9444010C94440181 -:100090000C94CB1D0C9444010C9444010C94440129 -:1000A0000C9444010C9444010C9444013103360334 -:1000B0003B0345034F0399039903990359036303D2 -:1000C0006D037703840399038C039E04BA0495049B -:1000D000C704E2040C0505050C050C050C050C0510 -:1000E000A80450055305560559056A056A055C05BF -:1000F0006A056A055F0562056A0565053E0C410CE7 -:10010000300C340C3A0C620C620C620C450C490C3D -:100110004D0C530C570C620C5D0C070605040100D6 -:10012000080A0B0C0D09000000002300260029001E -:100130002C002F000000000200090F000003040142 -:10014000000C0000000000000000000000000000A3 -:10015000000000080B000202020100090400000177 -:1001600002020000052400100105240101010424FD -:10017000020605240600010705810310004009045A -:100180000100020A00000007050202400000070506 -:1001900083024000000403090441646166727569CA -:1001A00074004369726375697420506C6179677279 -:1001B0006F756E640012010002000000409A231166 -:1001C0008000010102030112010002EF0201409AC6 -:1001D0002311800001010203010408020110408084 -:1001E000401020408040800802040180402010021E -:1001F0000110801020404020000000002500280051 -:100200002B002E0031000404040404030405020240 -:10021000020204030202020206060606060604049F -:1002200002020204040300000000240027002A0048 -:100230002D003000BC286C2911241FBECFEFDAE05E -:10024000DEBFCDBF26E0A2E7B2E001C01D92A23F13 -:10025000B207E1F712E0A0E0B1E0E2EEF9E502C09A -:1002600005900D92A237B107D9F711E0CBE1D1E0AB -:1002700004C02197FE010E949029CA31D107C9F715 -:100280000E945A230C94E42C0C940000A82FB0E098 -:10029000AD58B94F9C91292F30E0F901EE0FFF1FA7 -:1002A0002E0F3F1FF901E15DF94FE081F0E09F0162 -:1002B000220F331FE20FF31FE65FF94F80818F7B20 -:1002C000808380917106981306C0992379F091502C -:1002D000909371060BC0882349F0E0917206EF5F9E -:1002E000E0937206F0E0EA58FD4F90838FEF8C9315 -:1002F0000895CF938C3080F540912E0350912F03B9 -:1003000021E030E0672B81F4B90102C0660F771F4E -:100310008A95E2F7CB01809590958423952390935D -:100320002F0380932E0318C0082E02C0220F331F04 -:100330000A94E2F7242B352B30932F0320932E03BE -:1003400090919606911108C0C82F0E948B10BC0195 -:100350008C2FCF910C94A211CF910895BF92CF9280 -:10036000DF92EF92FF920F931F93CF93DF931F9231 -:10037000CDB7DEB7843008F08FC0982F990F990F52 -:10038000990F985F9F3108F09EE1E62EC82ECC0CA5 -:10039000CC0CCC0CFC2CB12CDD24D394F916E0F45D -:1003A0000F2D10E0F801E05DFC4F8081823088F471 -:1003B000000F111F2D2D2E2109F469C0813009F085 -:1003C00054C021E0BD28F801ED53FD4F30E03183EA -:1003D0002083DD0CF394E2CFB0FE05C06E2D61707A -:1003E0008C2D0E941F10B1FE06C06E2D627081E040 -:1003F0008C0D0E941F10B2FE06C06E2D647082E04C -:100400008C0D0E941F10B3FE06C06E2D687083E035 -:100410008C0D0E941F10B4FE06C06E2D607184E02A -:100420008C0D0E941F10B5FE06C06E2D607285E017 -:100430008C0D0E941F10B6FE06C06E2D607486E003 -:100440008C0D0E941F10B7FE27C06E2D607887E0CC -:100450008C0D0F90DF91CF911F910F91FF90EF9036 -:10046000DF90CF90BF900C941F10F801ED53FD4F1B -:10047000208131812130310541F062E08F2D998357 -:100480000E944F1021E099819ECF21E09CCF20E077 -:10049000813009F098CF96CF0F90DF91CF911F91C7 -:1004A0000F91FF90EF90DF90CF90BF9008956F92E3 -:1004B0007F928F929F92AF92BF92CF92DF92EF92F4 -:1004C000FF920F931F93CF93DF931F92CDB7DEB7A9 -:1004D000982F3B018E3108F039C1082F10E0F80148 -:1004E000E05DFC4F8081833009F48AC0843009F0DC -:1004F0002DC1F801ED58F94FE080F12C6701CC0CCB -:10050000DD1C603282E078070CF042C077FD05C048 -:10051000653B710524F4DB0104C0A0E001C0A4EB3D -:10052000B0E0F601EE0DFF1DE15DF94F818128E895 -:1005300030E04901881A910887FD9394880C991C32 -:10054000880C991C092C000CAA08BB08828128E59C -:1005500032E0281B310987FD3395220F331F220F0C -:10056000331FA901330F660B770B9A01AB012819D2 -:1005700039094A095B090E94AB2C24EB30E040E0CA -:1005800050E00E94812C820E931EA41EB51E01C055 -:100590004B01F601EE0DFF1DE15DF94F20812C307E -:1005A00008F0CDC0318188E890E0831B910937FDC8 -:1005B0009395880F991F880F991F8816990684F0C4 -:1005C000828148E552E0481B510987FD5395440F4D -:1005D000551F440F551FC401481559050CF4CA0195 -:1005E0004FB7F89430E00297F901EE0FFF1F2E0F7E -:1005F0003F1FF901E65FF94F928381834FBF9FC090 -:10060000933059F08BEF890F823038F087EF890FE4 -:10061000833018F09D3009F092C061E0892F9983F2 -:100620000E944F1099816114710411F460E005C0BB -:100630008FEF6816710429F461E0892F0E941F1062 -:100640007EC0F801EC5CFE4FE4914E2F50E0FA01C1 -:100650003197EF30F10508F06CC0EA5AFF4F0C9467 -:10066000902984B5806884BD67BC69C084B5806208 -:1006700084BD68BC64C080918000806880938000E5 -:1006800070928900609288005AC0809180008062D8 -:100690008093800070928B0060928A0050C080919D -:1006A000800088608093800070928D0060928C0042 -:1006B00046C080919000806880939000709299006D -:1006C000609298003CC0809190008062809390007E -:1006D00070929B0060929A0032C080919000886076 -:1006E0008093900070929D0060929C0028C0809141 -:1006F000C00080688093C0008091C0008F7B809391 -:10070000C0006092CF001BC08091C00080628093C7 -:10071000C0006092D00013C08091C20088608093B6 -:10072000C2008091C2008B7F8093C2006092D20091 -:1007300006C080E8681671040CF07ECF77CF000FFA -:10074000111FF801ED53FD4F718260820F90DF9110 -:10075000CF911F910F91FF90EF90DF90CF90BF90BE -:10076000AF909F908F907F906F9008958E3180F41E -:10077000E82FF0E0DF01A05DBC4F9C91913041F487 -:10078000EE0FFF1FED53FD4F608371830C941F101C -:100790000895DB01909171069C30A8F530917206A6 -:1007A000682F70E0332369F0E32FF0E0EA58FD4F43 -:1007B0008081FB01ED58F94F8083315030937206F0 -:1007C00007C0FB01ED58F94F90839F5F909371062E -:1007D000FB01ED58F94F808190E09C01220F331FFF -:1007E000820F931F1A161B0634F4141615061CF4F8 -:1007F0009A01AD0104C020E639E040E252E0815D9B -:10080000994F0C94141F4DE651E063E181E70C947D -:10081000D111AF92BF92CF92DF92EF92FF920F93DE -:100820001F93CF93DF93C82ED12C9601205D3C4FB0 -:100830007901F90190819F3709F415C18B01C82F07 -:10084000963069F480919506882349F066307105E9 -:1008500009F405C1109295068FEF80931801CE31EF -:10086000F8F404301105E1F0F601ED58F94F8081FC -:100870008C30B0F490E0FC01EE0FFF1F8E0F9F1F35 -:10088000FC01E15DF94F808190E0FC01EE0FFF1F5C -:100890008E0F9F1FFC01E65FF94F808186FDCAC065 -:1008A000DEEEDC0FDC3058F461E070E00230110560 -:1008B00011F060E070E08D2F0E94790102C0CE310E -:1008C00018F5EC2FE695E695E6954C2F4770F0E08D -:1008D000EC5FFC4F0115110519F00B30110551F4B7 -:1008E00081E090E001C0880F4A95EAF79081892B5A -:1008F00080830AC021E030E001C0220F4A95EAF768 -:1009000020958081282320835601AA0CBB1CF50169 -:10091000ED53FD4F118210820C30110508F07CC0A0 -:10092000F801EB59FF4F0C949029DC3008F09BC084 -:1009300060E08C2F0E944F1082E06BC0CE3108F037 -:1009400092C060E08C2F0E944F10F70110828BC084 -:10095000CE3108F088C062E08C2F0E944F108BE0EF -:10096000F7018083F501ED53FD4F81E090E0918325 -:10097000808379C0CE3108F076C060E08C2F0E9471 -:100980001F1061E08C2F0E944F1081E042C0C330E5 -:1009900059F08BEF8C0F823038F087EF8C0F83305B -:1009A00018F0CD3009F05FC061E08C2F0E944F102D -:1009B00061E08C2F0E944F1060E08C2F0E941F106E -:1009C00083E027C0CE3108F04EC084E0F701808379 -:1009D000F601ED58F94F80818F3F81F190E0FC01E5 -:1009E000EE0FFF1F8E0F9F1FFC01E15DF94F80810D -:1009F00090E0FC01EE0FFF1F8E0F9F1FFC01E65FD2 -:100A0000F94F808186FD2FC019C0C250C23058F501 -:100A100086E0F701808327C081E891E0DF91CF91E4 -:100A20001F910F91FF90EF90DF90CF90BF90AF900C -:100A30000C940A128C2F0E94460132CF4FEF5FEFC9 -:100A40006FEF7FEF8C2FDF91CF911F910F91FF9070 -:100A5000EF90DF90CF90BF90AF900C94C903CE3150 -:100A600008F402CF1DCFDF91CF911F910F91FF901E -:100A7000EF90DF90CF90BF90AF9008951F93CF93EA -:100A8000DF9300D000D000D0CDB7DEB7182F90E0B4 -:100A90008D309105F8F4FC01EF58FF4F0C9490292C -:100AA0008EE095E014C08CE295E011C08AE495E0F8 -:100AB0000EC088E695E00BC086E895E008C084EAA1 -:100AC00095E005C082EC95E002C080EE95E00E94C2 -:100AD0001C1302C060E070E083E489831A83CB01B9 -:100AE000A0E0B0E08B839C83AD83BE83AE014F5FFB -:100AF0005F4F66E080E40E94D11126960FB6F8940D -:100B0000DEBF0FBECDBFDF91CF911F910895CF9370 -:100B1000DF9300D0CDB7DEB769E38EEE94E00E949C -:100B2000C51A97E399838A83AE014F5F5F4F62E0F6 -:100B300080E40E94D1110F900F90DF91CF91089522 -:100B4000CF93DF93CDB7DEB7E1970FB6F894DEBF52 -:100B50000FBECDBFBE016F5F7F4F8EEE94E00E944F -:100B60000E1BAE014B5D5F4F8DE0FA0111928A952D -:100B7000E9F786E38DA38D899E89AF89B88D8EA311 -:100B80009FA3A8A7B9A7898D9A8DAB8DBC8D8AA785 -:100B90009BA7ACA7BDA78D8D9E8DAF8DB8A18EA74D -:100BA0009FA7A8ABB9AB6DE080E40E94D111E1969C -:100BB0000FB6F894DEBF0FBECDBFDF91CF91089581 -:100BC0000F931F93CF93082F10E0F801EC5FFC4FB9 -:100BD0009081C62FC9230F56194F411104C0D80167 -:100BE0009C919C1771F1682F8091210490912204AF -:100BF000DC01ED91FC916F7060690190F081E02D56 -:100C000009958091210490912204DC01ED91FC91E1 -:100C10006C2F6F770190F081E02D09958091210470 -:100C200090912204DC01ED91FC916C2F70E0660F35 -:100C3000672F661F770B0190F081E02D0995F80171 -:100C4000C083CF911F910F9108950F931F93CF935E -:100C5000DF93082F843008F06FC090E0FC01E85F5C -:100C6000FC4F6083672B09F467C0FC01EC5FFC4F0D -:100C70001081D02FDD0FDD0FDD0F10FF4DC08D2F48 -:100C80000E94F60F892B09F447C0C1E011FF07C08D -:100C900081E08D0F0E94F60F892B09F03FC012FFF3 -:100CA00006C082E08D0F0E94F60F892BC9F513FF55 -:100CB00006C083E08D0F0E94F60F892B99F514FF73 -:100CC00006C084E08D0F0E94F60F892B69F515FF91 -:100CD00006C085E08D0F0E94F60F892B39F5D831BB -:100CE00091F016FF06C086E08D0F0E94F60F892B4B -:100CF000F9F4D73140F417FF06C087E08D0F0E944A -:100D0000F60F892BB9F441E06C2F802FDF91CF9142 -:100D10001F910F910C94E005C0E0B8CFC260BFCF27 -:100D2000C460C5CFC860CBCFC061D1CFC062D7CFC0 -:100D3000C064DFCFC068E7CFDF91CF911F910F91E3 -:100D40000895EF92FF920F931F93CF93DF93D82FC5 -:100D50008B01C42F6F3F8FEF7807E1F081E0809324 -:100D6000AD03D093CF031092AE031092D0038EEF59 -:100D700095E00E942F1D0E947912E091FF02F091F0 -:100D80000003E330F10540F0EE0FFF1F3497319779 -:100D9000F1F702C000E010E06C2FC13208F060E211 -:100DA0008D2F0E94D2121092650380936403EC2E63 -:100DB000F12C282F30E0E216F3061CF482E991E0D2 -:100DC00005C02E153F0524F48FEA91E00E940A1217 -:100DD000D09383020093840200E010E00E151F05FB -:100DE00034F4909164038091650398130DC062E020 -:100DF0006C0F43E852E087E7DF91CF911F910F918D -:100E0000FF90EF900C94D1118EEF95E00E94D61CCC -:100E1000F801ED57FD4F82830F5F1F4FDFCFBF9269 -:100E2000CF92DF92EF92FF920F931F93CF93DF93B6 -:100E300000D000D0CDB7DEB7162F7A018F3609F477 -:100E400034C370F4893609F4E5C318F48034B9F07A -:100E5000F7C38B3609F44AC38D3609F499C3F0C33E -:100E6000863709F4CFC120F4803709F4CAC2E8C339 -:100E7000883709F497C28A3709F401C3E1C36623AE -:100E800009F4DEC31150DA018C91883309F4ABC048 -:100E9000E8F4833109F46DC040F4813109F45FC096 -:100EA00008F062C0803189F1CBC3813209F495C06A -:100EB00020F4803209F469C0C3C3803309F490C0C0 -:100EC000813309F0BDC30E948705BAC38D3309F48D -:100ED000E8C060F48A3309F48DC008F488C08B330D -:100EE00009F48CC08C3309F4CEC0AAC3813409F450 -:100EF000A0C020F4803409F484C0A2C3823409F471 -:100F0000AEC0803509F4EFC09BC3153008F498C318 -:100F1000FA014381248105810F7702950F70F8E073 -:100F20002F9FC0011124082B2F772295269527701B -:100F300034E0439FC0011124282B46FB882780F909 -:100F4000D70112964C911297440F482B11966C9131 -:100F50006F7770E089ED94E00E947D1971C389ED8F -:100F600094E00E94CE196CC389ED94E00E9433197D -:100F700067C3112309F464C3FA016181653608F07F -:100F80005FC389ED94E00E943C19143008F458C303 -:100F9000D70112968C918F77B0E88B9FC0011124F6 -:100FA000F70121812F77822B44814F77F0E84F9F03 -:100FB000A0011124D70113962C912F77422B4115B4 -:100FC000510521F440E050E0BA0104C0052E000CA8 -:100FD000660B770B0E94F11433C30E947B1430C35D -:100FE0000E94A0052DC381E080930D0329C31092B8 -:100FF0000D0326C381E080930C0322C310920C03DF -:101000001FC3112309F41CC3FA0181818F77F82EC5 -:1010100000E010E0F801E85FFE4F81818F1103C00E -:101020008F2D0E943E050E5F1F4F0031110591F775 -:1010300007C3112309F404C3DA0111962C912F7709 -:1010400080E090E031E0FC01E85FFE4F4181421317 -:1010500001C03083029680319105A9F7F1C21123B6 -:1010600009F4EEC2FA0121812F7780E090E0FC01C3 -:10107000E85FFE4F3181321301C010820296803149 -:101080009105A9F7DDC2112309F4DAC2DA0111963C -:101090008C918F77843008F0D3C290E00E94DA14EC -:1010A000CFC2143000F1FA019281818190FB87F95F -:1010B0009481638190FB67F9811113C062E28EEE27 -:1010C00094E00E94C51A482F4F7762E28EEE94E0BA -:1010D0000E94721C40E068E38EEE94E00E94721C55 -:1010E00002C00E94A414B090E004BA946FEF89ED9E -:1010F00094E00E943C1900E020E04FEF61E070E0D6 -:1011000089ED94E00E947D1989ED94E00E94CE194A -:1011100064E670E080E090E00E94B61087E10E94F3 -:101120008B106C012FEF40E061E070E089ED94E0FE -:101130000E947D1989ED94E00E94CE1964E670E06A -:1011400080E090E00E94B61087E10E948B107C0145 -:101150000FEF20E040E061E070E089ED94E00E9454 -:101160007D1989ED94E00E94CE1964E670E080E07C -:1011700090E00E94B61087E10E948B108C01809154 -:10118000DB049091DC04029738F040E050E0BA01B3 -:1011900081E090E00E94161289ED94E00E94CE1941 -:1011A0006B2D89ED94E00E943C19C114F4E0DF0638 -:1011B00030F4D694C794D694C7942C2D01C02FEF49 -:1011C000E11434E0F30630F4F694E794F694E794EF -:1011D0009E2D01C09FEF011544E0140728F41695D9 -:1011E00007951695079501C00FEF81E589832A833E -:1011F0009B830C83AE014F5F5F4F64E080E40E94ED -:10120000D1111EC2DA0111968C91982F987185FF29 -:1012100003C08BEC91E051C0FA018081983061F1FC -:1012200068F491110DC291E09093AD038093CF03C8 -:101230001092AE031092D00302E006C09031B9F1D3 -:10124000983109F46AC0FCC1011778F4F701E00F86 -:10125000F11D81816081F0E88F9F601911248EEF6C -:1012600095E00E942F1D0E5FEFCF0E94791288E853 -:1012700090E00197F1F7E4C163814281163071F487 -:10128000B0E86B9FB0011124640F711DF7019581C7 -:101290004481F0E89F9F4019112406C020E8629F16 -:1012A000401911246FEF7FEF0E94A106C9C1E091A0 -:1012B0001801E7302CF08BEE91E00E940A12C0C1B9 -:1012C000DA0113962C91139712969C91663089F44B -:1012D000B0E82B9F90011124290F311DDA011596DA -:1012E0004C91159714969C91B0E84B9F901911243E -:1012F00006C0F0E82F9F901911242FEF3FEFEF5F0A -:10130000E093180144E0E402F0011124E25FFC4F95 -:10131000808332832183938393C130911801131604 -:1013200024F08FEF809318018BC120E0632F032EF0 -:10133000000C770B422F50E06417750764F0440FE0 -:10134000551F440F551FFA01E25FFC4F908198171B -:1013500001F12F5FEFCF20E01CC02830C8F4DC0182 -:10136000AA0FBB1FAA0FBB1FAE5EBC4F4C91880FCC -:10137000991F880F991FFC01E25FFC4F4083119673 -:101380008D919C9112979283818313968C91838384 -:101390002F5F822F90E068177907FCF63150309369 -:1013A00018014EC1DA012C9111968C91B0E88B9FF7 -:1013B000C0011124820F911D009721F0909300032A -:1013C0008093FF028091950681113AC110E08EEF63 -:1013D000810F823028F466E070E0812F0E940904BA -:1013E0001F5F1E31A1F781E080939506109265037F -:1013F000109264031092AE031092D0030E94F61E66 -:101400001FC1653008F41CC1FA011081D18002812E -:10141000C380F4801E3108F013C1E12FF0E0ED58D5 -:10142000F94F20812C30B0F430E0F901EE0FFF1FAE -:101430002E0F3F1FF901E15DF94F208130E0F901E6 -:10144000EE0FFF1F2E0F3F1FF901E65FF94F80815E -:1014500086FDF2C0F0E8FF9EA00111244C0D511D45 -:1014600020E8029FB00111246D0D711D812F0E9493 -:10147000C90364E070E0812F0E940904E1C062307A -:1014800008F4DEC0DA012C9111968C91B0E88B9FA4 -:10149000C0011124820F911D009711F481E090E0AA -:1014A00090931A0180931901CBC0623008F4C8C030 -:1014B000FA01618170E01230A1F08281F0E88F9F23 -:1014C000C0011124682B792B133059F0DA011396DF -:1014D0008C9190E090E4899F902D88271124682BAF -:1014E000792BF70180810E945702AAC080EF0E94E9 -:1014F00010238CE60E94102310E080E00E9410234D -:1015000081E00E9410238BE00E94102381E00E9462 -:10151000102381E00E94102381E00E9410238EEEB0 -:10152000810F8C3038F482E00E9410238AE00E9400 -:10153000102309C0133039F483E00E94102388E09F -:101540000E9410230AC08BEF810F8230A8F387EF2F -:10155000810F833088F31D3079F384E00E941023DB -:101560008EE00E9410238EEF810F823030F486E0EF -:101570000E94102381E00E9410238FE70E94102315 -:101580001F5F1E3109F0B9CF87EF0E94102358C0AA -:10159000662309F455C0DA010C9180EF0E941023F4 -:1015A0008EE60E941023802F0E9410230E3160F7D8 -:1015B00010E0F801E05DFC4F80810E941023000FD5 -:1015C000111FF801ED53FD4F7F0180818F770E943D -:1015D0001023D7018D919C919C012078232B39F009 -:1015E000880F892F881F990B8F770E941023F8018D -:1015F000ED53FD4F808191819C012227307C232B6C -:1016000019F2990F880B990F982F881F8F770E94D6 -:101610001023BACF80EF0E9410238AE60E94102385 -:101620001EEE1C3010F4812F01C08FE70E941023A2 -:101630001F5F1C30B1F7A8CF812F0E9446010ACF4F -:101640000F900F900F900F90DF91CF911F910F91FE -:10165000FF90EF90DF90CF90BF90089540915A0394 -:1016600050915B032091580330915903421753075F -:10167000B4F49091E8009570E1F39091E80092FD48 -:1016800019C08093F10080915A0390915B030196F9 -:101690008F739927892B19F48EEF8093E80080913E -:1016A0005A0390915B03019690935B0380935A03D6 -:1016B00081E0089580E00895CF92DF92EF92FF924B -:1016C0000F931F93CF93DF931F92CDB7DEB7182FE1 -:1016D000062FE42E862F880F8E5F99830E942E0B93 -:1016E00083E00E942E0BF12EC12E9981D92E8C2DD4 -:1016F0008F19801798F4F601E7FE02C0849101C0AB -:1017000080810E942E0B182F80E00E942E0B8123D7 -:10171000FFEFCF1ADF0A8111EACF01C081E00F90FD -:10172000DF91CF911F910F91FF90EF90DF90CF90BD -:101730000895DF92EF92FF920F931F93CF93DF9361 -:10174000D82E8A017B01E40EF51EEB01CE15DF05D4 -:1017500071F0D7FE03C0FE01849101C088810E9410 -:101760002E0B21968111F2CF8FEF9FEF01C0C801A0 -:10177000DF91CF911F910F91FF90EF90DF9008952F -:10178000CF92DF92EF92FF920F931F93CF93DF934D -:101790006C017A018B01C0E0D0E0CE15DF0589F045 -:1017A000D8016D918D01D601ED91FC910190F081F0 -:1017B000E02DC6010995892B11F47E0102C0219606 -:1017C000ECCFC701DF91CF911F910F91FF90EF9068 -:1017D000DF90CF900895CF93DF931F92CDB7DEB700 -:1017E0006983DC01ED91FC910280F381E02D41E001 -:1017F00050E0BE016F5F7F4F09950F90DF91CF9151 -:10180000089583E08093E9008091F200882319F025 -:101810008AE38093E8000895FC018485958597FD0F -:101820000BC09FB7F89482E08093E9008091F200AA -:101830009FBF90E0019608959FB7F89482E080934F -:10184000E9008091F2009FBF90E0089590E0FC01D4 -:101850003197EF30F105B0F5E258FF4F0C94902925 -:10186000809180008F7703C0809180008F7D80936E -:101870008000089580918000877FF9CF84B58F77AD -:1018800002C084B58F7D84BD0895809190008F77CC -:1018900007C0809190008F7D03C080919000877F6A -:1018A0008093900008958091C0008F7703C080914D -:1018B000C0008F7D8093C00008958091C200877F13 -:1018C0008093C20008950E94662C0F931F93CF93BC -:1018D000DF931F92CDB7DEB782E0898342E450E008 -:1018E00063E571E080E80E94990B0E944623DC01C9 -:1018F00012960D911C9113970115110569F0D801ED -:10190000ED91FC910280F381E02DBE016F5F7F4F6E -:10191000C801099597FF07C089810F90DF91CF918A -:101920001F910F910895F80100851185E5CF0F9360 -:101930001F93CF93DF931F92CDB7DEB78C01FC01CD -:101940008485958597FF0EC0CE0101960E941D23C8 -:10195000019719F4298130E002C02FEF3FEFF80121 -:1019600035872487F801848595850F90DF91CF9185 -:101970001F910F910895CF93DF931F92CDB7DEB7DC -:10198000FC018485958597FD05C02FEF3FEF3587D6 -:1019900024870BC0CE0101960E941D23019719F4E4 -:1019A000898190E002C08FEF9FEF0F90DF91CF9180 -:1019B00008951F920F920FB60F9211248F939F9349 -:1019C0008091E1009091E100937F9093E10083FF8B -:1019D0000FC01092E90091E09093EB001092EC00A0 -:1019E00092E39093ED001092E00698E09093F0005F -:1019F00082FF1CC093E09093E9009091F20099233C -:101A000019F09AE39093E80090915C03992329F0F0 -:101A100090915C03915090935C039091DF06992321 -:101A200029F09091DF0691509093DF0684FF10C05B -:101A30008091E2008E7E81608093E2008091E100DF -:101A40008F7E8093E100809102038E7E806111C0C1 -:101A500080FF11C08091E2008E7E80618093E20061 -:101A60008091E1008E7E8093E100809102038E7E62 -:101A70008160809302039F918F910F900FBE0F9012 -:101A80001F9018951F920F920FB60F921124CF92AC -:101A9000DF92EF92FF920F931F932F933F934F93F9 -:101AA0005F936F937F938F939F93AF93BF93EF93C6 -:101AB000FF93CF93DF93CDB7DEB76C97DEBFCDBF7B -:101AC0001092E9008091E80083FF0CC2FE01759638 -:101AD000DE2ECF2E88E08E0F8E1729F09091F10028 -:101AE00090833196F9CF84E68093DF0682EF80936E -:101AF000E8008D8987FF05C09091E80090FFFCCF3A -:101B000003C09EEF9093E800982F907609F0C5C02F -:101B10009E892F89188D91110CC0803829F48091ED -:101B200003038093F10002C01092F1001092F100C3 -:101B30004EC1422F50E0512B913051F4811147C1D9 -:101B40004130510509F043C1809103038D7F0BC0E3 -:101B5000933061F481113BC14130510509F037C127 -:101B60008091030382608093030331C1953041F477 -:101B70008091E80080FFFCCF20682093E30027C11C -:101B8000963009F05EC0EB8CFC8C1092E90010924C -:101B90005B0310925A03123091F510925903109280 -:101BA00058030E94650C99E0BE016F5F7F4FDB0117 -:101BB000E92F1D92EA95E9F799831A8391E09E83B4 -:101BC00090EA98879AEF998720915A0330915B03A6 -:101BD000275F3F4F3C832B838D831092E900109247 -:101BE0005B0310925A03F0925903E092580349E0C4 -:101BF00050E080E00E94990B0E94650CE8C0F092D2 -:101C00005903E09258030E944623DC011296ED909E -:101C1000FC901397E114F10409F4C7C0D701ED91CA -:101C2000FC910480F581E02D6D2D7C2DC701099577 -:101C3000009719F00CF0CBC0CEC0F701E084F1841E -:101C4000E9CF973009F4C7C0983021F481E0809340 -:101C5000F100BDC0993009F0BAC0837009F0BBC073 -:101C6000EBE2F1E081E021E036E39081992361F03D -:101C70008093E9002093EB0091919093EC003093D6 -:101C8000ED008F5F873089F78EE78093EA0010922E -:101C9000EA008F898093E0069AC08B8D9C8D10920C -:101CA000E90010925B0310925A03909359038093BA -:101CB0005803898D81115FC08E899D89913A59F4AD -:101CC000813209F088C047E050E060E071E080E0D8 -:101CD0000E94990B7CC0913209F07DC0833289F457 -:101CE000888D90E0982F88272F89822BA0E0B0E084 -:101CF00080931B0190931C01A0931D01B0931E01C2 -:101D000066C08032B1F48091E80082FFFCCFE0E051 -:101D1000F1E087E08E0F8E1729F09091F10090830B -:101D20003196F9CF84E68093DF068BEF8093E8004D -:101D300006C0823209F04BC08F89809307018091E1 -:101D40000103882319F0EEEFFAE002C0E0E0F8E0CA -:101D50008091000190910101A0910201B0910301D5 -:101D6000803B9440A105B10509F0A0C08091070116 -:101D700080FF83C09BC00E944623DC0112960D9118 -:101D80001C9113970115110531F1D801ED91FC91CA -:101D90000190F081E02D6D2D7C2DC80109958111F8 -:101DA00016C0F80100851185EDCF1130C1F0133058 -:101DB00091F48F89882309F455C08230E9F440E812 -:101DC00062E182EA91E00E945C0B882321F08EEFB1 -:101DD0008093E80087C081E28093EB0083C08B8D05 -:101DE0009C8D089711F4109357038091570381112C -:101DF00036C065EB71E038C0813029F440E868E016 -:101E000089E991E0E0CF833031F70E944623DC017D -:101E10001296ED90FC9013978E010F5F1F4F680193 -:101E2000E114F10479F0D701ED91FC910680F7817E -:101E3000E02DB801C7010995080F111DF701E084D5 -:101E4000F184EECFD8011C92F60101900020E9F751 -:101E50003197BF016C197D0940E0C601B4CF67EC32 -:101E600071E002C065E971E06115710509F4B3CF55 -:101E7000FB01449150E080E82BCFEE3F2AE0F207CF -:101E800031F0808191819093FF0A8093FE0A87E769 -:101E900097E7918380839BE088E10FB6F894A8953B -:101EA000809360000FBE9093600091CF0FB6F894BE -:101EB000A895809160008861809360001092600016 -:101EC0000FBEA895EE3F8AE0F80739F08091FE0A30 -:101ED0009091FF0A918380837ACF1092FF0A10922B -:101EE000FE0A75CF6C960FB6F894DEBF0FBECDBF5D -:101EF000DF91CF91FF91EF91BF91AF919F918F9122 -:101F00007F916F915F914F913F912F911F910F9111 -:101F1000FF90EF90DF90CF900F900FBE0F901F902B -:101F200018951F920F920FB60F9211242F933F9383 -:101F30008F939F93AF93BF93EF93FF938091600331 -:101F400090916103A0916203B0916303892B8A2B66 -:101F50008B2B51F180915D03E0915E03F0915F0363 -:101F60009081892780838091600390916103A09183 -:101F70006203B0916303181619061A061B064CF586 -:101F80008091600390916103A0916203B09163031B -:101F90000197A109B1098093600390936103A09315 -:101FA0006203B093630315C0809171008D7F8093AD -:101FB000710090915D03E0915E03F0915F03808179 -:101FC000282F30E0892F90E08095909582239323ED -:101FD0008083FF91EF91BF91AF919F918F913F913E -:101FE0002F910F900FBE0F901F901895CF93DF93F6 -:101FF000282F30E0F901EC5CFE4F8491F901E752A3 -:10200000FE4FD491F901EA5FFD4FC491CC2391F0CA -:1020100081110E94260CEC2FF0E0EE0FFF1FEA5D0D -:10202000FE4FA591B491EC91ED2381E090E021F475 -:1020300080E002C080E090E0DF91CF9108951F938F -:10204000CF93DF93282F30E0F901EC5CFE4F8491B1 -:10205000F901E752FE4FD491F901EA5FFD4FC491B7 -:10206000CC23C9F0162F81110E94260CEC2FF0E032 -:10207000EE0FFF1FE850FE4FA591B4918FB7F89473 -:10208000111105C09C91ED2FE095E92302C0EC9160 -:10209000ED2BEC938FBFDF91CF911F910895CF93DC -:1020A000DF9390E0FC01E752FE4F2491FC01EA5FD0 -:1020B000FD4F8491882361F190E0880F991FFC0106 -:1020C000EA5DFD4FC591D491FC01E850FE4FA5910A -:1020D000B491611109C09FB7F8948881209582233B -:1020E0008883EC912E230BC0623061F49FB7F89483 -:1020F0003881822F809583238883EC912E2B2C931B -:102100009FBF06C08FB7F894E8812E2B28838FBF1E -:10211000DF91CF910895823108F08251E82FF0E0ED -:10212000E65EFE4FE49180917B00E3FB222720F9DD -:1021300030E095E0220F331F9A95E1F78F7D282B31 -:1021400020937B00E770E064E0937C0080917A004C -:10215000806480937A0080917A0086FDFCCF809124 -:1021600078002091790090E0922B08958F929F92B1 -:10217000AF92BF92CF92DF92EF92FF926B017C0100 -:102180000E942B184B015C01C114D104E104F1043D -:10219000F1F00E942B18DC01CB0188199909AA09DA -:1021A000BB09883E9340A105B10570F321E0C21A36 -:1021B000D108E108F10888EE880E83E0981EA11C82 -:1021C000B11CC114D104E104F10419F7DDCFFF9073 -:1021D000EF90DF90CF90BF90AF909F908F90089539 -:1021E0008F929F92AF92BF92CF92DF92EF92FF9227 -:1021F0000F931F93CF93DF935C016B018A01809152 -:102200000701882309F45DC08091E006882309F462 -:1022100058C08091020380FF05C08091E000826079 -:102220008093E000E8018AEFF82E93E0E92E2FE397 -:10223000822E3AE3932E209709F43DC08FB7F8948D -:10224000E092E9009091E80095FF06C09091F200BD -:10225000282D291B922F01C090E08FBF91110AC039 -:10226000FA94FF2071F161E070E080E090E00E945C -:10227000B610E1CF292F30E0C217D3070CF49C2F02 -:102280008FB7F894E092E9002091E80025FF11C093 -:10229000292F30E0C21BD30BF601915020F0419161 -:1022A0004093F100FACFC20ED31E9091E80095FF43 -:1022B00012C08FBFC0CF84E680935C031016110656 -:1022C00044F081E090E0F5019383828380E090E028 -:1022D00005C0C80103C09092E800EBCFDF91CF9119 -:1022E0001F910F91FF90EF90DF90CF90BF90AF9034 -:1022F0009F908F9008950F931F93CF93DF93EC01DE -:1023000001E214E0D8018D919C91DC01ED91FC91EA -:102310006C2F6F770190F081E02D0995F801808195 -:102320009181DC01ED91FC91CC0FCD2FCC1FDD0B09 -:102330006C2F6F770190F081E02DDF91CF911F918D -:102340000F910994CF93DF93EB01A0912104B091F9 -:102350002204ED91FC9111978F70682F606E0190AF -:10236000F081E02DCD010995CE01DF91CF910C9444 -:102370007B118091210490912204DC01ED91FC916C -:102380000190F081E02D67EF0994809121049091F4 -:102390002204DC01ED91FC910190F081E02D60EFD1 -:1023A0000994EF92FF920F931F93CF93DF9300D086 -:1023B0001F92CDB7DEB7162F4A835B8389830E94B5 -:1023C000C511A0912104B0912204ED91FC911197C7 -:1023D0000190F081E02D8981682FCD0109954A8116 -:1023E000042FE42E5B81F52E8E2D801B811738F48F -:1023F000F70181917F0190E00E947B11F5CF0F9052 -:102400000F900F90DF91CF911F910F91FF90EF9060 -:102410000C94B911FC0101900020E9F73197BF013C -:10242000681B790BAC0181E70C94D1118F929F92BC -:10243000AF92BF92CF92DF92EF92FF924B01AA240C -:10244000BB24E82DC52ED62EE72EFF24FC2D342FDD -:102450002091E004222361F0829E40011124E92DA5 -:10246000C29E60011124FD2D429FD00111243B2FFB -:10247000F090E604E090E304A091E104B091E2045E -:10248000FE1008C0AC01440F551F840F951F8A0F22 -:102490009B1F14C0880F991F880F991F8A0F9B1FBD -:1024A000472F552766277727DC01AF0DB11D222363 -:1024B00021F0429FA0011124452F4C932091E30469 -:1024C000DC01A20FB11DEC932091E404DC01A20F0A -:1024D000B11DFC932091E504FC01E20FF11D308356 -:1024E000FF90EF90DF90CF90BF90AF909F908F9034 -:1024F00008952091D0039091CF03213208F046C077 -:102500008091AC038111FCCF32E03093AC0331E019 -:102510003093AB033FEF3093AA031092A9032093AB -:10252000A803AFEAB3E048E853E0FA013E2F341BBA -:10253000321718F43D913193F9CF1092870320910F -:102540008703990F922B9093870390918603913084 -:1025500041F410928603909187039093BB0095EC11 -:1025600001C095EE9093BC009091AC039230E1F3E2 -:102570009091AA039F3F79F08091AA03803241F0A5 -:102580008091AA03803331F084E005C081E003C06C -:1025900082E001C083E01092AE031092D00310924B -:1025A000AD0308959091AC039111FCCF91E090930D -:1025B000AC039093AB032FEF2093AA031092A903CF -:1025C000260F2093A8039093870390918703880F89 -:1025D000892B8093870380918603813041F4109288 -:1025E0008603809187038093BB0085EC01C085EE54 -:1025F0008093BC008091AC038130E1F38091A9030A -:10260000861710F46091A903A8E8B3E026E633E04A -:10261000F9018E2F821B861718F48D918193F9CFC3 -:10262000862F0895613208F060E20E94D212109263 -:102630006503809364030895CF92DF92EF92FF9237 -:10264000CF93DF93FC01148A158A168A178A80813A -:10265000918197FD72C04EE120E130E0F894A18DA8 -:10266000B28D12969C911297808D80958923129637 -:102670008C93A48DB58D11969C911197838D809527 -:10268000892311968C93A48DB58D12969C911297E7 -:10269000838D8095892312968C93A48DB58D119688 -:1026A0009C911197838D892B11968C93A48DB58D58 -:1026B00012969C911297838D8095892312968C9304 -:1026C000C9010197F1F7A48DB58D11969C911197D1 -:1026D000838D8095892311968C93A48DB58D129648 -:1026E0009C911297838D8095892312968C93A18D4E -:1026F000B28D12969C911297808D892B12968C9395 -:102700007894C48DD58D638D58815623848995899D -:10271000A689B789C084D184E284F384511111C0A1 -:102720008C159D05AE05BF0560F40196A11DB11D78 -:10273000848B958BA68BB78BE7CF6FEF7FEFCB01A9 -:10274000D3C0C816D906EA06FB0608F45CC0F894A4 -:10275000A48DB58D12969C911297838D892B12961C -:102760008C93A48DB58D11969C911197838D892B97 -:1027700011968C93A48DB58D12969C911297838D92 -:10278000892B12968C93A48DB58D11969C911197DF -:10279000838D8095892311968C93A48DB58D129687 -:1027A0009C911297838D8095892312968C93A18D8D -:1027B000B28D12969C911297808D809589231296E6 -:1027C0008C937894C48DD58D638D588156238489DC -:1027D0009589A689B789C084D184E284F38455237E -:1027E00069F08C159D05AE05BF0540F40196A11D4D -:1027F000B11D848B958BA68BB78BE7CF8C159D0570 -:10280000AE05BF0528F06EEF7FEF8FEF9FEF6CC036 -:10281000415009F023CFEF010E945018C888D98891 -:10282000EA88FB88DC01CB018C199D09AE09BF0940 -:10283000CC84DD84EE84FF84C816D906EA06FB0644 -:1028400040F5CC88DD88EE88FF886A817B818C81A9 -:102850009D81C616D706E806F90629F0C61AD70ADA -:10286000E80AF90A03C0C12CD12C76010E943E2A45 -:102870002DEC3CEC4CEC5DE30E94CC2A0E94082A33 -:10288000CB01770FAA0BBB0BC816D906EA06FB06CD -:10289000E0F08C899D89AE89BF89CA80DB80EC809D -:1028A000FD808C159D05AE05BF0520F48A839B83B2 -:1028B000AC83BD83CA80DB80EC80FD80BC01CD0190 -:1028C0006C197D098E099F090FC08FEF9FEFAFEF45 -:1028D000BFE08A839B83AC83BD830E945018688BC2 -:1028E000798B8A8B9B8BD5CFDF91CF91FF90EF9027 -:1028F000DF90CF90089580911F01853009F5E5E2C2 -:10290000F2E0E4918FEF80931F01E13071F050F01D -:10291000E33089F0E430A1F4809172008F7B8093E2 -:1029200072000EC010926E000BC080916F008D7F00 -:1029300080936F0005C0809171008D7F809371003E -:1029400060E085E00C941F10CF93DF93C82FD62F43 -:1029500040E862E28EEE94E00E94721C48E064E27D -:102960008EEE94E00E94721CC13011F445E103C068 -:10297000C23031F44AE268E38EEE94E00E94721CA9 -:102980004D2F6AE38EEE94E00E94721C4AE06BE3E6 -:102990008EEE94E00E94721C44E16CE38EEE94E0B3 -:1029A0000E94721C4FEF6DE38EEE94E0DF91CF91A9 -:1029B0000C94721CCF93DF93EC0163E28EEE94E0F3 -:1029C0000E94C51A8F7C94E0CC0FDD1F9A95E1F729 -:1029D0004C2F482B63E28EEE94E0DF91CF910C9464 -:1029E000721C3F924F925F926F927F928F929F9252 -:1029F000AF92BF92CF92DF92EF92FF920F931F930D -:102A0000CF93DF9300D000D0CDB7DEB720911F0168 -:102A1000253021F02F3F09F084C204C0E5E2F2E046 -:102A200034909FC025E020931F01E5E2F2E0E4919D -:102A3000EF3F09F476C2E13009F44AC0FCF4E11139 -:102A40008FC014BC15BC24B5226024BD25B52160FF -:102A500025BDEBE0F2E0E491F0E0EE0FFF1FE8505F -:102A6000FE4F2591349130935B0620935A06EEED8C -:102A7000F1E0E491E0935906312C75C0E33009F49C -:102A80004BC0E43009F06CC01092C0001092C1003D -:102A90002091C10028602093C1002091C1002160D5 -:102AA0002093C100EBE0F2E0E491F0E0EE0FFF1FB5 -:102AB000E850FE4F259134913093550620935406EB -:102AC000EEEDF1E0E491E0935306B4E03B2E4BC011 -:102AD0001092800010928100209181002860209344 -:102AE000810020918100216020938100EBE0F2E0E1 -:102AF000E491F0E0EE0FFF1FE850FE4F2591349176 -:102B00003093580620935706EEEDF1E0E491E09300 -:102B100056063324339427C01092900010929100EF -:102B200020919100286020939100209191002160D4 -:102B300020939100EBE0F2E0E491F0E0EE0FFF1F54 -:102B4000E850FE4F2591349130935F0320935E034C -:102B5000EEEDF1E0E491E0935D0303E0302E03C07D -:102B60003E2E37FCDEC12A013B018C0161E085E08D -:102B70000E944F104801A12CB12C832D8D7F09F0AC -:102B8000CCC060E079E08DE390E0A50194010E9463 -:102B9000812C29833A834B835C8369017A0121E08C -:102BA000C21AD108E108F1088FEFC816D104E10478 -:102BB000F10409F008F44BC060E271EA87E090E0AC -:102BC000A50194010E94812C69017A0191E0C91A42 -:102BD000D108E108F108E2E03E121FC0FFEFCF1676 -:102BE000D104E104F10409F008F4F4C068E478EEDB -:102BF00081E090E0A50194010E94812C69017A0195 -:102C000081E0C81AD108E108F1089FEFC916D10484 -:102C1000E104F10409F010F5DDC0EFEFCE16D104A8 -:102C2000E104F104B1F0A8F064E274EF80E090E018 -:102C3000A50194010E94812C69017A01F1E0CF1A6B -:102C4000D108E108F108332009F437C12CC181E033 -:102C500001C082E0332009F45BC0BCC064E274EFC1 -:102C600080E090E0A50194010E94812C69017A0125 -:102C7000F1E0CF1AD108E108F1082FEFC216D10414 -:102C8000E104F10409F008F4A5C062E17AE780E00C -:102C900090E0A50194010E94812C69017A0181E0F4 -:102CA000C81AD108E108F1089FEFC916D104E10460 -:102CB000F10409F008F48EC069E07DE380E090E063 -:102CC000A50194010E94812C69017A0181E0C81A52 -:102CD000D108E108F1089FEFC916D104E104F1041D -:102CE00009F008F4DEC089819A81AB81BC814AE099 -:102CF000B595A795979587954A95D1F76C017D0174 -:102D0000E1E0CE1AD108E108F108311063C085E096 -:102D100095B5987F892B85BD5DC060E079E08DE336 -:102D200090E0A50194010E94812C69017A01F1E0F3 -:102D3000CF1AD108E108F108C114D10421E0E2065C -:102D4000F10488F064E274EF80E090E0A501940162 -:102D50000E94812C69017A0181E0C81AD108E1083A -:102D6000F10883E001C081E091E039120FC0909139 -:102D70008100987F892B8093810041145104610464 -:102D8000710469F52FEF3FEFA90157C0E3E03E1250 -:102D90000FC090919100987F892B809391004114EE -:102DA000510461047104D9F42FEF3FEFA90157C01A -:102DB000F4E03F120FC09091C100987F892B80935F -:102DC000C100411451046104710449F42FEF3FEF35 -:102DD000A90157C0411451046104710471F0D80174 -:102DE000AA0FBB1FA30192010E94A02C28EE33E082 -:102DF00040E050E00E94B32C03C02FEF3FEFA90149 -:102E000081E03816D1F083158CF031108AC0C7BC30 -:102E100020936406309365064093660650936706D8 -:102E200080916E00826080936E007BC093E03916C3 -:102E3000B1F0E4E03E1629F174C0D0928900C0924E -:102E40008800209360063093610640936206509399 -:102E5000630680916F00826080936F0062C0D092A1 -:102E60009900C092980020936003309361034093CF -:102E700062035093630380917100826080937100BC -:102E800050C0C092CF0020935C0630935D06409303 -:102E90005E0650935F06809172008064809372009A -:102EA00040C086E0D7CEEFEFCE16D104E104F104A6 -:102EB00011F008F001CF84E0CDCE8FEFC816D10419 -:102EC000E104F104C9F0C0F069E07DE380E090E046 -:102ED000A50194010E94812C69017A01F1E0CF1AC9 -:102EE000D108E108F1082FEFC216D104E104F10482 -:102EF00009F020F484E00CCF83E00ACF89819A8125 -:102F0000AB81BC812AE0B595A795979587952A95C1 -:102F1000D1F76C017D01E1E0CE1AD108E108F1089A -:102F2000F6CE0F900F900F900F90DF91CF911F91E1 -:102F30000F91FF90EF90DF90CF90BF90AF909F9058 -:102F40008F907F906F905F904F903F900895CF92B9 -:102F5000DF92EF92FF920F931F93CF93DF93FC01C9 -:102F6000258D2F3F39F46EBD00000DB407FEFDCF57 -:102F70008EB52BC0D62F8C0187E0E82EF12CC0E057 -:102F8000CC24C394D12CCC0F60E0F801858D0E9435 -:102F90001F10B6010E2C01C0660F0A94EAF76D23CC -:102FA000F801838D0E941F1061E0F801858D0E9459 -:102FB0001F10F801848D0E94F60F892B09F0C16063 -:102FC000F1E0EF1AF108F8F68C2FDF91CF911F9105 -:102FD0000F91FF90EF90DF90CF9008950F931F9384 -:102FE000CF93DF938C01EB0188E2FB0111928A956C -:102FF000E9F74BE050E06BE672E0CE010E94722CE4 -:103000001B8641E050E060E070E04C875D876E8792 -:103010007F87F80185899689A789B08D888B998BE0 -:10302000AA8BBB8B4C8B5D8B6E8B7F8B1CA21DA2E6 -:103030001EA21FA2188E198E1A8E1B8E1C8E1D8E1C -:103040001E8E1F8E18A219A21AA21BA2DF91CF9169 -:103050001F910F9108953FB7F89480916D0690915C -:103060006E06A0916F06B091700626B5A89B05C0AC -:103070002F3F19F00196A11DB11D3FBFBA2FA92FF7 -:10308000982F8827820F911DA11DB11DBC01CD0174 -:1030900043E0660F771F881F991F4A95D1F708955F -:1030A0002FB7F8946091690670916A0680916B065B -:1030B00090916C062FBF08951F920F920FB60F923A -:1030C00011242F933F938F939F93AF93BF9380913E -:1030D000690690916A06A0916B06B0916C063091DA -:1030E000680626E0230F2D3720F40296A11DB11D9E -:1030F00005C029E8230F0396A11DB11D2093680682 -:103100008093690690936A06A0936B06B0936C0651 -:1031100080916D0690916E06A0916F06B091700639 -:103120000196A11DB11D80936D0690936E06A0932C -:103130006F06B0937006BF91AF919F918F913F91B1 -:103140002F910F900FBE0F901F9018950F931F9304 -:10315000CF93DF93EC01162F042F81E090E0998349 -:1031600088838CE291E09F838E8380EE93E9A4E0D4 -:10317000B0E088879987AA87BB8780E29EE4A0E0B9 -:10318000B0E08C879D87AE87BF876F3120F08FEFCF -:103190009FEF998388830F3120F08EEF9FEF998303 -:1031A000888361E0812F0E944F1060E0802F0E9491 -:1031B0004F1060E0812F0E941F10612F70E0FB0113 -:1031C000E752FE4FE491E88FFB01EA5FFD4FE49187 -:1031D000F0E0EE0FFF1FEA5DFE4F859194919A8F0C -:1031E000898F402F50E0FA01E752FE4FE491EB8FB8 -:1031F000FA01EA5FFD4FE491F0E0EE0FFF1FEA5D98 -:10320000FE4F859194919D8F8C8F8FEF9FEFAFEF45 -:10321000BFE08A839B83AC83BD830E945018688B78 -:10322000798B8A8B9B8BDF91CF911F910F910895A2 -:10323000FC01158216821782DC011896885B9F4F6D -:103240001D92A817B907E1F71C92DF01A75BBF4FDA -:103250001D921C92EF54FF4F0190F081E02D3097AA -:1032600009F009940895FC014481558160E070E003 -:10327000808591850C946B2CFF920F931F93CF93B5 -:10328000DF93EC01FF24F394F60E2F81F21679F10F -:10329000088519852150B9F06F3F59F430E040E0BE -:1032A00050E06FEF7FEF80E090E00E94812CB90149 -:1032B0000CC08F2D90E0982F88270197622F70E027 -:1032C0000E947C2902C060E070E0F8014C815D81C1 -:1032D000CF01801B910B8417950740F44081469FD6 -:1032E000C001479F900D11249193F0CFFF82DF9191 -:1032F000CF911F910F91FF9008950F931F93DC01C1 -:1033000012968D919C9113976817790708F043C026 -:1033100017968C911797882361F0489FA00111247C -:10332000452F289F90011124232F089F80011124ED -:10333000012F1D968C911D971A969C911A9718969D -:10334000ED91FC911997891308C0CB01880F991F43 -:10335000680F791F6E0F7F1F0AC0660F771F660FF9 -:10336000771F6E0F7F1FFB01E80FF11D10821A9669 -:103370008C911A97FB01E80FF11D40831B968C91ED -:103380001B97FB01E80FF11D20831C968C91FB011C -:10339000E80FF11D00831F910F910895CF92DF92E6 -:1033A000EF92FF920F931F93CF93DF93CDB7DEB7CA -:1033B00029970FB6F894DEBF0FBECDBF8C01DC019C -:1033C00018968D919C911997892B09F4BBC00E9486 -:1033D0002B18F801C684D784E088F188DC01CB0182 -:1033E0008C199D09AE09BF09C297A105B10578F3F3 -:1033F000F894848195819A8389830084F185E02DF6 -:103400007F01BFEFEB1AFB0A80818987F801908169 -:103410008489992309F45BC01B8295B1982B988706 -:1034200095B1809589238F838F818C83898587FFD0 -:1034300002C088858C8358856F8149853C812B81AA -:1034400089819A81D70155B9262F35B900C046FD2B -:10345000252F65B900C055B9362F25B900C045FDE7 -:10346000352F65B900C055B9262F35B900C044FDC8 -:10347000252F65B900C055B9362F25B900C043FDC9 -:10348000352F65B900C055B9262F35B900C042FDAA -:10349000252F65B900C055B9362F25B900C041FDAB -:1034A000352F65B900C055B9262F35B900C040FD8C -:1034B000252F65B9019755B9362F25B94D9147FD8F -:1034C000352F65B901F649873C832B8331C00288CB -:1034D000F389E02D9081982B98879081809589239E -:1034E0008F838F818E8388E08D8358856F81498596 -:1034F0003D812E8189819A81D701508347FD252FF7 -:103500002083262F3A9531F0441F608300C000C00D -:1035100000C0F3CF6083000038E04D91019769F758 -:10352000D8015396FC93EE93529749873D832E839F -:103530009A83898378940E942B18F801668777878D -:10354000808B918B29960FB6F894DEBF0FBECDBF4E -:10355000DF91CF911F910F91FF90EF90DF90CF906F -:103560000895CF93DF93EC0188859985009711F03A -:103570000E94CE2B8E8187FD05C060E0DF91CF9148 -:103580000C944F10DF91CF9108951F93CF93DF9349 -:10359000EC01162F8A8D8F3FF1F4898D91E0909385 -:1035A000AD038093CF031092AE031092D0038EEF41 -:1035B00095E00E942F1D0E947912898D61E070E0D4 -:1035C000082E000C990B0E9412138EEF95E00E94BA -:1035D000D61C182F1EC08D8D8F3F21F481E590E001 -:1035E0000E94C71D60E08A8D0E941F10612F6068D5 -:1035F000CE010E94A71760E0CE010E94A717182FE6 -:1036000061E08A8D0E941F108D8D8F3F11F40E9402 -:10361000C61D812FDF91CF911F9108958F929F92A8 -:10362000AF92BF92CF92DF92EF92FF920F931F93D0 -:10363000CF93DF93EC018B0184E2FB0111928A9519 -:10364000E9F784E290E0A0E0B0E0FB0180839183A1 -:10365000A283B3838D899E89AF89B88D8483958336 -:10366000A683B78381E090E0A0E0B0E080879187F7 -:10367000A287B387108A118A128A138A8A8D8F3F94 -:1036800009F053C0898D91E09093AD038093CF03EF -:103690001092AE031092D00368EA8EEF95E00E947C -:1036A0002F1D0E947912898D66E070E0082E000CB3 -:1036B000990B0E9412138EEF95E00E94D61C9C83FA -:1036C0008B838EEF95E00E94D61C20E030E0382FEF -:1036D0008B819C81282B392B3C832B838EEF95E0AB -:1036E0000E94D61C9E838D838EEF95E00E94D61C8F -:1036F00020E030E0382F8D819E81282B392B3E83AE -:103700002D838EEF95E00E94D61C98878F838EEFD5 -:1037100095E00E94D61C20E030E0382F8F819885FC -:10372000282B392B38872F8348C08D8D8F3F21F46C -:1037300081E590E00E94C71D60E08A8D0E941F1005 -:1037400068EECE010E94A7176FEFCE010E94A71767 -:1037500090E09C838B836FEFCE010E94A7172B8193 -:103760003C81382B3C832B836FEFCE010E94A7173F -:1037700090E09E838D836FEFCE010E94A7172D816D -:103780003E81382B3E832D836FEFCE010E94A71719 -:1037900090E098878F836FEFCE010E94A7172F814B -:1037A0003885382B38872F8361E08A8D0E941F105F -:1037B0008D8D8F3F11F40E94C61D63E2CE010E94E1 -:1037C000C51A90E024E0959587952A95E1F78370D6 -:1037D00099278330910599F08230910551F081301D -:1037E000910551F061E070E0892B59F46CEF7FE3B3 -:1037F00008C060E070E105C06EEF7FE102C065E5E2 -:1038000075E080E090E00E943E2A6B017C016B81B4 -:103810007C81072E000C880B990B0E94402AA7017F -:1038200096010E9496294B015C0169877A878B87F4 -:103830009C876D817E81072E000C880B990B0E945E -:10384000402AA70196010E9496296D877E878F875F -:10385000988B6F817885072E000C880B990B0E943E -:10386000402AA70196010E949629698B7A8B8B8B3F -:103870009C8B2AE038EE4CE151E4C501B4010E9472 -:10388000CC2AF801648B758B868B978B2AE038EEF7 -:103890004CE151E46D857E858F8598890E94CC2A04 -:1038A000F801608F718F828F938F2AE038EE4CE1A0 -:1038B00051E469897A898B899C890E94CC2AF80114 -:1038C000648F758F868F978F80E0DF91CF911F91E6 -:1038D0000F91FF90EF90DF90CF90BF90AF909F90AF -:1038E0008F9008950F931F93CF93DF93EC01162FC2 -:1038F000042F8A8D8F3FC9F4898D91E09093AD0399 -:103900008093CF031092AE031092D0038EEF95E018 -:103910000E942F1D602F8EEF95E00E942F1DDF91DA -:10392000CF911F910F910C9479128D8D8F3F21F4BF -:1039300081E590E00E94C71D60E08A8D0E941F1003 -:10394000612F6F77CE010E94A717602FCE010E94D2 -:10395000A71761E08A8D0E941F108D8D8F3F31F473 -:10396000DF91CF911F910F910C94C61DDF91CF91E4 -:103970001F910F910895089585ED8093BC0080916B -:10398000BC0084FDFCCF1092AC0308950895E09133 -:10399000650380916403E81730F4F0E0EA59FC4FC6 -:1039A000808190E008958FEF9FEF089590916503D7 -:1039B00080916403981750F4E92FF0E0EA59FC4F26 -:1039C000208130E09F5F9093650302C02FEF3FEFAF -:1039D000C90108958091640390E020916503821BE2 -:1039E00091090895CF92DF92EF92FF920F931F9368 -:1039F000CF93DF937C018A018091AD03882389F006 -:103A0000EB016B01C40ED51ECC15DD05F1F06991FB -:103A1000D701ED91FC910190F081E02DC70109954E -:103A2000F3CF842F413288F49091AC03943069F441 -:103A30004093BA06FB0128E936E0D9019A2F921B80 -:103A4000981718F491919D93F9CFC801DF91CF9108 -:103A50001F910F91FF90EF90DF90CF9008952091EC -:103A6000AD032223C9F02091D003203240F021E0A1 -:103A700030E0FC013383228380E090E00895809160 -:103A8000AE03E82FF0E0E155FC4F60838F5F809339 -:103A9000AE038093D00309C08091AC03843029F435 -:103AA00081E08093BA066093980681E090E00895E3 -:103AB0000C94CE2B0F931F93CF93DF9381E08093D1 -:103AC000960689ED94E00E94331989ED94E00E94F6 -:103AD000CE1980E090E00E94DA1464E670E080E0A5 -:103AE00090E00E94B61060E582E00E94A41464E6B3 -:103AF00070E080E090E00E94B61010920D031092EA -:103B00000C03E8E0F1E01082329681E0E831F8073A -:103B1000D1F70E947B1480919506882329F010929A -:103B200095068FEF80931801C4E0D3E0A1E9B6E0D9 -:103B3000E8E0F3E084E08E0F119219921D928E134B -:103B4000FBCF03E716E0C0E0DFEF8EEE8C0F8C308A -:103B500018F462E070E002C061E070E08C2F0E9417 -:103B60000904F801D1938F01CF5FCE3171F7109224 -:103B70002F0310922E03109272061092710610926B -:103B80009606DF91CF911F910F91089508958CBDF6 -:103B90009DBD089508951F920F920FB60F921124A4 -:103BA0002F933F934F935F936F937F938F939F9345 -:103BB000AF93BF93EF93FF938091B900887F8036D6 -:103BC00009F49CC068F5883209F45BC090F4803138 -:103BD00009F454C038F4882309F4F3C0883009F498 -:103BE0004DC0F3C0883109F44CC0803209F45DC087 -:103BF000ECC0803409F468C048F4803309F455C03F -:103C0000883309F0E2C08093AA03D5C0803509F457 -:103C10004FC0883509F45DC0883409F0D6C0D3C0E0 -:103C2000883909F4C4C0A8F4883709F467C038F4A7 -:103C3000883609F463C0803709F460C0C6C088388C -:103C400009F4B5C0803909F45FC0803809F0BDC0FF -:103C50005BC0803B09F483C038F4803A09F466C045 -:103C6000883A09F47CC0B1C0803C09F4A4C0883C07 -:103C700009F4A1C0883B09F487C0A7C080918703DD -:103C800010C09091A9038091A803981770F5E09156 -:103C9000A90381E08E0F8093A903F0E0E857FC4F61 -:103CA00080818093BB0085EC83C08093AA038BC086 -:103CB000E091A90381E08E0F8093A9038091BB005E -:103CC000F0E0E857FC4F80839091A9038091A8030E -:103CD0006BC0E091A90381E08E0F8093A9038091CE -:103CE000BB00F0E0E857FC4F80838091AB0381116B -:103CF0006AC081E08093860384EA5EC083E080939B -:103D0000AC031092DE06CFCF8091DE06803208F041 -:103D10004EC0E091DE0681E08E0F8093DE0680913A -:103D2000BB00F0E0E254F94F8083BDCF8091DE0606 -:103D3000803230F4E091DE06F0E0E254F94F108278 -:103D40000E94BC1C6091DE0670E0E091BC06F09120 -:103D5000BD068EEB96E009951092DE062CC084E03D -:103D60008093AC031092BB061092BA06E091B8069D -:103D7000F091B90609958091BA06811105C081E0DC -:103D80008093BA0610929806E091BB0681E08E0FF0 -:103D90008093BB06F0E0E856F94F80818093BB002A -:103DA0009091BB068091BA06981708F47CCF85E8FD -:103DB0008093BC000AC085EC8093BC001092AC03D9 -:103DC00004C01092AA030E94BC1CFF91EF91BF9106 -:103DD000AF919F918F917F916F915F914F913F91A3 -:103DE0002F910F900FBE0F901F9018951092AC035B -:103DF00081E08093AB031092860361E082E00E9431 -:103E00001F1061E083E00E941F10E9EBF0E0808169 -:103E10008E7F808380818D7F808380E28093B80055 -:103E200085E48093BC000895DF92EF92FF920F9398 -:103E30001F93CF93DF93EC01D62E7A0189018881FD -:103E40008C3008F06AC061E08D2D0E944F1088818F -:103E5000E82FF0E09F01220F331FE20FF31FE65F10 -:103E6000F94F9D2D9F732081207CD22ED92AD0829C -:103E700060E272E0AB014E195F0957FF02C04D5F6F -:103E80005F4F5595479555954795498340E659E0CD -:103E90009A01201B310B37FF02C02D5F3F4F359534 -:103EA0002795359527952A836CE00E9470299CE020 -:103EB000899FB001112440E050E09A01260F371F7E -:103EC000F901EE0FFF1F2E0F3F1FF901E65FF94FBB -:103ED000908196FD16C04F5F5F4F4C30510569F7DA -:103EE00081110FC01092800082E0809381001092B7 -:103EF000850010928400B19A80916F008260809357 -:103F00006F00E881F0E0CF01880F991FE80FF91FDB -:103F1000E65FF94F8081806480838881DF91CF9153 -:103F20001F910F91FF90EF90DF9008951F920F92D5 -:103F30000FB60F9211242F933F934F935F936F937C -:103F40007F938F939F93AF93BF93EF93FF93809152 -:103F5000970687FF05C010928500109284001BC051 -:103F600020919706022E000C330B80912E0690E0D4 -:103F70002817390784F480919706082E000C990BB6 -:103F8000FC01EE0FFF1F8E0F9F1FFC01E65FF94F34 -:103F9000808186FD15C0809197068F5F809397067C -:103FA00020919706022E000C330B80912E0690E094 -:103FB00028173907C4F4809197068C3064F113C038 -:103FC00080919706082E000C990BFC01EE0FFF1F45 -:103FD0008E0F9F1FFC01E65FF94F808160E08F73B9 -:103FE0000E941F10D8CF8091840090918500049684 -:103FF00080329E4418F480E29EE405C080918400E3 -:1040000090918500049690938900809388008FEFAB -:10401000809397063BC02091840030918500809169 -:104020009706082E000C990BFC01EE0FFF1F8E0F58 -:104030009F1FFC01E65FF94F81819281820F931FE0 -:10404000909389008093880080919706082E000C39 -:10405000990BFC01EE0FFF1F8E0F9F1FFC01E65F07 -:10406000F94F808186FF12C080919706082E000CC0 -:10407000990BFC01EE0FFF1F8E0F9F1FFC01E65FE7 -:10408000F94F808161E08F730E941F10FF91EF91C3 -:10409000BF91AF919F918F917F916F915F914F9160 -:1040A0003F912F910F900FBE0F901F9018950F9377 -:1040B0001F93CF93DF938C018091E1049091E204F0 -:1040C000009711F00E94CE2B9091E6048091E304BA -:1040D000981719F084E090E002C083E090E0809FA0 -:1040E000E001819FD00D909FD00D1124D093DE046C -:1040F000C093DD04CE010E94392B9093E20480939B -:10410000E104009751F0AE0160E070E00E946B2C7A -:104110001093DC040093DB0408C01092DE041092BC -:10412000DD041092DC041092DB04DF91CF911F912B -:104130000F910895CF930E94C51180912104909111 -:104140002204DC01ED91FC910190F081E02D69E702 -:1041500009958091210490912204DC01ED91FC915C -:10416000A0912404B09125040190F081E02D6C9180 -:1041700009958091210490912204DC01ED91FC913C -:10418000A0912404B09125040190F081E02D1196B6 -:104190006C910995C2E080912304C81760F4E09106 -:1041A0002404F0912504EC0FF11D808190E00E9421 -:1041B0007B11CF5FF0CFCF910C94B911CF93DF93E8 -:1041C000C1E2D4E088819981DC01ED91FC910190FC -:1041D000F081E02D69EF099588819981DC01ED91ED -:1041E000FC910190F081E02D62E009958881998130 -:1041F000DC01ED91FC910190F081E02D65E0DF9113 -:10420000CF9109940F931F93CF93DF93CDB7DEB770 -:104210006E970FB6F894DEBF0FBECDBF61E08DE0A4 -:104220000E944F1060E085E10E944F1060E084E042 -:104230000E944F1060E083E10E944F1061E085E032 -:104240000E944F1061E08EE10E944F1011E019832F -:104250001A821C821B821E821D828FEF8F8318861A -:104260001A8619861B871C8602E00D871E871F860B -:10427000188A198A1A8A85E1FE013196A9EDB4E0FF -:1042800001900D928A95E1F7CE0101960E94B11A34 -:104290009091E6048091E3041093E6041093E30404 -:1042A0001092E4040093E5041093D9042091E104F2 -:1042B0003091E204232B41F0981731F08091DB0418 -:1042C0009091DC040E9457208AE090E00E945720E1 -:1042D0008091DA04882339F08091DF0487FD03C0E0 -:1042E00060E00E944F1081E18093DF048091DA0446 -:1042F000882341F061E081E10E944F1060E081E19C -:104300000E941F10E7E1F2E0E491F0E0EE0FFF1FE2 -:10431000E850FE4F859194919093EC048093EB04C8 -:10432000EAEEF1E0E491E093ED048B818093F004F8 -:104330008C819D819093F2048093F1048E819F8102 -:104340009093F4048093F304888599859093F60400 -:104350008093F5048A859B85AC85BD858093F704A1 -:104360009093F804A093F904B093FA048E859F8586 -:10437000A889B9898093FB049093FC04A093FD0461 -:10438000B093FE048A899B89AC89BD898093FF0420 -:1043900090930005A0930105B09302058FEF9FEF66 -:1043A000DC018093030590930405A0930505B09369 -:1043B00006058A8D8093070588E0809308058FEFB6 -:1043C0008093090580930A0580930B058091DF0493 -:1043D00087FD08C061E00E944F1060E08091DF041B -:1043E0000E941F1081E08093DA0489ED94E00E941E -:1043F000CE1964E189ED94E00E943C1940E06EE141 -:10440000CE0101960E94A6188EE1FE013196AEE023 -:10441000B5E001900D928A95E1F741E06EE1CE01A1 -:1044200001960E94A6188EE1FE013196ACE2B5E03D -:1044300001900D928A95E1F742E06EE1CE0101967E -:104440000E94A6188EE1FE013196AAE4B5E0019023 -:104450000D928A95E1F743E06EE1CE0101960E944C -:10446000A6188EE1FE013196A8E6B5E001900D9206 -:104470008A95E1F746E06EE1CE0101960E94A6180A -:104480008EE1FE013196A6E8B5E001900D928A9585 -:10449000E1F749E06EE1CE0101960E94A6188EE197 -:1044A000FE013196A4EAB5E001900D928A95E1F7FC -:1044B0004AE06EE1CE0101960E94A6188EE1FE014F -:1044C0003196A2ECB5E001900D928A95E1F74CE0AF -:1044D0006EE1CE0101960E94A6188EE1FE01319692 -:1044E000A0EEB5E001900D928A95E1F788E1809306 -:1044F0000705809108058F3F59F4109265031092CB -:1045000064031092AE031092D0030E94F61E4EC0B8 -:1045100061E00E941F1061E0809108050E944F1029 -:1045200080910B058F3F09F034C01FB7F89480913C -:10453000ED06811127C0E7E1F2E08491EAEEF1E0B7 -:104540009491E82FF0E0EE0FFF1FEA5DFD4FA5917B -:10455000B491EC91E92321F461E081E10E941F1004 -:1045600061E081E10E944F108CB580618CBD8CB5FB -:1045700080648CBD61E08FE00E944F1061E080E1BB -:104580000E944F108091ED068F5F8093ED061FBF54 -:104590000DC061E00E944F1061E0809109050E940A -:1045A0004F1060E080910A050E944F106FE08EEE80 -:1045B00094E00E94C51A833339F547E060E28EEE3D -:1045C00094E00E94721C60E28EEE94E00E94C51A94 -:1045D0008F70482F406760E28EEE94E00E94721C5C -:1045E00048E863E28EEE94E00E94721C40E162E2D1 -:1045F0008EEE94E00E94721C40E86FE18EEE94E033 -:104600000E94721C81E001C080E06E960FB6F894A3 -:10461000DEBF0FBECDBFDF91CF911F910F910895E7 -:10462000A0912104B0912204ED91FC911197019089 -:10463000F081E02D682FCD010994FC018091E00606 -:10464000811103C08FEF9FEF08959FB7F89482E028 -:104650008093E9002091F20030E01216130614F462 -:1046600021E030E02115310551F084E68093DF062A -:104670008091F10080838091F200882319F09FBF20 -:10468000C90108958BE68093E800F9CF8091E50693 -:1046900081110DC082E08093E10684E08093E20600 -:1046A0001092E4061092E30681E08093E50681EE25 -:1046B00096E00895789484B5826084BD84B5816065 -:1046C00084BD85B5826085BD85B5816085BD8091DD -:1046D0006E00816080936E00109281008091810055 -:1046E000826080938100809181008160809381004D -:1046F0008091800081608093800080919100826031 -:1047000080939100809191008160809391008091CD -:1047100090008160809390008091C10084608093BC -:10472000C1008091C10082608093C1008091C1006E -:1047300081608093C1008091C30081608093C30039 -:104740008091C00082608093C0008091C20081602F -:104750008093C20080917A00846080937A00809177 -:104760007A00826080937A0080917A008E7F8093B5 -:104770007A0080917A00806880937A001092E00637 -:1047800010920303109202038091D70081608093FE -:10479000D70080EA8093D80089B58F7E89BD89B51E -:1047A000826089BD09B400FEFDCF61E070E080E069 -:1047B00090E00E94B6108091D8008F7C8061809339 -:1047C000D8008091E000807F8093E0008091E1003C -:1047D0008E7E8093E1008DE08093E200EEEFFFE7B4 -:1047E000859194918B3F9C4D19F481E08093010356 -:1047F0000E940221811119C061E08DE00E944F10DA -:1048000060E08DE00E941F1064E670E080E090E0C0 -:104810000E94B61061E08DE00E941F1064E670E017 -:1048200080E090E00E94B610EBCF8EE180932304ED -:1048300080912404909125040E94CE2BC0912304E2 -:10484000D0E0CE0101960E94392B909325048093ED -:104850002404FC01EC0FFD1F108222E0DC012C93EC -:1048600025E011962C93AE01425051096EE472E09E -:1048700002960E94722C87E592E09093C704809381 -:10488000C6048EEA91E09093C9048093C80489E736 -:1048900091E09093CB048093CA0485E296E09093D4 -:1048A000CD048093CC0489E094E09093CF0480936E -:1048B000CE0486EB93E09093D1048093D0048FE0F4 -:1048C00097E09093D7048093D6048AE59DE1909376 -:1048D000D3048093D2048FEF9FEF9093DE038093F5 -:1048E000DD0381ED93E09093220480932104809175 -:1048F000D804811150C061E08DE00E944F1062ED3C -:1049000070E080E090E00E94B61061E08DE00E94CF -:104910001F1068E270E080E090E00E94B61060E056 -:104920008DE00E941F1062ED70E080E090E00E9438 -:10493000B61061E08DE00E941F1068E270E080E038 -:1049400090E00E94B61060E08DE00E941F106AEFB8 -:1049500070E080E090E00E94B610C0E062ED70E090 -:1049600080E090E00E94B61061E08DE00E941F1090 -:1049700068E270E080E090E00E94B61060E08DE0B8 -:104980000E941F10CF5FC53049F76DE770E080E0EF -:1049900090E00E94B6100E94DE20809123048111D5 -:1049A0000E949A208FE78093310380933B0380938A -:1049B0003A038093390380934C0380934A031AE0AF -:1049C00009E1C4EFD1E0F09007016AE070E080E017 -:1049D00090E00E94B610F1108FC060E08DE00E9460 -:1049E0001F1085E10E94F60F20914E03892B81F064 -:1049F0002F5F20934E032B30E1F410924E0389ED8C -:104A000094E00E94331989ED94E00E94CE1911C000 -:104A100021110AC010934E0389ED94E00E943319CE -:104A200089ED94E00E94CE1980914E0381508093CD -:104A30004E0380914E03809F402D112440954535B3 -:104A400050F4942F990F490F942F909550E060E007 -:104A500070E0692B19C04A3A50F44555942F990FCC -:104A6000940F492F409550E060E070E00CC04A5A26 -:104A7000942F990F490F942F909550E060E070E0CB -:104A8000BA0155274427592BE82EF12C8091DB04DD -:104A90009091DC04E816F90618F4C7010E9416127A -:104AA00089ED94E00E94CE1984E00E94F60F892BD4 -:104AB00081F0C701019644E650E060E070E0FC013F -:104AC000EC9FC001ED9F900DFC9F900D11240E9462 -:104AD000F11483E10E94F60F892B11F06CE301C001 -:104AE00064E189ED94E00E943C1964E670E080E0A6 -:104AF00090E00E94B61067CF0E945A1D00E010E0BF -:104B0000FF24F39432E0E32E80910803882309F414 -:104B100048C0D0910403D0FFF3C280E00E94F60F9A -:104B2000892B09F4EDC2C1E0D1FF06C081E00E94EB -:104B3000F60F892B09F0E6C2D2FF06C082E00E9480 -:104B4000F60F892B09F0E0C2D3FF06C083E00E9474 -:104B5000F60F892B09F0DAC2D4FF06C084E00E9468 -:104B6000F60F892B09F0D4C2D5FF06C085E00E945C -:104B7000F60F892B09F0CEC2D6FF06C086E00E9450 -:104B8000F60F892B09F0C8C2D7FF06C087E00E9444 -:104B9000F60F892B09F0C2C240E06C2F80E00E9422 -:104BA000E00580910903882309F448C0D0910503EA -:104BB000D0FFB6C288E00E94F60F892B09F4B0C27C -:104BC000C1E0D1FF06C089E00E94F60F892B09F0F1 -:104BD000A9C2D2FF06C08AE00E94F60F892B09F015 -:104BE000A3C2D3FF06C08BE00E94F60F892B09F009 -:104BF0009DC2D4FF06C08CE00E94F60F892B09F0FD -:104C000097C2D5FF06C08DE00E94F60F892B09F0F0 -:104C100091C2D6FF06C08EE00E94F60F892B09F0E4 -:104C20008BC2D7FF06C08FE00E94F60F892B09F0D8 -:104C300085C240E06C2F81E00E94E00580910A036C -:104C4000882309F448C0D0910603D0FF79C280E1DF -:104C50000E94F60F892B09F473C2C1E0D1FF06C090 -:104C600081E10E94F60F892B09F06CC2D2FF06C0C9 -:104C700082E10E94F60F892B09F066C2D3FF06C0BD -:104C800083E10E94F60F892B09F060C2D4FF06C0B1 -:104C900084E10E94F60F892B09F05AC2D5FF06C0A5 -:104CA00085E10E94F60F892B09F054C2D6FF06C099 -:104CB00086E10E94F60F892B09F04EC2D7FF06C08D -:104CC00087E10E94F60F892B09F048C240E06C2F63 -:104CD00082E00E94E00580910B03882309F448C01C -:104CE000D0910703D0FF3CC288E10E94F60F892BC8 -:104CF00009F436C2C1E0D1FF06C089E10E94F60F77 -:104D0000892B09F02FC2D2FF06C08AE10E94F60F5C -:104D1000892B09F029C2D3FF06C08BE10E94F60F50 -:104D2000892B09F023C2D4FF06C08CE10E94F60F44 -:104D3000892B09F01DC2D5FF06C08DE10E94F60F38 -:104D4000892B09F017C240E06C2F83E00E94E00538 -:104D50000FC08091210490912204DC01ED91FC911F -:104D60000680F781E02D09958F3FBFEF9B0771F417 -:104D70008091210490912204DC01ED91FC9104804A -:104D8000F581E02D0995892B21F722C1382F20913B -:104D90006904222309F46BC0873F09F059C01092BF -:104DA000690480912904813751F0893709F042C0A4 -:104DB000809123048823E1F20E949A20D9CFE091C8 -:104DC000D404F091D504309799F280916A049091BF -:104DD0006B04DC011197B7FDDC015D01B594A7946C -:104DE0006A2DC9E2D4E020E030E090E02E5F3F4F32 -:104DF000961788F4A9014F5D5B4FDA0117968C91E5 -:104E00001797888318964C91B0E84B9F801911240E -:104E100089939F5FEBCFD501BB27AF5DBB4F179643 -:104E20008C911797882311F018961C9289E294E0D0 -:104E300009959ECFE091D604F091D704309709F4FC -:104E400097CF60916A0461504AE254E0099590CF8F -:104E500020916A0430916B04F901EF5DFB4F80876C -:104E60002F5F3F4F30936B0420936A0481CF2091D2 -:104E70002604222309F469C087FD67C09FEF920FC3 -:104E800090932604E92FF0E0EF5DFB4F80879111AE -:104E90006FCF80912704882309F46ACF803D09F4FD -:104EA00045C050F4803901F1803C09F04BC0E091DD -:104EB000CA04F091CB043EC0843F39F1853F51F1E3 -:104EC000803E09F03FC0E091C604F091C7043097DE -:104ED000C9F18091290460912A0470E020E8829F42 -:104EE000600D711D11242BC0E091C804F091C9041C -:104EF000309741F18091290460912A0470E030E8F4 -:104F0000839F600D711D11241AC0E091CE04F091B1 -:104F1000CF0404C0E091D004F091D104309791F017 -:104F20006091290470E080912A040BC0E091CC04C8 -:104F3000F091CD04309731F06091290470E08091B8 -:104F4000280409951092270413CF303F38F4282FF6 -:104F5000207F30E08F708093280402C09C013327AB -:104F6000203F310559F17CF4203C310511F124F446 -:104F700020393105D9F0FCCE203D3105D1F0203E5D -:104F80003105A1F0F5CE293F3105F9F034F4C9011E -:104F9000845F9109029750F0EBCE2F3F310509F065 -:104FA000E7CE81E294E00E941819E2CEE092260456 -:104FB00002C0F092260420932704DACEF09269040E -:104FC00010926B0410926A04D3CE0E94DE20D0CEE1 -:104FD0000E945018609353037093540380935503B9 -:104FE0009093560340904F035090500360905103AC -:104FF000709052034091190150911A019A0140E0BA -:1050000050E04B015C0184189508A608B7082815E4 -:1050100039054A055B0538F00115110509F474CD11 -:105020000E94000071CDDA01C901840D951DA61DF5 -:10503000B71D80934F0390935003A0935103B093F7 -:10504000520390E3A92E93E0B92EC0E0DEEEDC0F10 -:10505000DC30B8F4F5018081823099F480912E0320 -:1050600090912F030D2E02C0959587950A94E2F733 -:1050700080FF07C08D2F0E948B10BC018D2F0E94D6 -:10508000A211CF5FFFEFAF1ABF0ACE31F9F68091C0 -:10509000180187FF07C080910D038823E1F00E946B -:1050A000870519C0C0E0EC2FF0E080911801082EB0 -:1050B000000C990B8E179F0774F3EE0FFF1FEE0F76 -:1050C000FF1FE25FFC4F61817281438180810E94FA -:1050D000A106CF5FE8CF80910C0381110E94A0054B -:1050E000C0E0D0E0FE01E85FFE4F8081882319F028 -:1050F00081810E943E052296C031D10599F78CCF5F -:10510000C0E012CDC26018CDC4601ECDC86024CDF1 -:10511000C0612ACDC06230CDC06436CDC0683CCD00 -:10512000C0E04FCDC26055CDC4605BCDC86061CDDD -:10513000C06167CDC0626DCDC06473CDC06879CDEC -:10514000C0E08CCDC26092CDC46098CDC8609ECDC9 -:10515000C061A4CDC062AACDC064B0CDC068B6CDD8 -:10516000C0E0C9CDC260CFCDC460D5CDC860DBCDB5 -:10517000C061E1CDC062E7CDCF93DF931092D4033D -:105180001092D30388EE93E0A0E0B0E08093D503C3 -:105190009093D603A093D703B093D80385E391E00F -:1051A0009093D2038093D1038FEF9FEF9093DE0310 -:1051B0008093DD031092230410922504109224049E -:1051C00081E294E00E94181991E09093D904109222 -:1051D000DA041092DC041092DB041092DE041092C8 -:1051E000DD048FEF8093DF041092E0041092E2045C -:1051F0001092E1049093E3041092E40422E02093DF -:10520000E5049093E6041092E7041092E8041092EB -:10521000E9041092EA0425E431E03093EF0420938E -:10522000EE044FEF5FEFBA0140930305509304057E -:105230006093050570930605809308058093090522 -:1052400080930A0580930B0510920D05C0E0D0E015 -:1052500040E060E0CE01825F9A4F0E94A6186E96F1 -:10526000C03FD105A9F7109201061092000688EE02 -:1052700093E0A0E0B0E08093020690930306A09331 -:105280000406B093050681E691E09093FF058093B4 -:10529000FE0580912E06AFE2B6E09FEF4CED55E0A3 -:1052A0008C3078F48C93282F30E0F901EE0FFF1F3B -:1052B0002E0F3F1FF901E65FF94F528341838F5F45 -:1052C00001C09C93139626E0A335B20749F780935B -:1052D0002E06DF91CF91089589ED94E00C94B11AD8 -:1052E000991B79E004C0991F961708F0961B881F38 -:1052F0007A95C9F780950895AA1BBB1B51E107C099 -:10530000AA1FBB1FA617B70710F0A61BB70B881F55 -:10531000991F5A95A9F780959095BC01CD010895E4 -:10532000EE0FFF1F0590F491E02D09940E94AA2929 -:105330000C94922A0E948B2A58F00E94842A40F0F2 -:1053400029F45F3F29F00C947B2A51110C94C62A52 -:105350000C94812A0E94A32A68F39923B1F3552360 -:1053600091F3951B550BBB27AA2762177307840778 -:1053700038F09F5F5F4F220F331F441FAA1FA9F30E -:1053800035D00E2E3AF0E0E832D091505040E695FC -:10539000001CCAF72BD0FE2F29D0660F771F881F5D -:1053A000BB1F261737074807AB07B0E809F0BB0B50 -:1053B000802DBF01FF2793585F4F3AF09E3F510564 -:1053C00078F00C947B2A0C94C62A5F3FE4F3983E55 -:1053D000D4F3869577956795B795F7959F5FC9F74D -:1053E000880F911D9695879597F90895E1E0660FCE -:1053F000771F881FBB1F621773078407BA0720F047 -:10540000621B730B840BBA0BEE1F88F7E0950895AF -:105410000E940F2A6894B1110C94C62A08950E9424 -:10542000AB2A88F09F5798F0B92F9927B751B0F061 -:10543000E1F0660F771F881F991F1AF0BA95C9F718 -:1054400014C0B13091F00E94C52AB1E008950C94C7 -:10545000C52A672F782F8827B85F39F0B93FCCF37A -:10546000869577956795B395D9F73EF49095809595 -:10547000709561957F4F8F4F9F4F0895E89409C0B5 -:1054800097FB3EF490958095709561957F4F8F4F77 -:105490009F4F9923A9F0F92F96E9BB279395F6958D -:1054A000879577956795B795F111F8CFFAF4BB0F0B -:1054B00011F460FF1BC06F5F7F4F8F4F9F4F16C06F -:1054C000882311F096E911C0772321F09EE8872FF9 -:1054D000762F05C0662371F096E8862F70E060E0B5 -:1054E0002AF09A95660F771F881FDAF7880F96952E -:1054F000879597F9089597F99F6780E870E060E0D5 -:1055000008959FEF80EC089500240A94161617065C -:1055100018060906089500240A94121613061406A4 -:1055200005060895092E0394000C11F4882352F007 -:10553000BB0F40F4BF2B11F460FF04C06F5F7F4FBF -:105540008F4F9F4F089557FD9058440F551F59F0A6 -:105550005F3F71F04795880F97FB991F61F09F3F60 -:1055600079F087950895121613061406551FF2CF89 -:105570004695F1DF08C0161617061806991FF1CFD9 -:1055800086957105610508940895E894BB27662700 -:105590007727CB0197F908950E94DF2A0C94922A6D -:1055A0000E94842A38F00E948B2A20F0952311F063 -:1055B0000C947B2A0C94812A11240C94C62A0E94F4 -:1055C000A32A70F3959FC1F3950F50E0551F629F7A -:1055D000F001729FBB27F00DB11D639FAA27F00D4C -:1055E000B11DAA1F649F6627B00DA11D661F829F73 -:1055F0002227B00DA11D621F739FB00DA11D621F58 -:10560000839FA00D611D221F749F3327A00D611D74 -:10561000231F849F600D211D822F762F6A2F112456 -:105620009F5750409AF0F1F088234AF0EE0FFF1F89 -:10563000BB1F661F771F881F91505040A9F79E3FE0 -:10564000510580F00C947B2A0C94C62A5F3FE4F34A -:10565000983ED4F3869577956795B795F795E79536 -:105660009F5FC1F7FE2B880F911D9695879597F93F -:105670000895CF93DF938230910510F482E090E09B -:10568000E091F006F091F10620E030E0C0E0D0E0DB -:10569000309711F14081518148175907C0F04817E0 -:1056A000590761F482819381209719F09B838A8343 -:1056B0002BC09093F1068093F00626C0211531058A -:1056C00019F04217530718F49A01BE01DF01EF01E8 -:1056D0000280F381E02DDCCF2115310509F1281B73 -:1056E000390B2430310590F412968D919C911397CB -:1056F0006115710521F0FB019383828304C09093AF -:10570000F1068093F006FD01329644C0FD01E20FE0 -:10571000F31F81939193225031092D933C933AC00A -:105720002091EE063091EF06232B41F420912201C7 -:10573000309123013093EF062093EE062091200153 -:10574000309121012115310541F42DB73EB740912B -:10575000240150912501241B350BE091EE06F091B8 -:10576000EF06E217F307A0F42E1B3F0B28173907AB -:1057700078F0AC014E5F5F4F2417350748F04E0FAD -:105780005F1F5093EF064093EE068193919302C002 -:10579000E0E0F0E0CF01DF91CF9108950F931F93E8 -:1057A000CF93DF93009709F48CC0FC0132971382EA -:1057B00012820091F0061091F1060115110581F495 -:1057C00020813181820F931F2091EE063091EF06E8 -:1057D0002817390779F5F093EF06E093EE0671C0CC -:1057E000D80140E050E0AE17BF0750F412962D915B -:1057F0003C911397AD012115310509F1D901F3CF82 -:105800009D01DA013383228360817181860F971FA6 -:105810008217930769F4EC0128813981260F371F1D -:105820002E5F3F4F318320838A819B8193838283C4 -:10583000452B29F4F093F106E093F00642C013964D -:10584000FC93EE931297ED01499159919E01240F1B -:10585000351FE217F30771F480819181840F951F42 -:10586000029611969C938E938281938113969C93BA -:105870008E931297E0E0F0E0D80112968D919C9102 -:105880001397009719F0F8018C01F6CF8D919C9138 -:1058900098012E5F3F4F820F931F2091EE063091AB -:1058A000EF062817390769F4309729F41092F106AA -:1058B0001092F00602C0138212821093EF0600933A -:1058C000EE06DF91CF911F910F91089581E090E056 -:1058D000F8940C94E42CDC0101C06D9341505040CD -:1058E000E0F70895FB01DC014150504048F0019081 -:1058F0000D920020C9F701C01D9241505040E0F7C1 -:105900000895052E97FB1EF400940E94982C57FDD5 -:1059100007D00E94B32C07FC03D04EF40C94982CB3 -:1059200050954095309521953F4F4F4F5F4F0895CB -:1059300090958095709561957F4F8F4F9F4F0895FB -:105940000E94D52CA59F900DB49F900DA49F800D13 -:10595000911D11240895B7FF0C94A02C0E94A02C37 -:10596000821B930B0895A1E21A2EAA1BBB1BFD01FB -:105970000DC0AA1FBB1FEE1FFF1FA217B307E4072E -:10598000F50720F0A21BB30BE40BF50B661F771F86 -:10599000881F991F1A9469F7609570958095909566 -:1059A0009B01AC01BD01CF010895A29FB001B39F3F -:1059B000C001A39F700D811D1124911DB29F700D18 -:1059C000811D1124911D089511E0CBE1D1E004C0A7 -:1059D000FE010E9490292196CC31D107C9F7F89495 -:0259E000FFCFF7 -:1059E20000E10000000000000000000100020003CE -:1059F20000060009000A000CFF1300FFFFFFFFFF73 -:105A02000000F20680000100000000C18081000059 -:105A12000000000000EB0BF0100C0CBB0C970C010B -:105A22000C00000000CA1D581DBB1C0E1BEE170007 -:105A320000000000000000BB1C630C630C000000AF -:105A4200002F1DF21CEA1CD61CC71CC61C4D617817 -:105A520020736572766F7320617474616368656424 -:105A620000556E6B6E6F776E2070696E206D6F647D -:105A720065004932433A20546F6F206D616E792080 -:105A8200627974657320726563656976656400493D -:105A920032433A20546F6F206665772062797465CD -:105AA200732072656365697665640031302D6269C1 -:105AB200742061646472657373696E67206E6F74BB -:105AC20020737570706F7274656400746F6F206DEF -:105AD200616E792071756572696573002F55736502 -:105AE20072732F6E6F6F706B61742F446F776E6C71 -:105AF2006F6164732F43697263756974506C617965 -:105B020067726F756E644669726D6174612D6D6145 -:105B1200737465722F43697263756974506C61792D -:105B220067726F756E644669726D6174612F436945 -:105B32007263756974506C617967726F756E6446D1 -:105B420069726D6174612E696E6F004C4953334402 -:025B5200480009 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove168/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove168/Blink.cpp.hex deleted file mode 100644 index fe14c63f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove168/Blink.cpp.hex +++ /dev/null @@ -1,70 +0,0 @@ -:100000000C9461000C947E000C947E000C947E0095 -:100010000C947E000C947E000C947E000C947E0068 -:100020000C947E000C947E000C947E000C947E0058 -:100030000C947E000C947E000C947E000C947E0048 -:100040000C949D000C947E000C947E000C947E0019 -:100050000C947E000C947E000C947E000C947E0028 -:100060000C947E000C947E00000000002400270009 -:100070002A0000000000250028002B0000000000DE -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000007000201000003040600000000000029 -:1000C000000011241FBECFEFD4E0DEBFCDBF11E092 -:1000D000A0E0B1E0EAE3F4E002C005900D92A230A6 -:1000E000B107D9F711E0A2E0B1E001C01D92AB3039 -:1000F000B107E1F70E940C020C941B020C94000063 -:100100008091000161E00E94B80168EE73E080E038 -:1001100090E00E94E5008091000160E00E94B8013B -:1001200068EE73E080E090E00E94E5000895809121 -:10013000000161E00E94790108951F920F920FB6AD -:100140000F9211242F933F938F939F93AF93BF935D -:100150008091060190910701A0910801B0910901D9 -:1001600030910A010196A11DB11D232F2D5F2D375E -:1001700020F02D570196A11DB11D20930A018093F7 -:10018000060190930701A0930801B09309018091A3 -:10019000020190910301A0910401B0910501019623 -:1001A000A11DB11D8093020190930301A09304014E -:1001B000B0930501BF91AF919F918F913F912F9186 -:1001C0000F900FBE0F901F9018959B01AC017FB749 -:1001D000F8948091020190910301A0910401B091E3 -:1001E000050166B5A89B05C06F3F19F00196A11DDA -:1001F000B11D7FBFBA2FA92F982F8827860F911D79 -:10020000A11DB11D62E0880F991FAA1FBB1F6A952F -:10021000D1F7BC012DC0FFB7F894809102019091F5 -:100220000301A0910401B0910501E6B5A89B05C0AA -:10023000EF3F19F00196A11DB11DFFBFBA2FA92FE5 -:10024000982F88278E0F911DA11DB11DE2E0880F08 -:10025000991FAA1FBB1FEA95D1F7861B970B885ED3 -:100260009340C8F2215030404040504068517C4F8C -:10027000211531054105510571F60895789484B52D -:10028000826084BD84B5816084BD85B5826085BD92 -:1002900085B5816085BDEEE6F0E080818160808378 -:1002A000E1E8F0E01082808182608083808181605B -:1002B0008083E0E8F0E0808181608083E1EBF0E022 -:1002C000808184608083E0EBF0E0808181608083C6 -:1002D000EAE7F0E0808184608083808182608083AF -:1002E0008081816080838081806880831092C100DA -:1002F0000895CF93DF93482F50E0CA0186569F4F51 -:10030000FC0134914A575F4FFA018491882369F1C7 -:1003100090E0880F991FFC01E859FF4FA591B49117 -:10032000FC01EE58FF4FC591D491662351F42FB7CD -:10033000F8948C91932F909589238C9388818923AD -:100340000BC0623061F42FB7F8948C91932F909585 -:1003500089238C938881832B88832FBF06C09FB706 -:10036000F8948C91832B8C939FBFDF91CF9108954C -:10037000482F50E0CA0182559F4FFC012491CA01C9 -:1003800086569F4FFC0194914A575F4FFA01349172 -:10039000332309F440C0222351F1233071F024307B -:1003A00028F42130A1F0223011F514C02630B1F02C -:1003B0002730C1F02430D9F404C0809180008F77B9 -:1003C00003C0809180008F7D8093800010C084B531 -:1003D0008F7702C084B58F7D84BD09C08091B00045 -:1003E0008F7703C08091B0008F7D8093B000E32FA2 -:1003F000F0E0EE0FFF1FEE58FF4FA591B4912FB71D -:10040000F894662321F48C919095892302C08C91F5 -:10041000892B8C932FBF0895CF93DF930E943E01C9 -:100420000E949700C0E0D0E00E9480002097E1F396 -:0A0430000E940000F9CFF894FFCFFE -:02043A000D00B3 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove168/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove168/StandardFirmata.cpp.hex deleted file mode 100644 index c1a11d0e..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove168/StandardFirmata.cpp.hex +++ /dev/null @@ -1,747 +0,0 @@ -:100000000C9465000C948D000C948D000C948D0064 -:100010000C948D000C948D000C948D000C948D002C -:100020000C948D000C948D000C948D000C94C908D8 -:100030000C948D000C948D000C948D000C948D000C -:100040000C94A8110C948D000C94B2130C94001411 -:100050000C948D000C948D000C948D000C948D00EC -:100060000C94250B0C948D00000000002400270048 -:100070002A0000000000250028002B0000000000DE -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000007000201000003040600000000000029 -:1000C00000007401C1095D0E6C1511241FBECFEF35 -:1000D000D4E0DEBFCDBF11E0A0E0B1E0E6EBFDE291 -:1000E00002C005900D92A03EB107D9F714E0A0EE32 -:1000F000B1E001C01D92A636B107E1F710E0CAECED -:10010000D0E004C02297FE010E94D516C23CD10760 -:10011000C9F70E94C2150C94D9160C940000FB017B -:10012000DC014150504048F001900D920020C9F789 -:1001300001C01D9241505040E0F70895FC0181E05C -:1001400090E00190061609F4CF010020D1F7019745 -:100150000895FB0151915523A9F0BF01DC014D9198 -:1001600045174111E1F759F4CD010190002049F004 -:100170004D9140154111C9F3FB014111EFCF81E0D1 -:1001800090E0019708950F931F93CF93DF93B82FBB -:10019000833008F075C090E00196A82FAA0FAA0F2F -:1001A000AA0F0197A53108F0A4E1482F440F440F8E -:1001B000440F71E050E0C62FD0E001E010E01EC017 -:1001C000842F82508231C0F4242F30E0F901E851AD -:1001D000FE4F8081823080F4572BF901EE0FFF1F14 -:1001E000E150FE4F11821082872F90E08C239D23D7 -:1001F000892B11F011830083770F4F5F4A1700F3AB -:10020000BB2361F4852F8C7FF8942BB1982F9095A8 -:1002100092238623982B9BB9789432C0B13009F58C -:10022000F89495B1852F8F7380958923962F9F73AE -:100230009523892B85B948B1252F30E0862F90E092 -:100240002823392386E0359527958A95E1F752953D -:1002500056955695537050955423522B58B978940F -:100260000FC0852F8F70F89428B1982F990F990F90 -:10027000909592238623880F880F982B98B97894AD -:10028000DF91CF911F910F910895482F863018F577 -:100290002091E0013091E101672B81F481E090E051 -:1002A00002C0880F991F4A95E2F780959095282300 -:1002B00039233093E1012093E001089581E090E03B -:1002C00002C0880F991F4A95E2F7282B392B3093EB -:1002D000E1012093E0010895833028F4E82FF0E055 -:1002E000EE51FE4F60830895CF93DF93CAE6D2E0CC -:1002F000CE010E944007239682E0CE38D807C1F78E -:10030000DF91CF9108950F931F93CF93DF938B01CC -:10031000843178F5C82FD0E0FE01E851FE4FE0812E -:10032000E33091F0E43029F582508C30E0F49E0106 -:1003300022503040C901880F991F820F931F8659A0 -:100340009D4F0E94DB070FC0833051F0853041F094 -:10035000863031F0893021F08A3011F08B3019F479 -:10036000B8010E94BE12CC0FDD1FC150DE4F1983B1 -:100370000883DF91CF911F910F910895AF92BF92A3 -:10038000DF92EF92FF920F931F93DF93CF930F9221 -:10039000CDB7DEB7D82E7B01082F10E0F801E85169 -:1003A000FE4F8081863061F480916702882341F09E -:1003B0006630710529F0109267028FEF8093B801C3 -:1003C0009D2D925099839C30B8F4E4E0EE16F10430 -:1003D00099F0C80102975C01AA0CBB1CA80EB91EBB -:1003E0008AE692E0A80EB91EC5010E94C9078823BB -:1003F00019F0C5010E945A074D2D4E504630B8F4F1 -:100400002091E0013091E10192E0E916F10409F058 -:10041000E0C081E090E0042E02C0880F991F0A948A -:10042000E2F7282B392B3093E1012093E001E98199 -:10043000E23130F5ED2DE695E695E69598012770C9 -:100440003070E114F10471F4F0E0E450FE4F81E00B -:1004500090E002C0880F991F2A95E2F72081282B8F -:1004600020830EC0F0E0E450FE4F81E090E002C037 -:10047000880F991F2A95E2F7809520818223808337 -:10048000F801EE0FFF1FE150FE4F11821082F2E0E3 -:10049000EF16F104E1F083E0E816F1044CF4E11406 -:1004A000F10439F191E0E916F10409F08BC032C092 -:1004B000E4E0EE16F10409F45DC0F4E0EF16F10497 -:1004C000CCF186E0E816F10409F07CC070C046303B -:1004D00008F08CC09981923140F48D2D60E00E942B -:1004E0001E138D2D60E00E945D1308511E4F82E0A7 -:1004F00066C0F981F23108F079C08D2D60E00E946C -:100500001E138D2D60E00E945D1308511E4FF801EF -:1005100010826CC0F981F23108F068C08D2D60E066 -:100520000E945D138D2D61E00E941E1308511E4F25 -:1005300081E045C0F3E0DF1681F085E0D81669F070 -:1005400096E0D91651F0E9E0DE1639F0FAE0DF1650 -:1005500021F08BE0D81609F049C08D2D61E00E9492 -:100560001E138D2D60E070E00E94BE1208511E4FD8 -:1005700083E025C0F981FC30C8F5F801E851FE4F51 -:1005800084E08083C80102977C01EE0CFF1CE80E1A -:10059000F91E8AE692E0E80EF91EC7010E94C9071B -:1005A000882321F5C701B8010E94C2081FC09EEE32 -:1005B000D90EE1E0ED15D0F008511E4F86E0F801AC -:1005C000808314C084E793E060E071E00E94E60E4F -:1005D0000DC081E090E0042E02C0880F991F0A949C -:1005E000E2F780959095282339231DCF0F90CF9166 -:1005F000DF911F910F91FF90EF90DF90BF90AF9030 -:1006000008951F9380916702882329F01092670252 -:100610008FEF8093B8011092E2011092FC011092CA -:10062000E5011092E3011092FD011092E601109293 -:10063000E4011092FE011092E70110E0812F8E502C -:10064000863020F4812F62E070E003C0812F61E0EA -:1006500070E00E94BE011F5F143181F71092E1012A -:100660001092E0011F9108950F931F9304E713E088 -:10067000C80161E171E042E023E00E94E10FC8019E -:1006800060EE43E851E00E94170EC80160E943ECB8 -:1006900050E00E94170EC80160EC45E451E00E9452 -:1006A000170EC80160ED4CE651E00E94170EC8011C -:1006B00064EF4EEB51E00E94170EC80160EF4EED63 -:1006C00054E00E943B0EC8016FEF41E053E00E94EE -:1006D000350EC80140E051EE60E070E00E94561017 -:1006E0000E9401031F910F9108951F9310E0812F25 -:1006F0008251823028F4812F66E070E00E94BE01B2 -:100700001F5F1431A1F781E0809367028AEF92E0C6 -:100710000E94610A1F9108951F93CF93DF93282FA2 -:10072000162FC82FD0E0FE01E450FE4F8081182321 -:10073000442331F4FE01EB51FE4F8081811751F0CB -:1007400084E793E0622F412F50E00E94A60DCB5129 -:10075000DE4F1883DF91CF911F9108958091E201C0 -:10076000882349F069B18091FC0168236C7F80E0A7 -:1007700040E00E948C038091E301882379F083B1EB -:1007800066B16295660F660F607C8F73682B8091EF -:10079000FD01682381E040E00E948C038091E40128 -:1007A000882379F086B190E08C7390709595879549 -:1007B000959587956091FE01682382E040E00E9454 -:1007C0008C030895EF92FF920F931F93CF93DF93C3 -:1007D000F82EEB01E42E8FEF6F3F780719F4C0E09D -:1007E000D0E016C08AEF92E06F2D0E9487098AEF51 -:1007F00092E06C2F0E94090A8AEF92E00E944C0A54 -:100800008091680290916902009711F00E9457123E -:100810008AEF92E06F2D4E2D0E945D0A0E2D10E0A2 -:100820008AEF92E00E9491090817190791F4F0925B -:100830004702C0934802C9E4D2E00C0F1D1F05C057 -:100840008AEF92E00E949A098993C017D107C1F7F5 -:1008500012C08AEF92E00E949109801791072CF450 -:1008600084E793E065E271E004C084E793E06DE41F -:1008700071E00E94E60E82E0E80E84E793E067E70D -:100880004E2D27E432E00E94D80DDF91CF911F91C9 -:100890000F91FF90EF900895AF92BF92CF92DF92A9 -:1008A000EF92FF920F931F93CF93DF930E94AE03BB -:1008B00004C084E793E00E94320F84E793E00E9433 -:1008C0007F0D892BB1F70E94F0116093270270937E -:1008D00028028093290290932A02A0902B02B090C4 -:1008E0002C02C0902D02D0902E022091B6013091A2 -:1008F000B70179010027F7FC0095102F6A197B09D1 -:100900008C099D09E616F7060807190708F04BC081 -:10091000EA0CFB1C0C1D1D1DE0922B02F0922C0218 -:1009200000932D0210932E02C8EED1E012EF163084 -:10093000C0F488818230A9F48091E0019091E101B6 -:10094000012E02C0959587950A94E2F780FF09C0B1 -:10095000812F0E949C12AC0184E793E0612F0E94DA -:100960008B0D1F5F2196163011F78091B80187FD1E -:100970001AC010E00EC0F901EE0FFF1FE20FF31FC7 -:10098000E15DFD4F6181808170E042810E94E20360 -:100990001F5F212F30E08091B801992787FD909546 -:1009A0008217930744F7DF91CF911F910F91FF902A -:1009B000EF90DF90CF90BF90AF900895BF92CF920D -:1009C000DF92EF92FF920F931F93CF93DF93162F37 -:1009D000EA018F3609F44FC1803750F48B3609F4A1 -:1009E0006AC18D3609F4D3C1893609F03FC222C2EB -:1009F000863769F0873720F4803709F037C2E4C0C2 -:100A0000883709F4C7C08A3709F030C219C1898113 -:100A100085FF05C084E793E064E771E054C0688116 -:100A20008871883059F1893018F4882341F01EC24A -:100A3000803109F440C0883109F018C264C08AEFDF -:100A400092E00E94870902E00EC0FE01E00FF11D56 -:100A500061816795662767958081680F8AEF92E0CC -:100A60000E94090A0E5F011780F38AEF92E00E944C -:100A70004C0A86E490E00E945712F8C19B818A815B -:100A8000163071F4979599279795980F4D81479552 -:100A9000442747958C81480F862F692F70E008C046 -:100AA000979599279795980F862F6FEF7FEF492F8E -:100AB0000E94E203DBC18091B80187303CF084E7FB -:100AC00093E060EA71E00E94E60ED0C18F5F8093F0 -:100AD000B801992787FD9095FC01EE0FFF1FE80FE5 -:100AE000F91FE15DFD4F60838B818795882787958E -:100AF0009A81890F81838D818795882787959C812D -:100B0000890F8283B3C15091B801151634F420E0E7 -:100B1000C52FDD27C7FDD09511C08FEF8093B80199 -:100B2000A5C1FC01EE0FFF1FE80FF91FE15DFD4FAE -:100B30006083662311F0422F24C02F5F822F90E044 -:100B4000C817D90774F740E01CC04830C8F4C90181 -:100B50000196D901AA0FBB1FA20FB31FA15DBD4F04 -:100B6000FC01EE0FFF1FE80FF91FE15DFD4F8081D3 -:100B70008C93808111968C931197828112968C931D -:100B80004F5F242F30E0C217D307FCF6515050932B -:100B9000B8016CC18981682F70E07695762F662741 -:100BA000779567958881680F711D6115710521F032 -:100BB000709369026093680280916702882309F04C -:100BC00055C10E94750352C1653008F44FC1F880C9 -:100BD000C980EA80BB80DC808F2D82508C3008F089 -:100BE00045C10F2D10E0C8010297EC01CC0FDD1FAD -:100BF000C80FD91FC659DD4FCE010E94C9078823EF -:100C000019F0CE010E945A074E2D50E05695542FF0 -:100C10004427579547954C0D511D2D2D30E03695A5 -:100C2000322F2227379527952B0D311DCE01B80184 -:100C30000E9443088F2D64E070E00E94BE0116C13F -:100C4000623008F413C1898190E09695982F882727 -:100C5000979587952881820F911D9093B701809376 -:100C6000B6010A970CF002C18AE090E09093B701B8 -:100C70008093B601FBC0623008F4F8C08981682F08 -:100C800070E01230A1F08A8190E09695982F882725 -:100C900097958795682B792B133049F02B81922FEC -:100CA0009295990F990F907C80E0682B792B888121 -:100CB0000E948301DBC084E793E060EF0E940B0E8B -:100CC00084E793E06CE60E940B0E00E01EEF16C076 -:100CD0001231A0F484E793E060E00E940B0E84E7F9 -:100CE00093E061E00E940B0E84E793E061E00E94D4 -:100CF0000B0E84E793E061E00E940B0E802F8E5074 -:100D0000863050F484E793E062E00E940B0E84E7A3 -:100D100093E06AE00E940B0E033051F0053041F081 -:100D2000063031F0093021F00A3011F00B3051F467 -:100D300084E793E063E00E940B0E84E793E068E0B1 -:100D40000E940B0E1C3050F484E793E064E00E9494 -:100D50000B0E84E793E06EE00E940B0E802F825111 -:100D6000823050F484E793E066E00E940B0E84E743 -:100D700093E061E00E940B0E84E793E06FE70E942E -:100D80000B0E0F5F1F5F043109F0A2CF6AC066230C -:100D900009F46CC0088184E793E060EF0E940B0EB9 -:100DA00084E793E06EE60E940B0E84E793E0602FE9 -:100DB0000E940B0E043108F054C0C02FD0E0FE0199 -:100DC000E851FE4F84E793E060810E940B0E8E0194 -:100DD000000F111F01501E4FF80160816F7784E7EB -:100DE00093E00E940B0EF80160817181CB01807845 -:100DF000892B49F0660F672F661F770B6F7784E7A3 -:100E000093E00E940B0ECC0FDD1FC150DE4F2881F6 -:100E10003981C9018070907C892B19F1330F220B25 -:100E2000330F322F221F622F6F7784E793E00E94E7 -:100E30000B0E17C084E793E060EF0E940B0E84E76F -:100E400093E06AE60E940B0E02EF063010F06FE7A7 -:100E500001C0602F84E793E00E940B0E0F5F063005 -:100E6000A1F784E793E067EF0E940B0EDF91CF912B -:100E70001F910F91FF90EF90DF90CF90BF9008955A -:100E8000FC0180918E028C3090F482838F5F80937E -:100E90008E02815090E0FC01EE0FFF1FE80FF91F5A -:100EA000E157FD4F88EB9BE09283818308958FEF9C -:100EB00082830895DC0112968C91129790E0FC01D8 -:100EC000EE0FFF1FE80FF91FE157FD4F80818F7B69 -:100ED000808312968C916CE00E94631690E0AC01C6 -:100EE000440F551F480F591F440F551F440F551FDE -:100EF00020E030E0C901840F951FFC01EE0FFF1FB9 -:100F0000E80FF91FE157FD4F808186FD05C02F5F77 -:100F10003F4F2C30310571F70895FC0122812C30B0 -:100F2000B8F58081992787FD909548E850E0481BE7 -:100F3000590B440F551F440F551F6417750784F054 -:100F40008181992787FD909548E552E0481B590B10 -:100F5000440F551F440F551F641775070CF4AB0160 -:100F600042505040CA01AA2797FDA095BA2F880F7A -:100F7000991FAA1FBB1F4FB7F89430E0F901EE0F7D -:100F8000FF1FE20FF31FE157FD4F928381834FBF95 -:100F90000895FC01828190E0FC01EE0FFF1FE80F35 -:100FA000F91FE157FD4F8081829586958695817066 -:100FB00009F081E00895AF92BF92CF92DF92EF9255 -:100FC000FF920F931F93CF93DF93EC019B0182E07D -:100FD000603278070CF048C077FF03C020E030E0B3 -:100FE00005C0653B710514F024EB30E000D000D063 -:100FF000B901882777FD8095982F2881332727FD11 -:101000003095E8E8AE2EB12CA21AB30AAA0CBB1C8C -:10101000AA0CBB1CCC24B7FCC094DC2CE981FF27B4 -:10102000E7FDF09528E532E02E1B3F0B220F331F22 -:10103000220F331F442737FD4095542FEDB7FEB7DD -:10104000218332834383548320E030E040E050E04A -:1010500004EBE02EF12C012D112D0E94FB159B01BC -:101060000F900F900F900F90CE01B9010E948D0745 -:10107000DF91CF911F910F91FF90EF90DF90CF9074 -:10108000BF90AF900895CF92DF92EF92FF921F939F -:10109000CF93DF93EC01162F7A0169018A818C309E -:1010A00008F064C0862F61E00E941E138A8190E0E0 -:1010B000FC01EE0FFF1FE80FF91FE157FD4F1F73F3 -:1010C0008081807C812B808380E292E08E199F0951 -:1010D00064E070E00E946F16688380E699E08C19E6 -:1010E0009D0964E070E00E946F166983AA818A2FCF -:1010F0006CE00E946316682F70E0AB01440F551F2F -:10110000460F571F440F551F440F551F20E030E076 -:10111000C901840F951FFC01EE0FFF1FE80FF91F97 -:10112000E157FD4F808186FD15C02F5F3F4F2C306A -:10113000310571F724C01092800082E08093810015 -:101140001092850010928400B19A80916F008260A5 -:1011500080936F008A2F90E0FC01EE0FFF1FE80FD5 -:10116000F91FE157FD4F8081806480838A81DF9180 -:10117000CF911F91FF90EF90DF90CF900895672B54 -:10118000D1F2E8CF40E252E020E639E00E94430885 -:1011900008951F920F920FB60F9211242F933F9331 -:1011A0004F935F936F937F938F939F93AF93BF936F -:1011B000EF93FF938091B30287FF05C010928500E3 -:1011C000109284002BC02091B302332727FD309565 -:1011D00080918E0290E02817390704F58091B302C0 -:1011E000992787FD9095FC01EE0FFF1FE80FF91F6F -:1011F000E157FD4F808186FF11C08091B30299278E -:1012000087FD9095FC01EE0FFF1FE80FF91FE157D6 -:10121000FD4F80818F7360E00E945D138091B30267 -:101220008F5F8093B3022091B302332727FD30955F -:1012300080918E0290E0281739070CF04EC0809103 -:10124000B3028C300CF049C02091840030918500AD -:101250008091B302992787FD9095FC01EE0FFF1F47 -:10126000E80FF91FE157FD4F81819281280F391F47 -:1012700030938900209388008091B302992787FDDD -:101280009095FC01EE0FFF1FE80FF91FE157FD4F8E -:10129000808186FF2BC08091B302992787FD9095AE -:1012A000FC01EE0FFF1FE80FF91FE157FD4F808192 -:1012B0008F7361E00E945D1319C080E49CE905C052 -:1012C000809184009091850004969093890080938A -:1012D00088008FEF8093B30209C0809184009091C1 -:1012E0008500049680549C4940F3EACFFF91EF912A -:1012F000BF91AF919F918F917F916F915F914F912E -:101300003F912F910F900FBE0F901F90189581E085 -:101310008093F9026093D6021092F7021092F802BD -:1013200008952091D50230E08091D402281B310924 -:10133000C90108954091D4028091D502481718F050 -:101340002FEF3FEF0AC0E42FF0E0EC54FD4F808117 -:10135000282F30E04F5F4093D402C9010895E091F7 -:10136000D4028091D502E81718F0EFEFFFEF06C026 -:10137000F0E0EC54FD4F8081E82FF0E0CF010895BC -:1013800008951092FD021092FC0288EE93E0A0E016 -:10139000B0E08093FE029093FF02A0930003B0930D -:1013A000010384EC91E09093FB028093FA0208958C -:1013B000CF92DF92EF92FF920F931F93CF93DF9321 -:1013C0007C016B018A018091F9028823A1F0C0E0C1 -:1013D000D0E00DC0D701ED91FC91D601AC0FBD1F3F -:1013E0000190F081E02DC7016C9109952196C017FD -:1013F000D10780F304C0CB01642F0E940A0BC801FF -:10140000DF91CF911F910F91FF90EF90DF90CF90E0 -:101410000895DF93CF930F92CDB7DEB7FC016983B8 -:101420008091F9028823C9F08091F802803238F067 -:1014300081E090E09383828320E030E015C08091CA -:10144000F702E82FF0E0E952FD4F998190838F5F1A -:101450008093F7028093F80205C0CE01019661E007 -:101460000E940A0B21E030E0C9010F90CF91DF917B -:1014700008950F93062F8091D60267ED72E0409198 -:10148000F80221E00E94B50A1092F7021092F802C9 -:101490001092F9020F91089561E00E94390A0895AF -:1014A000413208F040E2862F64EB72E00E946C0A41 -:1014B0001092D4028093D502089521E00E94500A30 -:1014C00008951092D4021092D5021092F702109251 -:1014D000F8020E94B60C0895382F413210F040E017 -:1014E00042C0809106038823E1F791E090930603C0 -:1014F000209308038FEF8093730310922E034150C3 -:1015000040932F034F5F9093070380910703330F9E -:10151000832B8093070380910903813041F410925B -:101520000903809107038093BB0085EC01C085EE21 -:101530008093BC00809106038130E1F380912E03FB -:10154000841710F440912E0320E030E00AC0FB0124 -:10155000E20FF31FD901A25FBC4F8C9180832F5FF4 -:101560003F4F2417A0F3842F08950F931F93582FF4 -:10157000122F413210F081E04AC080910603882387 -:10158000E1F782E080930603009308038FEF8093D6 -:10159000730310922E0340932F03AEE0B3E0FB01E0 -:1015A00002C081918D938E2F861B8417D0F31092E9 -:1015B000070380910703550F852B809307038091C4 -:1015C0000903813041F4109209038091070380934D -:1015D000BB0085EC01C085EE8093BC00112321F097 -:1015E000809106038230E1F3809173038F3F11F401 -:1015F00080E00DC080917303803211F482E007C057 -:1016000080917303803311F084E001C083E01F9167 -:101610000F910895482F613210F081E00895809174 -:101620000603843011F082E0089560935103A0E333 -:10163000B3E0842F9C01F90102C081918D938E2F1C -:10164000841B8617D0F380E008951F920F920FB687 -:101650000F9211242F933F934F935F936F937F9338 -:101660008F939F93AF93BF93EF93FF938091B900B4 -:1016700090E0887F90708036910509F4F2C0813641 -:101680009105CCF58832910509F47BC0893291052A -:10169000B4F48031910509F46FC0813191053CF4B7 -:1016A000009709F447C1089709F04FC165C0883118 -:1016B000910509F466C0809709F047C182C0803463 -:1016C000910509F4A4C08134910544F48033910557 -:1016D00009F482C0C89709F038C189C080359105E6 -:1016E00009F489C08835910509F496C088349105BC -:1016F00009F02BC1AEC08839910509F413C18939AD -:101700009105ECF48837910509F4ABC08937910550 -:101710004CF48836910509F4A4C08037910509F08E -:1017200014C19FC08838910509F4FCC08039910527 -:1017300009F49DC08038910509F007C198C0803B2D -:10174000910509F4C6C0813B91054CF4803A91059E -:1017500009F49FC0883A910509F0F7C0BAC0803CEF -:10176000910509F4E3C0883C910509F4DFC0883B8A -:10177000910509F0EAC0C2C0809107038093BB00C5 -:10178000CFC090912E0380912F03981768F4909109 -:101790002E03E92FF0E0E25FFC4F80818093BB00D5 -:1017A0009F5F90932E03BCC080910803882309F4A7 -:1017B0004BC085ED8093BC008091BC0084FDFCCFC4 -:1017C000C2C080E28093730385ED8093BC0080915A -:1017D000BC0084FDFCCFB7C080E38093730385ED2C -:1017E0008093BC008091BC0084FDFCCFACC088E33A -:1017F000809373039BC080912E039091BB00E82FD0 -:10180000F0E0E25FFC4F90838F5F80932E03909116 -:101810002E0380912F0382C080912E039091BB00F4 -:10182000E82FF0E0E25FFC4F90838F5F80932E0300 -:1018300080910803882341F085ED8093BC0080915E -:10184000BC0084FDFCCF7FC081E08093090384EA63 -:101850006EC085ED8093BC008091BC0084FDFCCF00 -:1018600072C083E0809306031092720359C0809186 -:101870007203803208F056C0809172039091BB00D1 -:10188000E82FF0E0EE5AFC4F90838F5F8093720355 -:1018900047C080917203803230F4E0917203F0E02F -:1018A000EE5AFC4F108285ED8093BC008091BC0005 -:1018B00084FDFCCF1092060360917203E0910C034B -:1018C000F0910D0382E593E070E0099510927203A8 -:1018D0002DC084E0809306031092500310925103B0 -:1018E000E0910A03F0910B0309958091510388233D -:1018F00029F481E0809351031092300390915003BA -:10190000E92FF0E0E05DFC4F80818093BB009F5F9A -:10191000909350039091500380915103981710F4C5 -:1019200085EC01C085E88093BC000FC085EC8093F6 -:10193000BC0009C01092730385ED8093BC008091B8 -:10194000BC0084FDFCCF10920603FF91EF91BF9184 -:10195000AF919F918F917F916F915F914F913F9147 -:101960002F910F900FBE0F901F90189510920603A5 -:1019700081E0809308031092090382E161E00E94F4 -:101980005D1383E161E00E945D13E9EBF0E080818B -:101990008E7F808380818D7F808388E48093B800F0 -:1019A00085E48093BC000895EF92FF920F931F93FC -:1019B0007C018B01DC01ED91FC91A081B1816F77FD -:1019C0002D913C91CF01F9010995D701ED91FC9141 -:1019D000A081B181000F012F001F110B0F772D91F6 -:1019E0003C91CF01602FF90109951F910F91FF9054 -:1019F000EF900895FC010190F081E02DA081B1816C -:101A00002D913C91CF0160EFF90109950895FC01FA -:101A10000190F081E02DA081B1812D913C91CF0109 -:101A200067EFF901099508950F931F938C01DC016D -:101A3000ED91FC91A081B1812D913C91CF0169EF95 -:101A4000F9010995D801ED91FC91A081B1812D9109 -:101A50003C91CF0162E0F9010995D801ED91FC912B -:101A6000A081B1812D913C91CF0163E0F9010995ED -:101A70001F910F9108951F93CF93DF93EC018A81FB -:101A80008823C9F1CE010E94FA0CE881F981A08176 -:101A9000B1812D913C91CF0169E7F9010995E88168 -:101AA000F981A081B1812B813C814D915C91CF0165 -:101AB000F9016081FA010995E881F981A081B1817C -:101AC0002B813C814D915C91CF01F9016181FA013B -:101AD000099512E00AC0EB81FC81E10FF11D6081E4 -:101AE000CE0170E00E94D40C1F5F8A81181798F312 -:101AF000CE010E94070DDF91CF911F910895FC0147 -:101B0000A081B181ED91FC9111970480F581E02DC8 -:101B1000CD0109950895EF92FF920F931F938C01C9 -:101B20007A01DC01ED91FC91A081B1816F70606E52 -:101B30002D913C91CF01F9010995C801B7010E948F -:101B4000D40C1F910F91FF90EF900895EF92FF92A8 -:101B50000F931F937C018A01DC01ED91FC91A08120 -:101B6000B1816F7060692D913C91CF01F9010995A8 -:101B7000D701ED91FC91A081B181602F6F772D91FC -:101B80003C91CF01F9010995D701ED91FC91A0811C -:101B9000B181000F012F001F110B2D913C91CF013E -:101BA000602FF90109951F910F91FF90EF90089513 -:101BB000DF92EF92FF920F931F93CF93DF93EC018D -:101BC000162FD42E022FF32E0E94FA0CE881F981F1 -:101BD000A081B1812D913C91CF01612FF90109952F -:101BE000202F3F2DC9017C0110E008C0F701619151 -:101BF0007F01CE0170E00E94D40C1F5F1D15B0F371 -:101C0000CE010E94070DDF91CF911F910F91FF90A0 -:101C1000EF90DF900895FC010190F081E02DA0810C -:101C2000B1812D913C91CF01F90109950895FC01F5 -:101C3000603DA9F0613D28F4603959F0603CA1F4A1 -:101C40000BC0603E19F0643F79F40CC054A743A761 -:101C5000089556A745A7089550AB47A7089552ABDE -:101C600041AB089554AB43AB0895FC016F3F11F4B1 -:101C700056AB45AB0895FC0152AF41AF0895FC014E -:101C8000158216821782DC0180E018961C92189744 -:101C90008F5F11968032C9F710A612A611A605A86B -:101CA000F6A9E02D309709F009950895FC011282FC -:101CB000148213820E943F0E089584E793E00E94ED -:101CC000560E08954F925F926F927F928F929F92DD -:101CD000AF92BF92CF92DF92EF92FF920F93DF937A -:101CE000CF9300D0CDB7DEB72B017A013A83298399 -:101CF0008DE061E00E941E1300E089819A813C0121 -:101D0000882477FC8094982C5701CC24B7FCC0948D -:101D1000DC2C11C0C401B3010E94FE118DE061E012 -:101D20000E945D13C601B5010E94FE118DE060E0C6 -:101D30000E945D130F5F802F90E08415950554F38A -:101D40000F900F90CF91DF910F91FF90EF90DF9068 -:101D5000CF90BF90AF909F908F907F906F905F904B -:101D60004F9008950F931F938C018DE061E00E94C6 -:101D70001E13C80162E070E048E250E022ED30E05E -:101D80000E94620E6AEF70E080E090E00E94FE1117 -:101D9000C80163E070E048E250E022ED30E00E94CC -:101DA000620E6DE770E080E090E00E94FE111F91EE -:101DB0000F9108959A01FA0101900020E9F73197F7 -:101DC000E41BF50B4E2F0E94D80D0895AB0161E77F -:101DD0000E94DA0E08951F93CF93DF93EC0188855C -:101DE000813731F0893789F5CE010E943B0D36C02D -:101DF0008FA998AD892B91F189A59AA5019762E0E9 -:101E000070E00E946F16162F862F90E00E947310CC -:101E1000AC01DC0121E030E011C0FE01E20FF11D58 -:101E200090859C932F5FFE01E20FF11D80858795C1 -:101E300088278795890F8D932F5F3F5F311768F350 -:101E4000EFA9F8ADCA01099509C0E9ADFAAD30971F -:101E500029F069A561502996AE010995DF91CF91CE -:101E60001F910895CF93DF93EC01A881B981ED9183 -:101E7000FC9111970680F781E02DCD010995AC0109 -:101E800088A5882391F0473F510529F418A6CE0173 -:101E90000E94EB0E93C089A59AA5FE01E80FF91FD9 -:101EA000408701969AA789A789C08D81882309F464 -:101EB00046C0403851050CF042C081508D83FE0170 -:101EC000E80FF11D4087882309F078C08E818823B0 -:101ED00009F474C0803D49F1813D28F4803959F0FE -:101EE000803C59F51FC0803E19F0843F31F513C086 -:101EF000EBA5FCA502C0EDA5FEA53097F1F0688525 -:101F000070E07695762F6627779567958985680FB7 -:101F1000711D8F8111C0EBA9FCA9309771F0688504 -:101F2000898509C0EFA5F8A902C0E9A9FAA93097E7 -:101F300021F068858F8170E009951E823FC0403F87 -:101F4000510514F09A0106C09A01207F3070842F49 -:101F50008F708F83203E3105F1F0213E310554F41E -:101F6000203C3105D1F0203D3105B9F02039310553 -:101F700029F511C0243F310571F0253F310524F4C6 -:101F8000203F3105D9F40DC0293F310599F02F3F8D -:101F90003105A1F40BC082E001C081E08D832E8366 -:101FA0000DC081E088A71AA619A608C0CE010E941C -:101FB0003F0E04C084E793E00E94140DDF91CF919F -:101FC0000895AF92BF92CF92DF92EF92FF920F935C -:101FD0001F93CF93DF938C01D62EC72EB42EA22E43 -:101FE000862F972F61EB71E00E94A900EC018D2DE7 -:101FF0009C2D6FE270E00E949E00209779F07C019A -:102000000894E11CF11CE114F10441F09E012E5FE3 -:10201000822F8E19D80112968C930FC0AD2DBC2D36 -:10202000FD0101900020E9F7ED19EF5FD80112964C -:10203000EC932D2D3C2DC9017C01F8018381948105 -:102040000E941011D80112968C9190E00E9473109A -:10205000FC01D80114969C938E93139712968C9141 -:102060001297E80FF11D10821396ED91FC911497D1 -:10207000B0821396ED91FC911497A18213968D91E5 -:102080009C91149712964C9150E042505040029609 -:10209000B7010E948F00DF91CF911F910F91FF90A8 -:1020A000EF90DF90CF90BF90AF900895EF92FF92A6 -:1020B0000F931F938C0130E4E32E34E0F32EC7011D -:1020C0000E943B14F801F182E082C8010E94B20E26 -:1020D000C8010E94140DC8010E943B0D1F910F9171 -:1020E000FF90EF9008950F931F93CF93DF93BC0160 -:1020F0008230910510F462E070E0E0916404F091A8 -:102100006504A0E0B0E040E050E024C0808191810F -:1021100086179707D0F08617970771F4828193810D -:10212000109729F013969C938E9312972CC090933E -:1021300065048093640427C04115510519F0841784 -:10214000950718F4EF018D01AC01DF0182819381C5 -:102150009C01F9013097D1F641155105F9F0CA01FA -:10216000861B970B8430910580F48A819B81011531 -:10217000110521F0F8019383828304C090936504D4 -:1021800080936404FE01329645C0FE01E80FF91FFA -:10219000619371930297998388833CC08091620414 -:1021A00090916304892B41F48091BB019091BC0113 -:1021B00090936304809362044091BD015091BE01ED -:1021C0004115510541F44DB75EB78091B901909129 -:1021D000BA01481B590B2091620430916304241703 -:1021E0003507B0F4CA01821B930B8617970780F05E -:1021F000AB014E5F5F4F8417950750F0420F531F9E -:102200005093630440936204F9016193719302C097 -:10221000E0E0F0E0CF01DF91CF911F910F910895A1 -:10222000CF93DF939C01009709F48FC0EC012297B4 -:102230001B821A82609164047091650461157105B6 -:1022400081F488819981820F931F209162043091DB -:1022500063042817390739F5D0936304C0936204E7 -:1022600074C0DB0140E050E0AC17BD0708F1BB8350 -:10227000AA83FE0121913191E20FF31FAE17BF0730 -:1022800079F48D919C911197280F391F2E5F3F4F44 -:102290003983288312968D919C9113979B838A830F -:1022A0004115510571F4D0936504C09364044DC089 -:1022B00012968D919C911397AD01009711F0DC015E -:1022C000D3CFDA011396DC93CE931297FA012191C2 -:1022D0003191E20FF31FCE17DF0769F488819981EE -:1022E000280F391F2E5F3F4FFA01318320838A81E7 -:1022F0009B8193838283E0E0F0E0DB0112968D9175 -:102300009C911397009719F0BC01FD01F6CFAB012A -:102310004E5F5F4FDB018D919C91840F951F209143 -:102320006204309163042817390779F4309729F44F -:10233000109265041092640402C01382128242500B -:1023400050405093630440936204DF91CF9108950D -:102350001F920F920FB60F9211242F933F938F93DA -:102360009F93AF93BF938091B3039091B403A091D7 -:10237000B503B091B6033091B7030196A11DB11D0D -:10238000232F2D5F2D3720F02D570196A11DB11D54 -:102390002093B7038093B3039093B403A093B50342 -:1023A000B093B6038091AF039091B003A091B103B5 -:1023B000B091B2030196A11DB11D8093AF0390931C -:1023C000B003A093B103B093B203BF91AF919F91BB -:1023D0008F913F912F910F900FBE0F901F901895E6 -:1023E0008FB7F8942091B3033091B4034091B503B3 -:1023F0005091B6038FBFB901CA0108959B01AC018A -:102400007FB7F8948091AF039091B003A091B1038E -:10241000B091B20366B5A89B05C06F3F19F0019655 -:10242000A11DB11D7FBFBA2FA92F982F8827860F16 -:10243000911DA11DB11D62E0880F991FAA1FBB1F2E -:102440006A95D1F7BC012DC0FFB7F8948091AF0316 -:102450009091B003A091B103B091B203E6B5A89BEF -:1024600005C0EF3F19F00196A11DB11DFFBFBA2FA6 -:10247000A92F982F88278E0F911DA11DB11DE2E075 -:10248000880F991FAA1FBB1FEA95D1F7861B970BD0 -:10249000885E9340C8F2215030404040504068511F -:1024A0007C4F211531054105510571F608950197BD -:1024B00039F0880F991F880F991F02970197F1F73C -:1024C0000895789484B5826084BD84B5816084BDAC -:1024D00085B5826085BD85B5816085BDEEE6F0E09D -:1024E000808181608083E1E8F0E0108280818260F9 -:1024F0008083808181608083E0E8F0E0808181607A -:102500008083E1EBF0E0808184608083E0EBF0E0A9 -:10251000808181608083EAE7F0E08081846080834D -:1025200080818260808380818160808380818068F7 -:1025300080831092C1000895982F8E3008F09E502D -:1025400097708091BF018295880F880F807C892BBE -:1025500080937C0080917A00806480937A008091DF -:102560007A0086FDFCCF2091780040917900942F6D -:1025700080E030E0282B392BC90108951F93CF93B9 -:10258000DF93182FEB0161E00E941E13209709F4DE -:102590004AC0CF3FD10509F449C0E12FF0E0E25530 -:1025A000FF4F84918330C1F0843028F4813051F0A2 -:1025B0008230B1F50CC0863019F1873049F1843092 -:1025C00079F514C084B5806884BDC7BD33C084B5B7 -:1025D000806284BDC8BD2EC08091800080688093D9 -:1025E0008000D0938900C093880024C0809180002F -:1025F000806280938000D0938B00C0938A001AC0C1 -:102600008091B00080688093B000C093B30012C086 -:102610008091B00080628093B000C093B4000AC083 -:10262000C038D1051CF4812F60E002C0812F61E029 -:102630000E945D13DF91CF911F910895CF93DF9397 -:10264000482F50E0CA0186569F4FFC0134914A57EB -:102650005F4FFA018491882369F190E0880F991FF8 -:10266000FC01E859FF4FA591B491FC01EE58FF4FD2 -:10267000C591D491662351F42FB7F8948C91932F80 -:10268000909589238C93888189230BC0623061F4F3 -:102690002FB7F8948C91932F909589238C938881F0 -:1026A000832B88832FBF06C09FB7F8948C91832B10 -:1026B0008C939FBFDF91CF910895482F50E0CA01BE -:1026C00082559F4FFC012491CA0186569F4FFC0101 -:1026D00094914A575F4FFA013491332309F440C073 -:1026E000222351F1233071F0243028F42130A1F05D -:1026F000223011F514C02630B1F02730C1F024305B -:10270000D9F404C0809180008F7703C0809180004D -:102710008F7D8093800010C084B58F7702C084B510 -:102720008F7D84BD09C08091B0008F7703C08091F8 -:10273000B0008F7D8093B000E32FF0E0EE0FFF1F1D -:10274000EE58FF4FA591B4912FB7F894662321F46A -:102750008C919095892302C08C91892B8C932FBFEB -:10276000089508951F920F920FB60F9211242F9380 -:102770003F934F938F939F93EF93FF938091C0006C -:1027800082FD1DC04091C6002091F8033091F903ED -:102790002F5F3F4F2F7330708091FA039091FB03AE -:1027A0002817390771F0E091F803F091F903E85424 -:1027B000FC4F40833093F9032093F80302C08091CB -:1027C000C600FF91EF919F918F914F913F912F9173 -:1027D0000F900FBE0F901F901895E0914C04F09150 -:1027E0004D04E05CFF4F8191919120813181821BEA -:1027F000930B8F739070892B11F00E94B113089581 -:102800001F920F920FB60F9211242F933F938F9325 -:102810009F93EF93FF9320913C0430913D0480916E -:102820003E0490913F042817390731F48091C1008C -:102830008F7D8093C10014C0E0913E04F0913F046D -:10284000E450FC4F208180913E0490913F0401961A -:102850008F73907090933F0480933E042093C60042 -:10286000FF91EF919F918F913F912F910F900FBE0C -:102870000F901F901895AF92BF92DF92EF92FF9248 -:102880000F931F93CF93DF93EC017A018B01DD242B -:10289000403081EE580780E0680780E0780711F04B -:1028A000DD24D39491E0A92EB12CEC89FD89DD20A3 -:1028B00069F0C50108A002C0880F991F0A94E2F7C9 -:1028C000808360E079E08DE390E005C0108260E8ED -:1028D00074E88EE190E0A80197010E9482162150D1 -:1028E000304040405040569547953795279580E1B8 -:1028F0002030380720F0DD2011F0DD24D6CFE88924 -:10290000F9893083EA89FB89208319A2EE89FF893E -:10291000408121E030E0C9010C8C02C0880F991F72 -:102920000A94E2F7482B4083EE89FF894081C90170 -:102930000D8C02C0880F991F0A94E2F7482B408340 -:10294000EE89FF894081C9010E8C02C0880F991F52 -:102950000A94E2F7482B4083EE89FF8980810F8C2F -:1029600002C0220F331F0A94E2F720952823208308 -:10297000DF91CF911F910F91FF90EF90DF90BF906B -:10298000AF900895DC011C96ED91FC911D97E05CE1 -:10299000FF4F2191319180819181281B390B2F7339 -:1029A0003070C9010895DC011C96ED91FC911D97D2 -:1029B000E05CFF4F20813181E054F040DF01AE5BED -:1029C000BF4F8D919C9111972817390719F42FEF5C -:1029D0003FEF07C08D919C91E80FF91F8081282F50 -:1029E00030E0C9010895DC011C96ED91FC911D9722 -:1029F000E05CFF4F20813181E054F040DF01AE5BAD -:102A0000BF4F8D919C9111972817390719F42FEF1B -:102A10003FEF10C08D919C911197E80FF91F208115 -:102A20008D919C91119701968F73907011969C9344 -:102A30008E9330E0C9010895DC0191968C919197B5 -:102A4000882339F05496ED91FC915597808186FF4B -:102A5000F9CF91961C920895CF93DF93EC01EE8508 -:102A6000FF85E05CFF4F20813181E054F0402F5F13 -:102A70003F4F2F733070DF01AE5BBF4F8D919C9144 -:102A8000119728173907D1F3E05CFF4F80819181BE -:102A9000E054F040E80FF91F6083EE85FF85E05CAD -:102AA000FF4F31832083EE89FF89208181E090E010 -:102AB0000F8C02C0880F991F0A94E2F7282B2083FD -:102AC00081E089A3EC89FD8980818064808381E035 -:102AD00090E0DF91CF910895109243041092420448 -:102AE00088EE93E0A0E0B0E0809344049093450426 -:102AF000A0934604B093470484ED91E09093410481 -:102B00008093400488EB93E090934D0480934C04B1 -:102B10008CEF93E090934F0480934E0485EC90E00B -:102B2000909351048093500484EC90E0909353046C -:102B30008093520480EC90E0909355048093540469 -:102B400081EC90E0909357048093560482EC90E0DF -:102B5000909359048093580486EC90E090935B0422 -:102B600080935A0484E080935C0483E080935D0446 -:102B700087E080935E0485E080935F0481E080932A -:102B800060040895CF93DF930E9461120E94340382 -:102B9000CDEED3E10E944C042097E1F30E94ED13A7 -:102BA000F9CFCF92DF92EF92FF920F931F93CF93C3 -:102BB000DF937C016B018A01C0E0D0E00FC0D60139 -:102BC0006D916D01D701ED91FC910190F081E02DA7 -:102BD000C7010995C80FD91F0150104001151105F3 -:102BE00071F7CE01DF91CF911F910F91FF90EF9080 -:102BF000DF90CF9008952F923F924F925F926F9205 -:102C00007F928F929F92AF92BF92CF92DF92EF927C -:102C1000FF920F931F93DF93CF93CDB7DEB73B01A6 -:102C20004C0119012A016D897E898F89988D6A1955 -:102C30007B098C099D09621A730A840A950AA4010A -:102C400093010E944416E218F30804091509A8012B -:102C500097010E94A4162A0D3B1D4C1D5D1DB90154 -:102C6000CA01CF91DF911F910F91FF90EF90DF90FC -:102C7000CF90BF90AF909F908F907F906F905F901C -:102C80004F903F902F900895629FD001739FF00165 -:102C9000829FE00DF11D649FE00DF11D929FF00DEC -:102CA000839FF00D749FF00D659FF00D9927729F23 -:102CB000B00DE11DF91F639FB00DE11DF91FBD01AE -:102CC000CF0111240895991B79E004C0991F96172C -:102CD00008F0961B881F7A95C9F78095089597FB91 -:102CE000092E07260AD077FD04D049D006D000204F -:102CF0001AF4709561957F4F0895F6F79095819538 -:102D00009F4F0895A1E21A2EAA1BBB1BFD010DC007 -:102D1000AA1FBB1FEE1FFF1FA217B307E407F5078B -:102D200020F0A21BB30BE40BF50B661F771F881F67 -:102D3000991F1A9469F760957095809590959B01FD -:102D4000AC01BD01CF01089597FB092E05260ED0D9 -:102D500057FD04D0D7DF0AD0001C38F450954095B9 -:102D6000309521953F4F4F4F5F4F0895F6F790955F -:102D70008095709561957F4F8F4F9F4F0895AA1B47 -:102D8000BB1B51E107C0AA1FBB1FA617B70710F056 -:102D9000A61BB70B881F991F5A95A9F78095909588 -:102DA000BC01CD010895EE0FFF1F0590F491E02DB9 -:062DB0000994F894FFCF26 -:102DB600556E6B6E6F776E2070696E206D6F6465F1 -:102DC600005374616E646172644669726D61746108 -:102DD6002E696E6F00493243205265616420457248 -:102DE600726F723A20546F6F206D616E792062792E -:102DF600746573207265636569766564004932435C -:102E06002052656164204572726F723A20546F6F6A -:102E160020666577206279746573207265636569DB -:102E26007665640031302D62697420616464726570 -:102E36007373696E67206D6F6465206973206E6FAA -:102E4600742079657420737570706F727465640090 -:102E5600746F6F206D616E79207175657269657327 -:102E6600002E637070001300FF80006604000001EE -:102E760000000000090AD80991099A09AF09C0099A -:102E8600000000002C15D115C214F314D3141C1520 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove328/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove328/Blink.cpp.hex deleted file mode 100644 index d5d17106..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove328/Blink.cpp.hex +++ /dev/null @@ -1,59 +0,0 @@ -:100000000C945C000C946E000C946E000C946E00CA -:100010000C946E000C946E000C946E000C946E00A8 -:100020000C946E000C946E000C946E000C946E0098 -:100030000C946E000C946E000C946E000C946E0088 -:100040000C9415010C946E000C946E000C946E00D0 -:100050000C946E000C946E000C946E000C946E0068 -:100060000C946E000C946E00000000002400270029 -:100070002A0000000000250028002B0004040404CE -:100080000404040402020202020203030303030342 -:10009000010204081020408001020408102001021F -:1000A00004081020000000080002010000030407FB -:1000B000000000000000000011241FBECFEFD8E0B8 -:1000C000DEBFCDBF21E0A0E0B1E001C01D92A930AC -:1000D000B207E1F70E945F010C94CE010C9400007E -:1000E000E1EBF0E02491EDE9F0E09491E9E8F0E053 -:1000F000E491EE2309F43BC0222339F1233091F03F -:1001000038F42130A9F0223001F524B52F7D12C03A -:10011000273091F02830A1F02430B9F420918000EC -:100120002F7D03C0209180002F77209380000DC089 -:1001300024B52F7724BD09C02091B0002F7703C0CC -:100140002091B0002F7D2093B000F0E0EE0FFF1F54 -:10015000EE58FF4FA591B4912FB7F894EC9181110F -:1001600003C090959E2301C09E2B9C932FBF0895A2 -:100170003FB7F8948091050190910601A091070185 -:10018000B091080126B5A89B05C02F3F19F0019634 -:10019000A11DB11D3FBFBA2FA92F982F8827820F0D -:1001A000911DA11DB11DBC01CD0142E0660F771F5D -:1001B000881F991F4A95D1F708958F929F92AF9209 -:1001C000BF92CF92DF92EF92FF920E94B8004B0154 -:1001D0005C0188EEC82E83E0D82EE12CF12C0E9421 -:1001E000B800DC01CB0188199909AA09BB09883E2E -:1001F0009340A105B10558F021E0C21AD108E108E9 -:10020000F10888EE880E83E0981EA11CB11CC11471 -:10021000D104E104F10419F7FF90EF90DF90CF9043 -:10022000BF90AF909F908F9008951F920F920FB63E -:100230000F9211242F933F938F939F93AF93BF936C -:100240008091010190910201A0910301B0910401FC -:100250003091000123E0230F2D3720F40196A11DDA -:10026000B11D05C026E8230F0296A11DB11D2093E4 -:1002700000018093010190930201A0930301B093C8 -:1002800004018091050190910601A0910701B091B0 -:1002900008010196A11DB11D8093050190930601EF -:1002A000A0930701B0930801BF91AF919F918F91E7 -:1002B0003F912F910F900FBE0F901F90189578943B -:1002C00084B5826084BD84B5816084BD85B582605B -:1002D00085BD85B5816085BD80916E00816080930C -:1002E0006E00109281008091810082608093810075 -:1002F0008091810081608093810080918000816085 -:10030000809380008091B10084608093B1008091DF -:10031000B00081608093B00080917A008460809307 -:100320007A0080917A00826080937A0080917A00CE -:10033000816080937A0080917A00806880937A004F -:100340001092C100EDE9F0E02491E9E8F0E0849139 -:10035000882399F090E0880F991FFC01E859FF4F1E -:10036000A591B491FC01EE58FF4F859194918FB700 -:10037000F894EC91E22BEC938FBFC0E0D0E081E0E9 -:100380000E9470000E94DD0080E00E9470000E94C8 -:10039000DD002097A1F30E940000F1CFF894FFCF79 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove328/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove328/StandardFirmata.cpp.hex deleted file mode 100644 index ac32097d..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/duemilanove328/StandardFirmata.cpp.hex +++ /dev/null @@ -1,698 +0,0 @@ -:100000000C947B000C94A3000C94A3000C943E0D64 -:100010000C943E0D0C943E0D0C94A3000C94A30084 -:100020000C94A3000C94A3000C94A3000C94130F45 -:100030000C94A3000C94A3000C94A3000C94A300B4 -:100040000C94F40C0C94A3000C945F0B0C94D40946 -:100050000C94A3000C94A3000C94A3000C94A30094 -:100060000C94630D0C94A300CD03F403BB030E04A6 -:100070002E04620456046204620462049104DD03E7 -:10008000130829087A072908CA072908580700070A -:1000900029082908290829082908DA052908B7069E -:1000A0002908440700000000240027002A0000005F -:1000B0000000250028002B000404040404040404A8 -:1000C0000202020202020303030303030102040803 -:1000D00010204080010204081020010204081020B2 -:1000E00000000008000201000003040700000000F7 -:1000F00000000000D40F11241FBECFEFD8E0DEBFF8 -:10010000CDBF24E0A2E0B2E001C01D92A33FB20740 -:10011000E1F712E0A0E0B1E0E2E7FAE202C0059008 -:100120000D92A230B107D9F710E0CBE7D0E004C0C0 -:100130002197FE010E948D13CA37D107C9F70E948B -:100140005F100C9437150C940000A82FB0E0AB5949 -:10015000BB4F9C91292F30E0F901EE0FFF1F2E0FAE -:100160003F1FF901E95CFB4FE081F0E09F01220FA6 -:10017000331FE20FF31FEE5EFB4F80818F7B808386 -:1001800080916304981306C0992379F0915090935D -:1001900063040BC0882349F0E0916404EF5FE093AF -:1001A0006404F0E0EF5FFD4F90838FEF8C93089530 -:1001B0009EEF980F923180F4E82FF0E0DF01A95410 -:1001C000BC4F9C91913041F4EE0FFF1FE553FC4F63 -:1001D000608371830C941B0C0895CF93863080F557 -:1001E000409182025091830221E030E0672B81F43C -:1001F000B90102C0660F771F8A95E2F7CB0180959F -:10020000909584239523909383028093820218C053 -:10021000082E02C0220F331F0A94E2F7242B352B3D -:10022000309383022093820290917D04911108C043 -:10023000C82F0E94A30CBC018C2FCF910C940E09E7 -:10024000CF910895BF92CF92DF92EF92FF920F93DA -:100250001F93CF93DF9300D0CDB7DEB7833008F084 -:1002600081C0282F220F220F220F285F253108F08E -:1002700024E1B62EF82EE82EEE0CEE0CEE0C30E05B -:10028000CC24C394E21610F58EEF8E0D8231D8F493 -:100290000E2D10E0F801E954FC4F9081923098F453 -:1002A000DD24D3948C2D8B2109F4D12C000F111F48 -:1002B000913009F043C03C29F801E553FC4F8D2DE6 -:1002C00090E091838083CC0CE394DCCFF1100AC0E2 -:1002D0003C7FF8948BB1632F609568233B21632B9F -:1002E0006BB92AC081E0F8121AC02B2D2323F89491 -:1002F00095B1832F8F7380958923922F9F73892BBC -:1003000085B988B122952695269523703295369524 -:100310003695337030958323822B88B90DC03F709A -:10032000F89488B1632F660F660F609568233B21B0 -:10033000330F330F632B68B9789414C0DD2009F4B0 -:10034000BBCFF801E553FC4F80819181019709F4FF -:10035000B3CF62E08E2D2A8339830E94670C2A81F5 -:100360003981AACF0F900F90DF91CF911F910F91FC -:10037000FF90EF90DF90CF90BF9008956F927F92A3 -:100380008F929F92AF92BF92CF92DF92EF92FF92A5 -:100390000F931F93CF93DF931F92CDB7DEB7982FA4 -:1003A0003B01843108F004C1082F10E0F801E95442 -:1003B000FC4F8081833009F490C0843009F0F8C08C -:1003C0009250923108F0EDC0F801EB59FB4FE080FC -:1003D000F12C6701CC0CDD1C603282E078070CF058 -:1003E00042C077FD05C0653B710524F4DB0104C004 -:1003F000A0E001C0A4EBB0E0F601EE0DFF1DE95C4A -:10040000FB4F818128E830E04901881A910887FD77 -:100410009394880C991C880C991C092C000CAA0830 -:10042000BB08828128E532E0281B310987FD33951E -:10043000220F331F220F331FA901330F660B770BD7 -:100440009A01AB01281939094A095B090E94FE1477 -:1004500024EB30E040E050E00E94D414820E931E62 -:10046000A41EB51E01C04B01F601EE0DFF1DE95C97 -:10047000FB4F20812C3008F094C0318188E890E057 -:10048000831B910937FD9395880F991F880F991F3A -:100490008816990684F0828148E552E0481B51098C -:1004A00087FD5395440F551F440F551FC401481530 -:1004B00059050CF4CA010297880F991F4FB7F89499 -:1004C00030E0F901EE0FFF1F2E0F3F1FF901EE5E26 -:1004D000FB4F928381834FBF64C0933049F08BEF11 -:1004E000890F823028F087EF890F833008F059C0D8 -:1004F00061E0892F99830E94670C998161147104CE -:1005000011F460E005C08FEF6816710429F461E012 -:10051000892F0E941B0C45C0F801E052FF4FE49167 -:10052000E330F9F048F4E130B9F0E230A1F584B5F8 -:10053000806284BD68BC35C0E730E9F0E83019F16D -:10054000E43049F580918000806280938000709251 -:100550008B0060928A0025C084B5806884BD67BC2A -:1005600020C0809180008068809380007092890014 -:100570006092880016C08091B00080688093B000BF -:100580006092B3000EC08091B00080628093B00092 -:100590006092B40006C080E8681671040CF0B7CF12 -:1005A000B0CF000F111FF801E553FC4F718260823C -:1005B0000F90DF91CF911F910F91FF90EF90DF90FF -:1005C000CF90BF90AF909F908F907F906F90089545 -:1005D000DB01909163049C30A8F530916404682F8E -:1005E00070E0332369F0E32FF0E0EF5FFD4F80818F -:1005F000FB01EB59FB4F808331503093640407C0FB -:10060000FB01EB59FB4F90839F5F90936304FB01C9 -:10061000EB59FB4F808190E09C01220F331F820F2A -:10062000931F1A161B0634F4141615061CF49A01AF -:10063000AD0104C020E639E040E252E0895C9B4F06 -:100640000C94910E4DE251E063E181E70C94250991 -:100650008F929F92AF92BF92CF92DF92EF92FF92D2 -:100660000F931F93CF93DF931F92CDB7DEB7C82EA2 -:10067000D12C960124593C4F4901F901E55BFF4F0C -:1006800090819F3709F44DC1963041F490917C04DC -:10069000992321F06630710509F025C17B01182FDF -:1006A0000EEF080F0231F8F464307105E1F0F60145 -:1006B000EB59FB4F80818C30B0F490E0FC01EE0FE1 -:1006C000FF1F8E0F9F1FFC01E95CFB4F808190E0B4 -:1006D000FC01EE0FFF1F8E0F9F1FFC01EE5EFB4F14 -:1006E000808186FD06C192EF910F963068F461E03B -:1006F00070E082E0E816F10411F060E070E0892F0C -:1007000099830E94ED009981023118F5E12FE69559 -:10071000E695E695812F8770F0E0E05BFD4FE114F0 -:10072000F10421F02BE0E216F10449F421E030E07D -:1007300001C0220F8A95EAF78081282B09C021E0A9 -:1007400030E001C0220F8A95EAF7209580812823A6 -:1007500020835601AA0CBB1CF501E553FC4F118206 -:1007600010823CE0E316F10408F0ACC0F701EC5C49 -:10077000FF4F0C948D13963008F0D3C0023120F453 -:1007800060E0812F0E94670CF401E55BFF4F8081E0 -:100790008F3709F4C6C082E093C0023108F0C1C0AF -:1007A00060E0812F0E94670CF401E55BFF4F8081C0 -:1007B0008F3709F4B6C01082B4C0023108F0B1C05E -:1007C00062E0812F0E94670CF401E55BFF4F80819E -:1007D0008F3711F08BE08083F501E553FC4F81E00A -:1007E00090E0918380839DC0023108F09AC0F401AB -:1007F000E55BFF4F8081833021F460E0812F0E9410 -:100800001B0C61E0812F0E94670CF401E55BFF4F38 -:1008100080818F3709F485C081E052C0133049F0E0 -:100820008BEF810F823028F087EF810F833008F043 -:1008300078C061E0812F0E94670C61E0812F0E94E7 -:10084000670C60E0812F0E941B0CF401E55BFF4FF9 -:1008500080818F3709F465C083E032C0023108F02F -:1008600060C0F401E55BFF4F80818F3711F084E0B9 -:100870008083F601EB59FB4F80818F3FF1F190E0CF -:10088000FC01EE0FFF1F8E0F9F1FFC01E95CFB4F69 -:10089000808190E0FC01EE0FFF1F8E0F9F1FFC0177 -:1008A000EE5EFB4F808186FD3CC027C012511230A6 -:1008B000C0F5F401E55BFF4F80818F3791F186E051 -:1008C00080832FC081E491E00F90DF91CF911F9141 -:1008D0000F91FF90EF90DF90CF90BF90AF909F90DF -:1008E0008F900C945E0910927C049FEF909300010E -:1008F000D5CE812F0E94A500F6CE4FEF5FEF6FEFB0 -:100900007FEF812F0F90DF91CF911F910F91FF907B -:10091000EF90DF90CF90BF90AF909F908F900C940E -:10092000E8020F90DF91CF911F910F91FF90EF9010 -:10093000DF90CF90BF90AF909F908F9008950F93CE -:100940001F93CF93082F10E0F801E05BFD4F9081DB -:10095000C62FC92307581B4F411104C0D8019C91D1 -:100960009C1771F1682F80916C0390916D03DC01ED -:10097000ED91FC916F7060690190F081E02D099517 -:1009800080916C0390916D03DC01ED91FC916C2FD3 -:100990006F770190F081E02D099580916C03909123 -:1009A0006D03DC01ED91FC916C2F70E0660F672FF9 -:1009B000661F770B0190F081E02D0995F801C08347 -:1009C000CF911F910F910895833020F5282F30E0AB -:1009D000F901ED5AFD4F6083672BE1F0F901E05B0F -:1009E000FD4F9081811103C069B16C7F0FC08130D0 -:1009F00049F463B136B140E4349F900111246F7320 -:100A0000622B04C066B16C7366956695692341E0FC -:100A10000C949F040895CF92DF92EF92FF920F9370 -:100A20001F93CF93DF931F92CDB7DEB7082F6B01D3 -:100A3000142F6F3F8FEF780709F181E08093AB02AD -:100A40000093CD021092AC021092CE0286E094E0A8 -:100A500029830E94E50A2981822F0E947709E0916B -:100A60004E02F0914F02E230F10550F0EE0FFF1F01 -:100A7000EE0FFF1F35973197F1F702C0C12CD12C33 -:100A80008091AA028111FCCF212F113208F020E2BF -:100A900081E08093AA028093A9029FEF9093A8021D -:100AA0001092A702920F9093A602809385028091E4 -:100AB0008502902F990F892B809385028091840263 -:100AC000813061F410928402809185028093BB0092 -:100AD0008091BC0083FDF8CF85EC01C085EE80934A -:100AE000BC008091AA028130E1F38091A7028217B5 -:100AF00010F42091A702A6E8B2E04EE754E0FA0114 -:100B00008E2F841B821718F48D918193F9CF109248 -:100B10009F0420939E04E12EF12C30E0E216F306B0 -:100B20001CF482E591E005C02E153F0524F48FE604 -:100B300091E00E945E0900930E02C0920F02C12C48 -:100B4000D12CCE14DF0434F490919E0480919F0444 -:100B5000981310C062E0610F4EE052E087E70F90FB -:100B6000DF91CF911F910F91FF90EF90DF90CF9089 -:100B70000C94250986E094E00E94990AF601E25F50 -:100B8000FD4F82838FEFC81AD80ADBCFEF92FF9216 -:100B90000F931F93CF93DF9390E0FC01E956F10987 -:100BA000E231F10508F055C2EA01162FE05CFF4F73 -:100BB0000C948D132981922F987125FF03C08BE827 -:100BC00091E05AC0888131E026FB222720F92327B3 -:100BD000983069F160F491113CC23093AB0280937C -:100BE000CD021092AC021092CE0202E007C090310A -:100BF00009F43CC0983109F46DC02BC2011778F498 -:100C0000FE01E00FF11D8181608120E8829F601963 -:100C1000112486E094E00E94E50A0E5FEFCF81E0A8 -:100C20000E94770983E191E00197F1F712C24A81AE -:100C30006B81163069F430E8639FB0011124640FB2 -:100C4000711D9D814C81E0E89E9F4019112406C0D2 -:100C5000F0E86F9F401911246FEF7FEFDF91CF9184 -:100C60001F910F91FF90EF900C940B05E091000104 -:100C7000E73054F08BEA91E0DF91CF911F910F9113 -:100C8000FF90EF900C945E099A814B81663069F475 -:100C900030E8439FA0011124490F511D3D819C81E3 -:100CA00060E8369F9019112406C0F0E84F9F901914 -:100CB00011244FEF5FEFEF5FE093000135E0E302B7 -:100CC000F0011124E65AFD4F8083528341839383C0 -:100CD0002483BFC120910001121614F08FEF44C08D -:100CE00090E0622F022E000C770B35E0492F50E088 -:100CF0006417750774F0349FF001359FF00D1124CF -:100D0000E65AFD4F4081481302C085E026C09F5F30 -:100D1000EDCF90E0FACF9830F8F4FA0131968E9F3B -:100D2000D0018F9FB00D1124A65ABD4F3C91849FD6 -:100D3000F001859FF00D1124E65AFD4F3083119686 -:100D40004D915C9112975283418313963C91139776 -:100D5000338314963C9134839F5F492F50E064178E -:100D60007507CCF68FEF820F8093000172C1288146 -:100D7000898160E8869FC0011124820F911D009730 -:100D800021F090934F0280934E0280917C04811158 -:100D900060C1C0E08EEE8C0F823028F466E070E017 -:100DA0008C2F0E942803CF5FC431A1F781E080938C -:100DB0007C0410929F0410929E041092AC02109238 -:100DC000CE021092AA028093A9021092840261E0DE -:100DD00082E10E941B0C61E083E10E941B0C809168 -:100DE000B9008E7F8093B9008091B9008D7F809388 -:100DF000B90088E48093B80085E48093BC0029C1E1 -:100E0000653008F426C11881F9800A81EB80CC8115 -:100E10008EEF810F823108F01CC1E12FF0E0EB5919 -:100E2000FB4F20812C30B0F430E0F901EE0FFF1FB2 -:100E30002E0F3F1FF901E95CFB4F208130E0F901E3 -:100E4000EE0FFF1F2E0F3F1FF901EE5EFB4F80815B -:100E500086FDFBC080E8C89FA00111244E0D511DE6 -:100E600090E8099FB00111246F0D711D812F0E9420 -:100E7000E80264E070E0812FDF91CF911F910F9124 -:100E8000FF90EF900C942803623008F4E2C02881B0 -:100E90008981E0E88E9FC0011124820F911D009787 -:100EA00011F481E090E09093020180930101D1C0A0 -:100EB000623008F4CEC0698170E0123091F08A810E -:100EC000F0E88F9FC0011124682B792B133049F073 -:100ED0008B8190E090E4899F902D88271124682BC6 -:100EE000792B8881DF91CF911F910F91FF90EF9027 -:100EF0000C94BE0180EF0E946A098CE60E946A0988 -:100F0000CEEF84EF8C0F863038F482E00E946A09BD -:100F10008AE00E946A0909C0C13039F483E00E9466 -:100F20006A0988E00E946A0908C08DEF8C0F823040 -:100F3000A8F389EF8C0F833088F3C23130F484E05A -:100F40000E946A098EE00E946A0980EF8C0F82304D -:100F500030F486E00E946A0981E00E946A098FE706 -:100F60000E946A09CF5FC23121F1C23150F680E0A0 -:100F70000E946A0981E00E946A098BE00E946A0966 -:100F800081E00E946A0981E00E946A0981E00E9472 -:100F90006A09B7CF662309F45CC0C88180EF0E945C -:100FA0006A098EE60E946A098C2F0E946A09C43180 -:100FB00048F087EFDF91CF911F910F91FF90EF9055 -:100FC0000C946A09D0E0FE01E954FC4F80810E9434 -:100FD0006A09CC0FDD1F8E0105531C4FF80180817B -:100FE0008F770E946A09F801808191819C012078A5 -:100FF000232B39F0880F892F881F990B8F770E9438 -:101000006A09C553DC4F888199819C012227307C75 -:10101000232B79F2990F880B990F982F881F8F77C0 -:101020000E946A09C6CF80EF0E946A098AE60E9480 -:101030006A09C2EFC63010F48C2F01C08FE70E94FE -:101040006A09CF5FC630B1F7B4CF812F0E94A500E7 -:1010500001CFDF91CF911F910F91FF90EF900895F5 -:101060000F931F93CF93DF93EC010CE613E0D801AD -:101070008D919C91DC01ED91FC916C2F6F7701902B -:10108000F081E02D0995F80180819181DC01ED91DD -:10109000FC91CC0FCD2FCC1FDD0B6C2F6F77019007 -:1010A000F081E02DDF91CF911F910F9109948091F4 -:1010B0006C0390916D03DC01ED91FC910190F08146 -:1010C000E02D67EF099480916C0390916D03DC0132 -:1010D000ED91FC910190F081E02D60EF0994CF93A8 -:1010E0000E94630880916C0390916D03DC01ED9187 -:1010F000FC910190F081E02D69E7099580916C03E6 -:1011000090916D03DC01ED91FC91A0916F03B09182 -:1011100070030190F081E02D6C91099580916C0332 -:1011200090916D03DC01ED91FC91A0916F03B09162 -:1011300070030190F081E02D11966C910995C2E049 -:1011400080916E03C81760F4E0916F03F091700313 -:10115000EC0FF11D808190E00E943008CF5FF0CF4E -:10116000CF910C945708CF93DF93CCE6D3E08881DE -:101170009981DC01ED91FC910190F081E02D69EF06 -:10118000099588819981DC01ED91FC910190F081B4 -:10119000E02D62E0099588819981DC01ED91FC9157 -:1011A0000190F081E02D65E0DF91CF910994CF921D -:1011B000DF92EF92FF920F931F93CF93DF936C0117 -:1011C0007A018B01C0E0D0E0CE15DF0589F0D801AF -:1011D0006D918D01D601ED91FC910190F081E02D92 -:1011E000C6010995892B11F47E0102C02196ECCF2E -:1011F000C701DF91CF911F910F91FF90EF90DF908A -:10120000CF9008958FEC92E00E941C0A21E0892B78 -:1012100009F420E0822F08950E94C014CF93DF9339 -:10122000EB01A0916C03B0916D03ED91FC911197CE -:101230008F70682F606E0190F081E02DCD010995CF -:10124000CE01DF91CF910C943008EF92FF920F9373 -:101250001F93CF93DF9300D01F92CDB7DEB7162F29 -:101260004A835B8389830E946308A0916C03B091D9 -:101270006D03ED91FC9111970190F081E02D898132 -:10128000682FCD0109954A81042FE42E5B81F52E4C -:101290008E2D801B811738F4F70181917F0190E03A -:1012A0000E943008F5CF0F900F900F90DF91CF91F3 -:1012B0001F910F91FF90EF900C945708FC01019043 -:1012C0000020E9F73197BF01681B790BAC0181E77A -:1012D0000C942509A0916C03B0916D03ED91FC91E4 -:1012E00011970190F081E02D682FCD010994382FDE -:1012F0002091CE029091CD02213208F049C0809118 -:10130000AA028111FCCF42E04093AA023093A902C5 -:101310003FEF3093A8021092A7022093A602ADEAF5 -:10132000B2E046E852E0FA013E2F341B321718F4BF -:101330003D913193F9CF1092850220918502990F4A -:10134000922B9093850290918402913061F41092D7 -:101350008402909185029093BB009091BC0093FD14 -:10136000F8CF95EC01C095EE9093BC009091AA0245 -:101370009230E1F39091A8029F3F79F08091A8020A -:10138000803241F08091A802803331F084E005C0C2 -:1013900081E003C082E001C083E01092AC021092B1 -:1013A000CE021092AB0208951F920F920FB60F92C9 -:1013B00011242F933F934F935F936F937F938F935A -:1013C0009F93AF93BF93EF93FF938FEC92E00E94B4 -:1013D000910BFF91EF91BF91AF919F918F917F9171 -:1013E0006F915F914F913F912F910F900FBE0F9092 -:1013F0001F901895FC01918D828D981761F0828D58 -:10140000DF01A80FB11D5D968C91928D9F5F9F7338 -:10141000928F90E008958FEF9FEF0895FC01918DDA -:10142000828D981731F0828DE80FF11D858D90E047 -:1014300008958FEF9FEF0895FC01918D228D892FE4 -:1014400090E0805C9F4F821B91098F7399270895CC -:1014500080E090E0892B29F00E94020981110C9410 -:10146000000008953FB7F8948091EB049091EC044C -:10147000A091ED04B091EE0426B5A89B05C02F3FC6 -:1014800019F00196A11DB11D3FBFBA2FA92F982FAA -:101490008827820F911DA11DB11DBC01CD0142E025 -:1014A000660F771F881F991F4A95D1F7089585ED1C -:1014B0008093BC008091BC0084FDFCCF1092AA02F6 -:1014C00008954091C304262F30E0240F311D2132AE -:1014D0003105DCF42091AA022430C9F4FC0180E03B -:1014E00090E0861758F43091C3042191DC01AF5588 -:1014F000BB4FA30FB11D2C930196F3CF8091C30472 -:10150000680F6093C30480E0089581E0089582E04D -:1015100008950895E0919F0480919E04E81730F4A7 -:10152000F0E0E258FB4F808190E008958FEF9FEF4D -:10153000089590919F0480919E04981750F4E92F8C -:10154000F0E0E258FB4F208130E09F5F90939F04D2 -:1015500002C02FEF3FEFC901089580919E0490E0F3 -:1015600020919F04821B91090895CF92DF92EF9200 -:10157000FF920F931F93CF93DF937C01262F972F1A -:101580008A018091AB02882391F0C62FD72F6E017C -:10159000C40ED51ECC15DD0571F06991D701ED9112 -:1015A000FC910190F081E02DC7010995F3CF642FE4 -:1015B000822F0E94610AC801DF91CF911F910F9184 -:1015C000FF90EF90DF90CF900895CF93DF931F921D -:1015D000CDB7DEB769832091AB022223D1F02091F1 -:1015E000CE02203240F021E030E0FC013383228340 -:1015F00080E090E015C08091AC02E82FF0E0E35568 -:10160000FD4F998190838F5F8093AC028093CE02CF -:1016100005C061E0CE0101960E94610A81E090E080 -:101620000F90DF91CF9108950F931F93CF93DF9386 -:1016300081E080937D0480917C04882329F01092BE -:101640007C048FEF8093000110925302109250029D -:1016500010927904109254021092510210927A045E -:10166000109255021092520210927B0405E614E08B -:10167000C0E0DFEF82EF8C0F863018F462E070E09C -:1016800006C08EEF8C0F823128F461E070E08C2F61 -:101690000E942803F801D1938F01CF5FC43151F725 -:1016A00010928302109282021092640410926304DA -:1016B00010927D04DF91CF911F910F9108951F9299 -:1016C0000F920FB60F9211242F938F939F93EF9346 -:1016D000FF93E091DF02F091E0028081E091E5026A -:1016E000F091E60282FD12C090818091E8028F5F46 -:1016F0008F732091E902821751F0E091E802F0E047 -:10170000E153FD4F958F8093E80201C08081FF91E6 -:10171000EF919F918F912F910F900FBE0F901F907F -:101720001895FC01848DDF01A80FB11DA35ABF4F8E -:101730002C91848D90E001968F739927848FA689D0 -:10174000B7892C93A089B1898C9180648C93938DF7 -:10175000848D981306C00288F389E02D80818F7DE7 -:1017600080830895EF92FF920F931F93CF93DF939F -:10177000EC0181E0888F9B8D8C8D981305C0E889E2 -:10178000F989808185FD24C0F62E0B8D10E00F5F56 -:101790001F4F0F731127E02E8C8DE8120CC00FB66F -:1017A00007FCFACFE889F989808185FFF5CFCE0162 -:1017B0000E94910BF1CF8B8DFE01E80FF11DE35AD2 -:1017C000FF4FF0820B8FEA89FB898081806207C01E -:1017D000EE89FF896083E889F9898081806480834C -:1017E00081E090E0DF91CF911F910F91FF90EF90FA -:1017F0000895CF93DF93EC01888D8823C9F0EA899F -:10180000FB89808185FD05C0A889B9898C9186FDF9 -:101810000FC00FB607FCF5CF808185FFF2CFA889F6 -:10182000B9898C9185FFEDCFCE010E94910BE7CF56 -:10183000DF91CF91089590E0FC01E052FF4F349189 -:10184000FC01E453FF4F2491FC01E854FF4FE49165 -:10185000EE2309F43BC0332339F1333091F038F4EF -:101860003130A9F0323001F584B58F7D12C03730A8 -:1018700091F03830A1F03430B9F4809180008F7D40 -:1018800003C0809180008F77809380000DC084B565 -:101890008F7784BD09C08091B0008F7703C080919D -:1018A000B0008F7D8093B000F0E0EE0FFF1FE25597 -:1018B000FF4FA591B4918FB7F894EC91611103C0DB -:1018C00020952E2301C02E2B2C938FBF0895CF93EC -:1018D000DF9390E0FC01E453FF4F2491FC01E854B6 -:1018E000FF4F8491882361F190E0880F991FFC01DC -:1018F000EC55FF4FC591D491FC01E255FF4FA591E6 -:10190000B491611109C09FB7F89488812095822312 -:101910008883EC912E230BC0623061F49FB7F8945A -:101920003881822F809583238883EC912E2B2C93F2 -:101930009FBF06C08FB7F894E8812E2B28838FBFF6 -:10194000DF91CF9108958E3008F08E5087708064BB -:1019500080937C0080917A00806480937A008091EB -:101960007A0086FDFCCF809178002091790090E08C -:10197000922B08958F929F92AF92BF92CF92DF9257 -:10198000EF92FF926B017C010E94320A4B015C01D5 -:10199000C114D104E104F104F1F00E94320ADC0127 -:1019A000CB0188199909AA09BB09883E9340A10572 -:1019B000B10570F321E0C21AD108E108F10888EE00 -:1019C000880E83E0981EA11CB11CC114D104E1044F -:1019D000F10419F7DDCFFF90EF90DF90CF90BF902B -:1019E000AF909F908F9008951F920F920FB60F9215 -:1019F00011242F933F938F939F93AF93BF93809125 -:101A0000560290915702A0915802B091590230911C -:101A1000EA0423E0230F2D3720F40196A11DB11D08 -:101A200005C026E8230F0296A11DB11D2093EA04EC -:101A30008093560290935702A0935802B093590294 -:101A40008091EB049091EC04A091ED04B091EE0430 -:101A50000196A11DB11D8093EB049093EC04A0931B -:101A6000ED04B093EE04BF91AF919F918F913F91A0 -:101A70002F910F900FBE0F901F9018951F920F92ED -:101A80000FB60F9211240F900FBE0F901F90189554 -:101A9000FC01158216821782DC011896885B9F4F25 -:101AA0001D92A817B907E1F71C92DF01A75BBF4F92 -:101AB0001D921C92ED56FF4F0190F081E02D309762 -:101AC00009F0099408951F920F920FB60F921124F6 -:101AD0002F933F934F935F936F937F938F939F9336 -:101AE000AF93BF93EF93FF938091B900887F8036C7 -:101AF00009F49CC068F5883209F45BC090F4803129 -:101B000009F454C038F4882309F4F6C0883009F485 -:101B10004DC0F6C0883109F44CC0803209F45DC074 -:101B2000EFC0803409F468C048F4803309F455C02C -:101B3000883309F0E5C08093A802D8C0803509F445 -:101B40004FC0883509F45DC0883409F0D9C0D6C0CB -:101B5000883909F4C7C0A8F4883709F467C038F495 -:101B6000883609F463C0803709F460C0C9C088387A -:101B700009F4B8C0803909F45FC0803809F0C0C0EA -:101B80005BC0803B09F486C038F4803A09F466C033 -:101B9000883A09F47FC0B4C0803C09F4A7C0883CEF -:101BA00009F4A4C0883B09F48AC0AAC080918502C8 -:101BB00010C09091A7028091A602981770F5E0914D -:101BC000A70281E08E0F8093A702F0E0EA57FD4F55 -:101BD00080818093BB0085EC86C08093A8028EC074 -:101BE000E091A70281E08E0F8093A7028091BB0055 -:101BF000F0E0EA57FD4F80839091A7028091A60202 -:101C00006EC0E091A70281E08E0F8093A7028091C1 -:101C1000BB00F0E0EA57FD4F80838091A90281115B -:101C20006DC081E08093840284EA61C083E0809388 -:101C3000AA021092E704CFCF8091E704803208F027 -:101C400051C0E091E70481E08E0F8093E70480911A -:101C5000BB00F0E0E953FB4F8083BDCF85EC809360 -:101C6000BC001092AA028091E704803230F4E09127 -:101C7000E704F0E0E953FB4F10826091E70470E065 -:101C8000E091C504F091C60487EC94E009951092A8 -:101C9000E70436C084E08093AA021092C404109234 -:101CA000C304E091C104F091C20409958091C3047A -:101CB000811105C081E08093C3041092A104E091DA -:101CC000C40481E08E0F8093C404F0E0EF55FB4F15 -:101CD00080818093BB009091C4048091C3049817C5 -:101CE00008F479CF85E88093BC000AC085EC809326 -:101CF000BC001092AA0204C01092A8020E94570AC7 -:101D0000FF91EF91BF91AF919F918F917F916F91D3 -:101D10005F914F913F912F910F900FBE0F901F90A9 -:101D20001895DF92EF92FF920F931F93CF93DF935B -:101D3000EC01D62E7A01890188818C3008F06AC0C6 -:101D400061E08D2D0E94670C8881E82FF0E09F01F3 -:101D5000220F331FE20FF31FEE5EFB4F9D2D9F738B -:101D60002081207CD22ED92AD08260E272E0AB01A1 -:101D70004E195F0957FF02C04D5F5F4F559547955C -:101D800055954795498340E659E09A01201B310B50 -:101D900037FF02C02D5F3F4F359527953595279525 -:101DA0002A836CE00E9481139CE0899FB00111247A -:101DB00040E050E09A01260F371FF901EE0FFF1F98 -:101DC0002E0F3F1FF901EE5EFB4F908196FD16C06E -:101DD0004F5F5F4F4C30510569F781110FC0109272 -:101DE000800082E080938100109285001092840030 -:101DF000B19A80916F00826080936F00E881F0E07B -:101E0000CF01880F991FE80FF91FEE5EFB4F80810D -:101E1000806480838881DF91CF911F910F91FF9023 -:101E2000EF90DF9008951F920F920FB60F9211243A -:101E30002F933F934F935F936F937F938F939F93D2 -:101E4000AF93BF93EF93FF938091A00487FF05C0EA -:101E500010928500109284001BC02091A004022ED5 -:101E6000000C330B8091360490E02817390784F476 -:101E70008091A004082E000C990BFC01EE0FFF1FAF -:101E80008E0F9F1FFC01EE5EFB4F808186FD15C00B -:101E90008091A0048F5F8093A0042091A004022E63 -:101EA000000C330B8091360490E028173907C4F4F6 -:101EB0008091A0048C3064F113C08091A004082E9E -:101EC000000C990BFC01EE0FFF1F8E0F9F1FFC01F2 -:101ED000EE5EFB4F808160E08F730E941B0CD8CFB9 -:101EE0008091840090918500049680349C4918F478 -:101EF00080E49CE905C0809184009091850004965F -:101F000090938900809388008FEF8093A0043BC05A -:101F100020918400309185008091A004082E000C4F -:101F2000990BFC01EE0FFF1F8E0F9F1FFC01EE5E51 -:101F3000FB4F81819281820F931F90938900809340 -:101F400088008091A004082E000C990BFC01EE0F74 -:101F5000FF1F8E0F9F1FFC01EE5EFB4F808186FFEF -:101F600012C08091A004082E000C990BFC01EE0F0A -:101F7000FF1F8E0F9F1FFC01EE5EFB4F808161E013 -:101F80008F730E941B0CFF91EF91BF91AF919F91B6 -:101F90008F917F916F915F914F913F912F910F9012 -:101FA0000FBE0F901F901895CF92DF92EF92FF9285 -:101FB0001092D2021092D10278EEC72E73E0D72E83 -:101FC000E12CF12CC092D302D092D402E092D5023F -:101FD000F092D60281E191E09093D0028093CF02FB -:101FE00085EC90E09093DC028093DB0284EC90E03F -:101FF0009093DE028093DD0280EC90E09093E0020B -:102000008093DF0281EC90E09093E2028093E10202 -:1020100082EC90E09093E4028093E30286EC90E0FF -:102020009093E6028093E5021092E8021092E90292 -:102030001092EA021092EB0210926E03109270035B -:1020400010926F03109205048CE693E00E94480DF5 -:102050001092090410920804C0920A04D0920B0452 -:10206000E0920C04F0920D0481E291E09093070459 -:102070008093060480913604A7E3B4E09FEF48EB19 -:102080005BE08C3078F48C93282F30E0F901EE0F70 -:10209000FF1F2E0F3F1FF901EE5EFB4F528341835E -:1020A0008F5F01C09C93139624E0AB35B20749F7CC -:1020B00080933604FF90EF90DF90CF90089578944E -:1020C00084B5826084BD84B5816084BD85B582603D -:1020D00085BD85B5816085BD80916E0081608093EE -:1020E0006E00109281008091810082608093810057 -:1020F0008091810081608093810080918000816067 -:10210000809380008091B10084608093B1008091C1 -:10211000B00081608093B00080917A0084608093E9 -:102120007A0080917A00826080937A0080917A00B0 -:10213000816080937A0080917A00806880937A0031 -:102140001092C10085E180936E0380916F0390919E -:1021500070030E942814C0916E03D0E0CE01019656 -:102160000E9493139093700380936F03FC01EC0F14 -:10217000FD1F108212E0DC011C9325E011962C93C8 -:10218000AE01425051096DEE71E002960E94C514F5 -:102190008EEB91E09093F4038093F30382E291E05D -:1021A0009093F6038093F5038DEE90E09093F803FF -:1021B0008093F70384EE94E09093FA038093F903FD -:1021C00088E293E09093FC038093FB0388ED90E01A -:1021D0009093FE038093FD0386EC95E090930404B6 -:1021E0008093030484E19BE0909300048093FF03B9 -:1021F000E091DF02F091E0021083E091DF02F091C4 -:10220000E0021082E091DB02F091DC021082E091AA -:10221000DD02F091DE0280E180831092E702E0911E -:10222000E302F091E40286E08083E091E102F09124 -:10223000E202808180618083E091E102F091E2021C -:10224000808188608083E091E102F091E2028081E8 -:1022500080688083E091E102F091E20280818F7DCD -:1022600080838FEC92E090936D0380936C03809158 -:102270000504811150C061E08DE00E94670C62EDA1 -:1022800070E080E090E00E94BA0C61E08DE00E9476 -:102290001B0C68E270E080E090E00E94BA0C60E005 -:1022A0008DE00E941B0C62ED70E080E090E00E94E7 -:1022B000BA0C61E08DE00E941B0C68E270E080E0E7 -:1022C00090E00E94BA0C60E08DE00E941B0C6AEF67 -:1022D00070E080E090E00E94BA0CC0E062ED70E037 -:1022E00080E090E00E94BA0C61E08DE00E941B0C3F -:1022F00068E270E080E090E00E94BA0C60E08DE05F -:102300000E941B0CCF5FC53049F76DE770E080E09D -:1023100090E00E94BA0C0E94B30880916E03811174 -:102320000E946F080E94140BBB24B39432E0A32ECA -:1023300015E080915302882349F069B180915002E1 -:1023400068236C7F40E080E00E949F0480915402EB -:10235000882379F063B196B1B0E49B9FC00111244A -:102360006F73862B60915102682340E081E00E94E8 -:102370009F04809155028823D9F066B16C736695ED -:10238000669580915202682340E082E00E949F049B -:102390000FC080916C0390916D03EC01E881F9818D -:1023A0000680F781E02D09958F3FDFEF9D0771F4DF -:1023B00080916C0390916D03DC01ED91FC910480A0 -:1023C000F581E02D0995892B21F71EC1382F209129 -:1023D000B403222309F467C0873F09F055C0109267 -:1023E000B40380917403813751F0893709F03EC0FE -:1023F00080916E038823E1F20E946F08D9CFE091AB -:102400000104F0910204309799F22091B5033091C4 -:10241000B603C901019797FDC90195958795082FC6 -:10242000A4E7B3E040E050E030E04E5F5F4F30178C -:1024300070F4BA0164597C4FEB012F812C936885AD -:10244000D0E86D9F201911242D933F5FEECF99277F -:10245000DC01A459BC4F17968C911797882311F073 -:1024600018961C9284E793E00995A2CFE0910304AB -:10247000F0910404309709F49BCF6091B50361504B -:1024800045E753E0099594CF2091B5033091B60309 -:10249000F901E459FC4F80872F5F3F4F3093B6031B -:1024A0002093B50385CF20917103222309F469C0DD -:1024B00087FD67C09FEF920F90937103E92FF0E0C3 -:1024C000E459FC4F8087911173CF80917203882368 -:1024D00009F46ECF803D09F445C050F4803901F114 -:1024E000803C09F04BC0E091F703F091F8033EC047 -:1024F000843F39F1853F51F1803E09F03FC0E091C2 -:10250000F303F091F4033097C9F180917403609163 -:10251000750370E020E8829F600D711D11242BC0AF -:10252000E091F503F091F603309741F18091740347 -:102530006091750370E090E8899F600D711D112412 -:102540001AC0E091FB03F091FC0304C0E091FD038D -:10255000F091FE03309791F06091740370E08091E8 -:1025600075030BC0E091F903F091FA03309731F055 -:102570006091740370E08091730309951092720367 -:1025800017CF303F38F4282F207F30E08F708093B2 -:10259000730302C09C013327203F310559F17CF4BD -:1025A000203C310511F124F420393105D9F000CF58 -:1025B000203D3105D1F0203E3105A1F0F9CE293F73 -:1025C0003105F9F034F4C901845F9109029750F0A4 -:1025D000EFCE2F3F310509F0EBCE8CE693E00E9461 -:1025E000480DE6CEA092710302C0B0927103209311 -:1025F0007203DECEB092B4031092B6031092B5030C -:10260000D7CE0E94B308D4CE8FB7F894C0905602AC -:10261000D0905702E0905802F09059028FBFC092BC -:102620005F04D0926004E0926104F09262048091B1 -:102630005B0490915C04A0915D04B0915E044091B4 -:1026400001015091020160E070E0C81AD90AEA0A5B -:10265000FB0A4C155D056E057F0508F04FC0840F21 -:10266000951FA61FB71F80935B0490935C04A093F3 -:102670005D04B0935E0487EBE82E83E0F82E02EF52 -:102680000630B8F4E7018881823099F480918202A3 -:1026900090918302002E02C0959587950A94E2F7E7 -:1026A00080FF07C0802F0E94A30CBC01802F0E94D6 -:1026B0000E090F5FDFEFED1AFD0A063009F7809172 -:1026C000000187FD1BC000E0202F30E08091000159 -:1026D000082E000C990B8217930784F0129FF001CB -:1026E000139FF00D1124E65AFD4F61817281248100 -:1026F000438180810E940B050F5FE6CF0E94280A6C -:1027000018CE991B79E004C0991F961708F0961B04 -:10271000881F7A95C9F780950895EE0FFF1F0590E1 -:10272000F491E02D0994CF93DF938230910510F45A -:1027300082E090E0E091F104F091F20420E030E0DA -:10274000C0E0D0E0309711F140815181481759071E -:10275000C0F04817590761F482819381209719F0DE -:102760009B838A832BC09093F2048093F10426C04C -:102770002115310519F04217530718F49A01BE01CB -:10278000DF01EF010280F381E02DDCCF211531055F -:1027900009F1281B390B2430310590F412968D91E4 -:1027A0009C9113976115710521F0FB01938382833E -:1027B00004C09093F2048093F104FD01329644C06A -:1027C000FD01E20FF31F81939193225031092D9364 -:1027D0003C933AC02091EF043091F004232B41F454 -:1027E00020910501309106013093F0042093EF040D -:1027F00020910301309104012115310541F42DB7D9 -:102800003EB74091070150910801241B350BE09120 -:10281000EF04F091F004E217F307A0F42E1B3F0B36 -:102820002817390778F0AC014E5F5F4F2417350742 -:1028300048F04E0F5F1F5093F0044093EF048193D4 -:10284000919302C0E0E0F0E0CF01DF91CF910895D5 -:102850000F931F93CF93DF93009709F48CC0FC0173 -:102860003297138212820091F1041091F204011543 -:10287000110581F420813181820F931F2091EF0493 -:102880003091F0042817390779F5F093F004E093BC -:10289000EF0471C0D80140E050E0AE17BF0750F41C -:1028A00012962D913C911397AD012115310509F137 -:1028B000D901F3CF9D01DA013383228360817181D5 -:1028C000860F971F8217930769F4EC0128813981DD -:1028D000260F371F2E5F3F4F318320838A819B81D4 -:1028E00093838283452B29F4F093F204E093F1045F -:1028F00042C01396FC93EE931297ED0149915991C2 -:102900009E01240F351FE217F30771F48081918136 -:10291000840F951F029611969C938E9382819381CA -:1029200013969C938E931297E0E0F0E0D8011296F4 -:102930008D919C911397009719F0F8018C01F6CFB7 -:102940008D919C9198012E5F3F4F820F931F209194 -:10295000EF043091F0042817390769F4309729F40F -:102960001092F2041092F10402C0138212821093AA -:10297000F0040093EF04DF91CF911F910F91089520 -:1029800081E090E0F8940C943715FB01DC01415094 -:10299000504048F001900D920020C9F701C01D92EF -:1029A00041505040E0F70895052E97FB1EF4009427 -:1029B0000E94EB1457FD07D00E94061507FC03D0B8 -:1029C0004EF40C94EB1450954095309521953F4F63 -:1029D0004F4F5F4F089590958095709561957F4F0B -:1029E0008F4F9F4F08950E942815A59F900DB49F6B -:1029F000900DA49F800D911D11240895B7FF0C9494 -:102A0000F3140E94F314821B930B0895A1E21A2E73 -:102A1000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F82 -:102A2000A217B307E407F50720F0A21BB30BE40BD2 -:102A3000F50B661F771F881F991F1A9469F7609519 -:102A40007095809590959B01AC01BD01CF010895D3 -:102A5000A29FB001B39FC001A39F700D811D1124DF -:102A6000911DB29F700D811D1124911D0895F89440 -:022A7000FFCF96 -:102A7200FF13000000F304800001000000000000CA -:102A820000B20BD7081C0AFA090E0AF90B00000063 -:102A920000E50AB50AAD0A990A8A0A890A4D6178DF -:102AA20020736572766F7320617474616368656404 -:102AB20000556E6B6E6F776E2070696E206D6F645D -:102AC20065004932433A20546F6F206D616E792060 -:102AD200627974657320726563656976656400491D -:102AE20032433A20546F6F206665772062797465AD -:102AF200732072656365697665640031302D6269A1 -:102B0200742061646472657373696E67206E6F749A -:102B120020737570706F7274656400746F6F206DCE -:102B2200616E792071756572696573002F557365E1 -:102B320072732F6E6F6F706B61742F446F63756D5C -:102B4200656E74732F41726475696E6F2F53746171 -:102B52006E646172644669726D6174612F5374614F -:102B62006E646172644669726D6174612E696E6F22 -:022B7200000061 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/esplora/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/esplora/Blink.cpp.hex deleted file mode 100644 index 575c9eb7..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/esplora/Blink.cpp.hex +++ /dev/null @@ -1,261 +0,0 @@ -:100000000C94E6000C940E010C940E010C940E015D -:100010000C940E010C940E010C940E010C940E0124 -:100020000C940E010C940E010C9412040C94840494 -:100030000C940E010C940E010C940E010C940E0104 -:100040000C940E010C940E010C940E010C940E01F4 -:100050000C940E010C940E010C940E010C94C1062C -:100060000C940E010C940E010C940E010C940E01D4 -:100070000C940E010C940E010C940E010C940E01C4 -:100080000C940E010C940E010C940E010C940E01B4 -:100090000C940E010C940E010C940E010C940E01A4 -:1000A0000C940E010C940E010C940E0136013901D2 -:1000B00028012C0130015A015A015A013D01410128 -:1000C00045014B014F015A01550100000000240079 -:1000D00027002A002D003000080B00020202010058 -:1000E000090400000102020000052400100105249B -:1000F000010101042402060524060001070581030D -:1001000010004009040100020A0000000705020275 -:100110004000000705830240000004030904417207 -:100120006475696E6F204C4C430041726475696E52 -:100130006F204573706C6F72610012010002000045 -:10014000004041233C800001010203011201000232 -:10015000EF02014041233C80000101020301000045 -:100160000000250028002B002E00310004040404A8 -:10017000040304050202020204030202020206064C -:100180000606060604040202020404040802011022 -:1001900040804010204080408008020401804020C0 -:1001A00010020110801020404020000000020009D1 -:1001B0000F0000030401000C00000000000000001C -:1001C000000000000000000000000B0711241FBE0B -:1001D000CFEFDAE0DEBFCDBF11E0A0E0B1E0E2E0BA -:1001E000F0E102C005900D92A432B107D9F721E0E9 -:1001F000A4E2B1E001C01D92A439B207E1F710E01A -:10020000C6EED0E004C02197FE010E94F407C53E6F -:10021000D107C9F70E9420070C94FF070C94000037 -:10022000E7EBF1E04491E8E9F1E02491E9E7F1E05E -:100230009491992309F451C04423E1F150E0FA016B -:100240003197EF30F105B0F5EA5AFF4F0C94F407FF -:10025000309180003F7707C0309180003F7D03C020 -:1002600030918000377F3093800024C034B53F77D1 -:1002700002C034B53F7D34BD1DC0309190003F7742 -:1002800007C0309190003F7D03C030919000377FD0 -:10029000309390000FC03091C0003F7703C0309181 -:1002A000C0003F7D3093C00005C03091C200377F51 -:1002B0003093C200E92FF0E0EE0FFF1FE25AFE4F2D -:1002C000A591B4919FB7F894EC91811103C020954A -:1002D0002E2301C02E2B2C939FBF0895FC018091EB -:1002E0009301811103C08FEF9FEF08959FB7F8949A -:1002F00082E08093E9002091F20030E012161306AC -:1003000014F421E030E02115310559F0289884E6F5 -:10031000809392018091F10080838091F200882384 -:1003200019F09FBFC90108958BE68093E800F9CFCB -:10033000CF92DF92EF92FF920F931F93CF93DF93B1 -:100340006C017A018B01C0E0D0E0CE15DF0589F0A9 -:10035000D8016D918D01D601ED91FC910190F08154 -:10036000E02DC6010995892B11F47E0102C021966A -:10037000ECCFC701DF91CF911F910F91FF90EF90CC -:10038000DF90CF90089580918A0181110DC082E0A5 -:100390008093860184E080938701109289011092F6 -:1003A000880181E080938A0186E891E00895CF93E7 -:1003B000DF931F92CDB7DEB76983DC01ED91FC912D -:1003C0000280F381E02D41E050E0BE016F5F7F4F7E -:1003D00009950F90DF91CF91089583E08093E90014 -:1003E0008091F200882319F08AE38093E800089551 -:1003F000CF93DF931F92CDB7DEB7FC01848595853F -:1004000097FD05C02FEF3FEF358724870BC0CE0146 -:1004100001960E946E01019719F4898190E002C053 -:100420008FEF9FEF0F90DF91CF9108950F931F9360 -:10043000CF93DF931F92CDB7DEB78C01FC0184858B -:10044000958597FF0EC0CE0101960E946E0101971F -:1004500019F4298130E002C02FEF3FEFF801358712 -:100460002487F801848595850F90DF91CF911F91A6 -:100470000F910895FC018485958597FD0BC09FB76A -:10048000F89482E08093E9008091F2009FBF90E0B1 -:10049000019608959FB7F89482E08093E9008091D7 -:1004A000F2009FBF90E008954091300150913101DA -:1004B00020912E0130912F0142175307B4F49091EF -:1004C000E8009570E1F39091E80092FD19C08093E7 -:1004D000F100809130019091310101968F7399273D -:1004E000892B19F48EEF8093E80080913001909170 -:1004F00031010196909331018093300181E008959C -:1005000080E00895CF92DF92EF92FF920F931F93B6 -:10051000CF93DF931F92CDB7DEB7182F062FE42EAF -:10052000862F880F8E5F99830E94540283E00E9479 -:100530005402F12EC12E9981D92E8C2D8F1980173E -:1005400098F4F601E7FE02C0849101C080810E9408 -:100550005402182F80E00E9454028123FFEFCF1A2B -:10056000DF0A8111EACF01C081E00F90DF91CF91C6 -:100570001F910F91FF90EF90DF90CF900895DF9241 -:10058000EF92FF920F931F93CF93DF93D82E8A01A0 -:100590007B01E40EF51EEB01CE15DF0571F0D7FEF1 -:1005A00003C0FE01849101C088810E9454022196FB -:1005B0008111F2CF8FEF9FEF01C0C801DF91CF9182 -:1005C0001F910F91FF90EF90DF9008950F931F936D -:1005D000CF93DF931F92CDB7DEB782E0898342E4E9 -:1005E00050E068ED70E080E80E94BF020E94C30105 -:1005F000DC0112960D911C9113970115110569F0FC -:10060000D801ED91FC910280F381E02DBE016F5F76 -:100610007F4FC801099597FF07C089810F90DF912F -:10062000CF911F910F910895F80100851185E5CFB5 -:10063000615030F02091F100FC0120830196F8CF49 -:10064000289884E68093920108953FB7F8948091AA -:10065000290190912A01A0912B01B0912C0126B57E -:10066000A89B05C02F3F19F00196A11DB11D3FBFEA -:10067000BA2FA92F982F8827820F911DA11DB11D78 -:10068000BC01CD0142E0660F771F881F991F4A9574 -:10069000D1F708958F929F92AF92BF92CF92DF923F -:1006A000EF92FF926B017C010E9425034B015C01DC -:1006B000C114D104E104F104F1F00E942503DC012E -:1006C000CB0188199909AA09BB09883E9340A10565 -:1006D000B10570F321E0C21AD108E108F10888EEF3 -:1006E000880E83E0981EA11CB11CC114D104E10442 -:1006F000F10419F7DDCFFF90EF90DF90CF90BF901E -:10070000AF909F908F9008958F929F92AF92BF92DB -:10071000CF92DF92EF92FF920F931F93CF93DF93CD -:100720005C016B018A0180910B01882309F45EC092 -:1007300080919301882309F459C08091350180FF8D -:1007400005C08091E00082608093E000E8018AEFBC -:10075000F82E93E0E92E2FE3822E3AE3932E209792 -:1007600009F43DC08FB7F894E092E9009091E80059 -:1007700095FF06C09091F200282D291B922F01C0F1 -:1007800090E08FBF91110AC0FA94FF2079F161E0E7 -:1007900070E080E090E00E944A03E1CF292F30E032 -:1007A000C217D3070CF49C2F8FB7F894E092E9009E -:1007B0002091E80025FF11C0292F30E0C21BD30B88 -:1007C000F601915020F041914093F100FACFC20E12 -:1007D000D31E9091E80095FF13C08FBFC0CF5D98E6 -:1007E00084E6809334011016110644F081E090E015 -:1007F000F5019383828380E090E005C0C80103C0C7 -:100800009092E800EACFDF91CF911F910F91FF9076 -:10081000EF90DF90CF90BF90AF909F908F90089512 -:100820000E94FA071F920F920FB60F9211248F9316 -:100830009F938091E1009091E100937F9093E1007C -:1008400083FF0FC01092E90091E09093EB001092AB -:10085000EC0092E39093ED001092930198E0909356 -:10086000F00082FF20C093E09093E9009091F200A5 -:10087000992319F09AE39093E80090913401992319 -:1008800039F090913401915090933401992389F17A -:1008900090919201992339F0909192019150909307 -:1008A0009201992341F184FF10C08091E2008E7E75 -:1008B00081608093E2008091E1008F7E8093E1006F -:1008C000809135018E7E806111C080FF16C08091BD -:1008D000E2008E7E80618093E2008091E1008E7E56 -:1008E0008093E100809135018E7E81608093350197 -:1008F00004C05D9ACDCF289AD6CF9F918F910F904B -:100900000FBE0F901F9018951F920F920FB60F9267 -:100910001124CF92DF92EF92FF920F931F932F93A8 -:100920003F934F935F936F937F938F939F93AF9377 -:10093000BF93EF93FF93CF93DF93CDB7DEB76C9761 -:10094000DEBFCDBF1092E9008091E80083FFFAC1BD -:1009500068E0CE0145960E94180382EF8093E8007C -:100960008D8987FF05C09091E80090FFFCCF03C000 -:100970009EEF9093E800982F907609F0C6C09E896C -:100980002F89188D91110CC0803829F48091330182 -:100990008093F10002C01092F1001092F10047C163 -:1009A000422F50E0512B913051F4811140C1413020 -:1009B000510509F03CC1809133018D7F0BC093300C -:1009C00061F4811134C14130510509F030C1809189 -:1009D00033018260809333012AC1953041F48091C4 -:1009E000E80080FFFCCF20682093E30020C1963010 -:1009F00009F05FC0EB8CFC8C1092E9001092310181 -:100A000010923001123091F510922F0110922E01A8 -:100A10000E94E60299E0BE016F5F7F4FDB01E92F84 -:100A20001D92EA95E9F799831A8391E09E8390EAF3 -:100A300098879AEF99872091300130913101275F93 -:100A40003F4F3C832B838D831092E900109231013C -:100A500010923001F0922F01E0922E0149E050E017 -:100A600080E00E94BF020E94E602E1C0F0922F01E6 -:100A7000E0922E010E94C301DC011296ED90FC90E1 -:100A80001397E114F10409F4C0C0D701ED91FC9172 -:100A90000480F581E02DBE016B5E7F4FC701099593 -:100AA000009719F00CF0C3C0C6C0F701E084F184D0 -:100AB000E8CF973009F4BFC0983021F481E08093EB -:100AC000F100B5C0993009F0B2C0837009F0B3C02D -:100AD000EDE0F1E081E021E036E39081992361F0DF -:100AE0008093E9002093EB0091919093EC00309378 -:100AF000ED008F5F873089F78EE78093EA001092D0 -:100B0000EA008F898093930192C08B8D9C8D109207 -:100B1000E900109231011092300190932F018093DF -:100B20002E01898D811156C08E899D89913A59F483 -:100B3000813209F080C047E050E064E071E080E07D -:100B40000E94BF0274C0913209F075C0833289F4EB -:100B5000888D90E0982F88272F89822BA0E0B0E025 -:100B60008093000190930101A0930201B0930301CF -:100B70005EC0803269F48091E80082FFFCCF67E0BC -:100B800084E091E00E9418038BEF8093E80006C098 -:100B9000823209F04CC08F8980930B018091320121 -:100BA000882319F0EEEFFAE002C0E0E0F8E080916F -:100BB000040190910501A0910601B0910701803BCD -:100BC0009440A105B10509F088C080910B0180FF18 -:100BD000A0C083C00E94C301DC0112960D911C913C -:100BE00013970115110539F1D801ED91FC91019090 -:100BF000F081E02DBE016B5E7F4FC8010995811128 -:100C000016C0F80100851185ECCF1130C1F013300A -:100C100091F48F89882309F455C08230E9F440E8C3 -:100C20006FE08AE291E00E948202882321F08EEF39 -:100C30008093E80087C081E28093EB0083C08B8DB6 -:100C40009C8D089711F410932D0180912D01811135 -:100C500036C06AE371E038C0813029F440E86BE0C7 -:100C60008EE191E0E0CF833031F70E94C301DC01D7 -:100C70001296ED90FC9013978E010F5F1F4F680145 -:100C8000E114F10479F0D701ED91FC910680F78130 -:100C9000E02DB801C7010995080F111DF701E08487 -:100CA000F184EECFD8011C92F60101900020E9F703 -:100CB0003197BF016C197D0940E0C601B4CF6CE4E7 -:100CC00071E002C06AE171E06115710509F4B3CF0A -:100CD000FB01449150E080E833CF0FB6F894A8951B -:100CE00080916000886180936000109260000FBE68 -:100CF000A895EE3F2AE0F20739F08091FE0A909124 -:100D0000FF0A9183808393CF1092FF0A1092FE0A0C -:100D10008ECFEE3F8AE0F80731F080819181909389 -:100D2000FF0A8093FE0A87E797E7918380839BE021 -:100D300088E10FB6F894A895809360000FBE909359 -:100D4000600075CF6C960FB6F894DEBF0FBECDBFB6 -:100D5000DF91CF91FF91EF91BF91AF919F918F91D3 -:100D60007F916F915F914F913F912F911F910F91C3 -:100D7000FF90EF90DF90CF900F900FBE0F901F90DD -:100D800018951F920F920FB60F9211242F933F9335 -:100D90008F939F93AF93BF938091250190912601EC -:100DA000A0912701B09128013091240123E0230F65 -:100DB0002D3720F40196A11DB11D05C026E8230F93 -:100DC0000296A11DB11D20932401809325019093CB -:100DD0002601A0932701B0932801809129019091C9 -:100DE0002A01A0912B01B0912C010196A11DB11DEA -:100DF0008093290190932A01A0932B01B0932C0199 -:100E0000BF91AF919F918F913F912F910F900FBE06 -:100E10000F901F901895E6E3F1E01382128288EE9E -:100E200093E0A0E0B0E084839583A683B78387E155 -:100E300091E0918380838FEF9FEF9587848708955A -:100E4000789484B5826084BD84B5816084BD85B5A5 -:100E5000826085BD85B5816085BD80916E008160B1 -:100E600080936E0010928100809181008260809357 -:100E70008100809181008160809381008091800059 -:100E800081608093800080919100826080939100C6 -:100E900080919100816080939100809190008160A9 -:100EA000809390008091C10084608093C100809104 -:100EB000C10082608093C1008091C10081608093F5 -:100EC000C1008091C30081608093C3008091C00005 -:100ED00082608093C0008091C20081608093C200D4 -:100EE00080917A00846080937A0080917A00826099 -:100EF00080937A0080917A00816080937A0080915B -:100F00007A00806880937A001092930110923301E6 -:100F1000109235018091D70081608093D70080EADC -:100F20008093D80089B5806189BD89B5826089BD0B -:100F300009B400FEFDCF61E070E080E090E00E9427 -:100F40004A038091D8008F7C80618093D800809183 -:100F5000E000807F8093E0008091E1008E7E8093AE -:100F6000E1008DE08093E200559A209AEEEFFFE7D2 -:100F7000859194918B3F9C4D19F481E080933201CF -:100F8000E8E9F1E02491E9E7F1E08491882399F020 -:100F900090E0880F991FFC01E653FF4FA591B49193 -:100FA000FC01E25AFE4F859194918FB7F894EC9131 -:100FB000E22BEC938FBFC0E0D0E081E00E941001F3 -:100FC00068EE73E080E090E00E944A0380E00E94B7 -:100FD000100168EE73E080E090E00E944A032097E1 -:100FE00061F30E940000E9CFEE0FFF1F0590F4911E -:100FF000E02D099481E090E0F8940C94FF07F894B8 -:02100000FFCF20 -:10100200FFFFFFFF00E100000000000000C180813F -:1010120000000000000000D70184033A02F8011624 -:0410220002ED0100DA -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/esplora/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/esplora/StandardFirmata.cpp.hex deleted file mode 100644 index 9262849a..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/esplora/StandardFirmata.cpp.hex +++ /dev/null @@ -1,948 +0,0 @@ -:100000000C9420010C9448010C9448010C94480174 -:100010000C9448010C9448010C9448010C9448013C -:100020000C9448010C9496110C94EA0B0C945C0C03 -:100030000C9448010C9448010C9448010C9448011C -:100040000C9448010C946B130C9448010C944801D7 -:100050000C9448010C9448010C9448010C944C11E8 -:100060000C9448010C94BF0E0C94990E0C9448010A -:100070000C9448010C9448010C9448010C944801DC -:100080000C9448010C9448010C9448010C944801CC -:100090000C94BB110C9448010C9448010C94480139 -:1000A0000C9448010C9448010C9448014B035003F4 -:1000B00055035F036903B303B303B30373037D0302 -:1000C000870391039E03B303A603B004D504A104E0 -:1000D000EE040F054105360541054105410568055A -:1000E000BF0439094F09A1084F09F8084F097F08D3 -:1000F00029084F094F094F094F094F0903074F09B5 -:10010000E0074F096B088610891078107C10821068 -:10011000AA10AA10AA108D10911095109B109F1074 -:10012000AA10A51000000000250028002B002E00BA -:100130003100000000002300260029002C002F00C1 -:10014000040404040403040502020202040302027C -:10015000020206060606060604040202020404045D -:1001600008020110408040102040804080080204B6 -:10017000018040201002011080102040402000002B -:10018000000200090F0000030401000C0000000041 -:1001900000000000000000000000000000080B004C -:1001A000020202010009040000010202000005240D -:1001B00000100105240101010424020605240600A3 -:1001C000010705810310004009040100020A000034 -:1001D00000070502024000000705830240000004FA -:1001E00003090441726475696E6F204C4C430041F1 -:1001F000726475696E6F204573706C6F7261001266 -:100200000100020000004041233C80000101020384 -:100210000112010002EF02014041233C8000010174 -:10022000020301070605040100080A0B0C0D090072 -:10023000000000240027002A002D003000009A1A38 -:1002400011241FBECFEFDAE0DEBFCDBF25E0A6E46C -:10025000B2E001C01D92A93CB207E1F712E0A0E0B4 -:10026000B1E0E0EEF9E302C005900D92A634B107CB -:10027000D9F711E0C0E2D1E004C02197FE010E944D -:10028000491BCF31D107C9F70E9414160C94EE1CFC -:100290000C940000A82FB0E0A352BD4F9C91292FD1 -:1002A00030E0F901EE0FFF1F2E0F3F1FF901EB5653 -:1002B000FA4FE081F0E09F01220F331FE20FF31F9E -:1002C000E059FA4F80818F7B80838091DB02981305 -:1002D00006C0992379F091509093DB020BC08823DC -:1002E00049F0E091DC02EF5FE093DC02F0E0EB5BD1 -:1002F000FD4F90838FEF8C9308958E3180F4E82F1B -:10030000F0E0DF01A950BB4F9C91913041F4EE0F1A -:10031000FF1FEB5EFA4F608371830C941A0F0895F0 -:10032000CF938C3080F54091D1025091D20221E0E0 -:1003300030E0672B81F4B90102C0660F771F8A9500 -:10034000E2F7CB0180959095842395239093D20278 -:100350008093D10218C0082E02C0220F331F0A94C6 -:10036000E2F7242B352B3093D2022093D1029091C7 -:100370000003911108C0C82F0E94E710BC018C2F08 -:10038000CF910C946B14CF910895AF92BF92CF92FE -:10039000DF92EF92FF920F931F93CF93DF931F9201 -:1003A000CDB7DEB7843008F08EC0982F990F990F23 -:1003B000990F985F9F3108F09EE1D62EB82EBB0CA6 -:1003C000BB0CBB0CFB2CA12CCC24C394F916F0F471 -:1003D0000F2D10E0F801E950FB4F2081223098F4F6 -:1003E000EE24E3948C2D8D2109F4E12C000F111FD4 -:1003F000213009F055C0AC28F801EB5EFA4F2E2DE4 -:1004000030E031832083CC0CF394E0CFA0FE05C014 -:100410006D2D61708B2D0E941A0FA1FE06C06D2DEF -:10042000627081E08B0D0E941A0FA2FE06C06D2D36 -:10043000647082E08B0D0E941A0FA3FE06C06D2D22 -:10044000687083E08B0D0E941A0FA4FE06C06D2D0C -:10045000607184E08B0D0E941A0FA5FE06C06D2D01 -:10046000607285E08B0D0E941A0FA6FE06C06D2DEE -:10047000607486E08B0D0E941A0FA7FE24C06D2DBC -:10048000607887E08B0D0F90DF91CF911F910F91D6 -:10049000FF90EF90DF90CF90BF90AF900C941A0F29 -:1004A000EE2009F4A9CFF801EB5EFA4F20813181EB -:1004B0002130310509F4A0CF62E08F2D99830E948D -:1004C000AB10998199CF0F90DF91CF911F910F9130 -:1004D000FF90EF90DF90CF90BF90AF9008956F9214 -:1004E0007F928F929F92AF92BF92CF92DF92EF92C4 -:1004F000FF920F931F93CF93DF931F92CDB7DEB779 -:10050000982F3B018E3108F03BC1082F10E0F80115 -:10051000E950FB4F8081833009F48CC0843009F0AE -:100520002FC1F801E352FD4FE080F12C6701CC0CA4 -:10053000DD1C603282E078070CF042C077FD05C018 -:10054000653B710524F4DB0104C0A0E001C0A4EB0D -:10055000B0E0F601EE0DFF1DEB56FA4F818128E861 -:1005600030E04901881A910887FD9394880C991C02 -:10057000880C991C092C000CAA08BB08828128E56C -:1005800032E0281B310987FD3395220F331F220FDC -:10059000331FA901330F660B770B9A01AB012819A2 -:1005A00039094A095B090E94B51C24EB30E040E0A0 -:1005B00050E00E948B1C820E931EA41EB51E01C02B -:1005C0004B01F601EE0DFF1DEB56FA4F20812C304A -:1005D00008F0CFC0318188E890E0831B910937FD96 -:1005E0009395880F991F880F991F8816990684F094 -:1005F000828148E552E0481B510987FD5395440F1D -:10060000551F440F551FC401481559050CF4CA0164 -:100610000297880F991F4FB7F89430E0F901EE0F59 -:10062000FF1F2E0F3F1FF901E059FA4F928381837C -:100630004FBF9FC0933059F08BEF890F823038F055 -:1006400087EF890F833018F09D3009F092C061E088 -:10065000892F99830E94AB1099816114710411F460 -:1006600060E005C08FEF6816710429F461E0892FFE -:100670000E941A0F7EC0F801E258FE4FE4914E2FFF -:1006800050E0FA013197EF30F10508F06CC0EA5AFA -:10069000FF4F0C94491B84B5806884BD67BC69C05A -:1006A00084B5806284BD68BC64C08091800080682D -:1006B0008093800070928900609288005AC0809177 -:1006C000800080628093800070928B0060928A002C -:1006D00050C08091800088608093800070928D006F -:1006E00060928C0046C0809190008068809390005A -:1006F00070929900609298003CC080919000806256 -:100700008093900070929B0060929A0032C080911A -:10071000900088608093900070929D0060929C0091 -:1007200028C08091C00080688093C0008091C00084 -:100730008F7B8093C0006092CF001BC08091C0006F -:1007400080628093C0006092D00013C08091C2008C -:1007500088608093C2008091C2008B7F8093C2002A -:100760006092D20006C080E8681671040CF07ECF5B -:1007700077CF000F111FF801EB5EFA4F7182608294 -:100780000F90DF91CF911F910F91FF90EF90DF902D -:10079000CF90BF90AF909F908F907F906F90089573 -:1007A000DB019091DB029C30A8F53091DC02682FD0 -:1007B00070E0332369F0E32FF0E0EB5BFD4F8081C5 -:1007C000FB01E352FD4F808331503093DC0207C0C0 -:1007D000FB01E352FD4F90839F5F9093DB02FB018F -:1007E000E352FD4F808190E09C01220F331F820F66 -:1007F000931F1A161B0634F4141615061CF49A01DE -:10080000AD0104C020E639E040E252E08B569A4F39 -:100810000C94E91240E551E063E181E70C94821405 -:10082000AF92BF92CF92DF92EF92FF920F931F93FE -:10083000CF93DF93C82ED12CE601C455DB4FFE01C8 -:10084000E55BFF4F90819F3709F442C17B01182F70 -:10085000963069F48091FF02882349F06630710573 -:1008600009F432C11092FF028FEF80930C011E3108 -:1008700000F584E0E816F104E1F0F601E352FD4FE3 -:1008800080818C30B0F490E0FC01EE0FFF1F8E0FE2 -:100890009F1FFC01EB56FA4F808190E0FC01EE0FA8 -:1008A000FF1F8E0F9F1FFC01E059FA4F808186FDCC -:1008B000F6C00EEE010F0C3060F461E070E082E0F3 -:1008C000E816F10411F060E070E0802F0E949001C2 -:1008D00002C01E3120F5E12FE695E695E695412F01 -:1008E0004770F0E0E356FD4FE114F10421F08BE096 -:1008F000E816F10451F481E090E001C0880F4A95B8 -:10090000EAF79081892B80830AC021E030E001C0A2 -:10091000220F4A95EAF720958081282320835601EB -:10092000AA0CBB1CF501EB5EFA4F118210828CE021 -:10093000E816F10408F0A5C0F701EB59FF4F0C943D -:10094000491B0C3008F0C4C060E0812F0E94AB103E -:10095000C55BDF4F88818F3709F4BAC082E08FC052 -:100960001E3108F0B5C060E0812F0E94AB10C55B5E -:10097000DF4F88818F3709F4ABC01882A9C01E31C0 -:1009800008F0A6C062E0812F0E94AB10C55BDF4F6C -:1009900088818F3711F08BE08883F501EB5EFA4F89 -:1009A00081E090E09183808393C01E3108F090C075 -:1009B000FE01E55BFF4F8081833021F460E0812FF1 -:1009C0000E941A0F61E0812F0E94AB10C55BDF4FC0 -:1009D00088818F3709F47CC081E051C0133059F011 -:1009E0008BEF810F823038F087EF810F833018F062 -:1009F0001D3009F06DC061E0812F0E94AB1061E0F5 -:100A0000812F0E94AB1060E0812F0E941A0FC55BFE -:100A1000DF4F88818F3709F45BC083E030C01E311F -:100A200008F056C0C55BDF4F88818F3711F084E036 -:100A30008883F601E352FD4F80818F3FA1F190E062 -:100A4000FC01EE0FFF1F8E0F9F1FFC01EB56FA4FAC -:100A5000808190E0FC01EE0FFF1F8E0F9F1FFC01B5 -:100A6000E059FA4F808186FD33C01DC0125012300C -:100A700078F5C55BDF4F88818F3751F186E0888339 -:100A800027C084E691E0DF91CF911F910F91FF90F5 -:100A9000EF90DF90CF90BF90AF900C94BB14812F5C -:100AA0000E944A0106CF4FEF5FEF6FEF7FEF812F7C -:100AB000DF91CF911F910F91FF90EF90DF90CF903A -:100AC000BF90AF900C94D0031E3108F4D6CEF1CE77 -:100AD000DF91CF911F910F91FF90EF90DF90CF901A -:100AE000BF90AF9008950F931F93CF93082F10E0FE -:100AF000F801E356FD4F9081C62FC92305501D4FC5 -:100B0000411104C0D8019C919C1771F1682F80910C -:100B1000AC049091AD04DC01ED91FC916F706069C3 -:100B20000190F081E02D09958091AC049091AD0485 -:100B3000DC01ED91FC916C2F6F770190F081E02D3D -:100B400009958091AC049091AD04DC01ED91FC918C -:100B50006C2F70E0660F672F661F770B0190F08196 -:100B6000E02D0995F801C083CF911F910F91089551 -:100B70000F931F93CF93DF93082F843008F06FC03B -:100B800090E0FC01EF55FD4F6083672B09F467C0CF -:100B9000FC01E356FD4F1081D02FDD0FDD0FDD0F7F -:100BA00010FF4DC08D2F0E94F10E892B09F447C014 -:100BB000C1E011FF07C081E08D0F0E94F10E892B6B -:100BC00009F03FC012FF06C082E08D0F0E94F10EB7 -:100BD000892BC9F513FF06C083E08D0F0E94F10E2B -:100BE000892B99F514FF06C084E08D0F0E94F10E49 -:100BF000892B69F515FF06C085E08D0F0E94F10E67 -:100C0000892B39F5D83191F016FF06C086E08D0F9B -:100C10000E94F10E892BF9F4D73140F417FF06C07A -:100C200087E08D0F0E94F10E892BB9F441E06C2F03 -:100C3000802FDF91CF911F910F910C947305C0E02D -:100C4000B8CFC260BFCFC460C5CFC860CBCFC061D2 -:100C5000D1CFC062D7CFC064DFCFC068E7CFDF910C -:100C6000CF911F910F910895CF92DF92EF92FF9253 -:100C70000F931F93CF93DF931F92CDB7DEB7082F4B -:100C80006B01142F6F3F8FEF780709F181E080939C -:100C90009B030093BD0310929C031092BE0384E655 -:100CA00095E029830E94FD0F2981822F0E943C1527 -:100CB000E0919202F0919302E230F10550F0EE0FD4 -:100CC000FF1FEE0FFF1F35973197F1F702C0C12CC0 -:100CD000D12C80919A038111FCCF212F113208F081 -:100CE00020E281E080939A03809399039FEF909391 -:100CF000980310929703920F909396038093750335 -:100D000080917503902F990F892B809375038091A3 -:100D10007403813061F410927403809175038093A1 -:100D2000BB008091BC0083FDF8CF85EC01C085EE4F -:100D30008093BC0080919A038130E1F38091970306 -:100D4000821710F420919703A6E7B3E041E053E047 -:100D5000FA018E2F841B821718F48D918193F9CF9D -:100D60001092220320932103E12EF12C30E0E216B1 -:100D7000F3061CF485E791E005C02E153F0524F429 -:100D800082E991E00E94BB1400935202C092530288 -:100D9000C12CD12CCE14DF0434F490912103809126 -:100DA0002203981310C062E0610F42E552E087E72A -:100DB0000F90DF91CF911F910F91FF90EF90DF90F7 -:100DC000CF900C94821484E695E00E94B10FF60156 -:100DD000EE5AFD4F82838FEFC81AD80ADBCFEF920D -:100DE000FF920F931F93CF93DF9390E0FC01E9569E -:100DF000F109E231F10508F052C2EA01162FEF586D -:100E0000FF4F0C94491B2981922F987125FF03C035 -:100E10008EEA91E05AC0888131E026FB222720F932 -:100E20002327983069F160F4911139C230939B0304 -:100E30008093BD0310929C031092BE0302E007C092 -:100E4000903109F43CC0983109F46DC028C20117F3 -:100E500078F4FE01E00FF11D8181608120E8829F1E -:100E60006019112484E695E00E94FD0F0E5FEFCF1C -:100E700081E00E943C1583E191E00197F1F70FC2F8 -:100E80004A816B81163069F430E8639FB001112408 -:100E9000640F711D9D814C81E0E89E9F40191124D3 -:100EA00006C0F0E86F9F401911246FEF7FEFDF91CC -:100EB000CF911F910F91FF90EF900C943406E09129 -:100EC0000C01E73054F08EEC91E0DF91CF911F914F -:100ED0000F91FF90EF900C94BB149A814B81663078 -:100EE00069F430E8439FA0011124490F511D3D8151 -:100EF0009C8160E8369F9019112406C0F0E84F9F4E -:100F0000901911244FEF5FEFEF5FE0930C0135E094 -:100F1000E302F0011124E755FD4F808352834183A2 -:100F200093832483BCC120910C01121614F08FEF1F -:100F300044C090E0622F022E000C770B35E0492F61 -:100F400050E06417750774F0349FF001359FF00D81 -:100F50001124E755FD4F4081481302C085E026C0AB -:100F60009F5FEDCF90E0FACF9830F8F4FA01319618 -:100F70008E9FD0018F9FB00D1124A755BD4F3C917E -:100F8000849FF001859FF00D1124E755FD4F3083BC -:100F900011964D915C9112975283418313963C9127 -:100FA0001397338314963C9134839F5F492F50E00D -:100FB00064177507CCF68FEF820F80930C016FC119 -:100FC0002881898160E8869FC0011124820F911DCC -:100FD000009721F090939302809392028091FF02F8 -:100FE00081115DC1C0E08EEF8C0F823028F466E085 -:100FF00070E08C2F0E941004CF5FCE31A1F781E00A -:101000008093FF02109222031092210310929C03FE -:101010001092BE0310929A03809399031092740366 -:1010200061E082E00E941A0F61E083E00E941A0FE3 -:101030008091B9008E7F8093B9008091B9008D7F37 -:101040008093B90088E48093B80085E48093BC0065 -:1010500026C1653008F423C11881F9800A81EB802C -:10106000CC811E3108F01BC1E12FF0E0E352FD4FAF -:1010700020812C30B0F430E0F901EE0FFF1F2E0F6D -:101080003F1FF901EB56FA4F208130E0F901EE0FD6 -:10109000FF1F2E0F3F1FF901E059FA4F808186FD97 -:1010A000FAC080E8C89FA00111244E0D511D90E8A0 -:1010B000099FB00111246F0D711D812F0E94D00373 -:1010C00064E070E0812FDF91CF911F910F91FF902D -:1010D000EF900C941004623008F4E1C028818981FB -:1010E000E0E88E9FC0011124820F911D009711F43A -:1010F00081E090E090930E0180930D01D0C06230AA -:1011000008F4CDC0698170E0123091F08A81F0E876 -:101110008F9FC0011124682B792B133049F08B81EC -:1011200090E090E4899F902D88271124682B792BDB -:101130008881DF91CF911F910F91FF90EF900C94D8 -:101140006F0280EF0E942F158CE60E942F15C0E0E1 -:1011500080E00E942F1581E00E942F158BE00E94F5 -:101160002F1581E00E942F1581E00E942F1581E04C -:101170000E942F158EEE8C0F8C3038F482E00E9486 -:101180002F158AE00E942F1509C0C33039F483E07F -:101190000E942F1588E00E942F150AC08BEF8C0F3C -:1011A0008230A8F387EF8C0F833088F3CD3079F34A -:1011B00084E00E942F158EE00E942F158EEF8C0F79 -:1011C000823030F486E00E942F1581E00E942F15B6 -:1011D0008FE70E942F15CF5FCE3109F0B9CF87EF8F -:1011E000DF91CF911F910F91FF90EF900C942F15ED -:1011F000662309F454C0C88180EF0E942F158EE643 -:101200000E942F158C2F0E942F15CE3140F7D0E071 -:10121000FE01E950FB4F80810E942F15CC0FDD1F8E -:101220008E010B5E1A4FF80180818F770E942F1577 -:10123000F801808191819C012078232B39F0880F5F -:10124000892F881F990B8F770E942F15CB5EDA4F5D -:10125000888199819C012227307C232B09F4BFCF00 -:10126000990F880B990F982F881F8F770E942F1541 -:10127000B6CF80EF0E942F158AE60E942F15CEEE82 -:10128000CC3010F48C2F01C08FE70E942F15CF5F58 -:10129000CC30B1F7A4CF812F0E944A0102CFDF9159 -:1012A000CF911F910F91FF90EF9008954091970279 -:1012B000509198022091950230919602421753075F -:1012C000B4F49091E8009570E1F39091E80092FDFC -:1012D00019C08093F1008091970290919802019635 -:1012E0008F739927892B19F48EEF8093E8008091F2 -:1012F000970290919802019690939802809397029A -:1013000081E0089580E00895DF92EF92FF920F93BD -:101310001F93CF93DF93D82E8A017B01E40EF51E35 -:10132000EB01CE15DF0571F0D7FE03C0FE018491FD -:1013300001C088810E94560921968111F2CF8FEF5A -:101340009FEF01C0C801DF91CF911F910F91FF90D6 -:10135000EF90DF900895615030F02091F100FC0192 -:1013600020830196F8CF289884E68093720308952D -:10137000CF92DF92EF92FF920F931F93CF93DF9361 -:101380006C017A018B01C0E0D0E0CE15DF0589F059 -:10139000D8016D918D01D601ED91FC910190F08104 -:1013A000E02DC6010995892B11F47E0102C021961A -:1013B000ECCFC701DF91CF911F910F91FF90EF907C -:1013C000DF90CF900895FC01918D828D981761F088 -:1013D000828DDF01A80FB11D5D968C91928D9F5F6C -:1013E0009F73928F90E008958FEF9FEF0895FC0117 -:1013F000918D828D981731F0828DE80FF11D858DCA -:1014000090E008958FEF9FEF0895FC01918D228D5C -:10141000892F90E0805C9F4F821B91098F739927E1 -:1014200008958FEB93E00E94050A21E0892B09F4CF -:1014300020E0822F0895FC01848DDF01A80FB11DEB -:10144000A35ABF4F2C91848D90E001968F739927FA -:10145000848FA689B7892C93A089B1898C918064E7 -:101460008C93938D848D981306C00288F389E02DA8 -:1014700080818F7D80830895EF92FF920F931F9359 -:10148000CF93DF93EC0181E0888F9B8D8C8D981337 -:1014900005C0E889F989808185FD24C0F62E0B8D71 -:1014A00010E00F5F1F4F0F731127E02E8C8DE81295 -:1014B0000CC00FB607FCFACFE889F989808185FF57 -:1014C000F5CFCE010E941B0AF1CF8B8DFE01E80FF4 -:1014D000F11DE35AFF4FF0820B8FEA89FB8980816F -:1014E000806207C0EE89FF896083E889F98980817D -:1014F0008064808381E090E0DF91CF911F910F9114 -:10150000FF90EF900895CF93DF93EC01888D8823AF -:10151000C9F0EA89FB89808185FD05C0A889B98960 -:101520008C9186FD0FC00FB607FCF5CF808185FF3B -:10153000F2CFA889B9898C9185FFEDCFCE010E94A9 -:101540001B0AE7CFDF91CF91089580E090E0892BCF -:1015500029F00E94110A81110C9400000895CF9384 -:10156000DF931F92CDB7DEB76983DC01ED91FC916B -:101570000280F381E02D41E050E0BE016F5F7F4FBC -:1015800009950F90DF91CF91089583E08093E90052 -:101590008091F200882319F08AE38093E80008958F -:1015A000FC018485958597FD0BC09FB7F89482E078 -:1015B0008093E9008091F2009FBF90E0019608952A -:1015C0009FB7F89482E08093E9008091F2009FBF7A -:1015D00090E008950F931F93CF93DF931F92CDB7A1 -:1015E000DEB782E0898342E450E06DE971E080E893 -:1015F0000E9484090E94C315DC0112960D911C9172 -:1016000013970115110569F0D801ED91FC91028045 -:10161000F381E02DBE016F5F7F4FC801099597FFF1 -:1016200007C089810F90DF91CF911F910F9108958D -:10163000F80100851185E5CF8F929F92AF92BF92FE -:10164000CF92DF92EF92FF920F931F93CF93DF938E -:101650005C016B018A0180910B01882309F45EC053 -:1016600080917303882309F459C080919B0280FF05 -:1016700005C08091E00082608093E000E8018AEF7D -:10168000F82E93E0E92E2FE3822E3AE3932E209753 -:1016900009F43DC08FB7F894E092E9009091E8001A -:1016A00095FF06C09091F200282D291B922F01C0B2 -:1016B00090E08FBF91110AC0FA94FF2079F161E0A8 -:1016C00070E080E090E00E941211E1CF292F30E01D -:1016D000C217D3070CF49C2F8FB7F894E092E9005F -:1016E0002091E80025FF11C0292F30E0C21BD30B49 -:1016F000F601915020F041914093F100FACFC20ED3 -:10170000D31E9091E80095FF13C08FBFC0CF5D98A6 -:1017100084E6809399021016110644F081E090E06F -:10172000F5019383828380E090E005C0C80103C087 -:101730009092E800EACFDF91CF911F910F91FF9037 -:10174000EF90DF90CF90BF90AF909F908F900895D3 -:10175000CF93DF931F92CDB7DEB7FC0184859585CB -:1017600097FD05C02FEF3FEF358724870BC0CE01D3 -:1017700001960E949915019719F4898190E002C0A1 -:101780008FEF9FEF0F90DF91CF9108950F931F93ED -:10179000CF93DF931F92CDB7DEB78C01FC01848518 -:1017A000958597FF0EC0CE0101960E94991501976D -:1017B00019F4298130E002C02FEF3FEFF80135879F -:1017C0002487F801848595850F90DF91CF911F9133 -:1017D0000F9108951F920F920FB60F9211248F93BD -:1017E0009F938091E1009091E100937F9093E100BD -:1017F00083FF0FC01092E90091E09093EB001092EC -:10180000EC0092E39093ED001092730398E09093B4 -:10181000F00082FF20C093E09093E9009091F200E5 -:10182000992319F09AE39093E800909199029923F3 -:1018300039F090919902915090939902992389F1EE -:1018400090917203992339F0909172039150909383 -:101850007203992341F184FF10C08091E2008E7ED3 -:1018600081608093E2008091E1008F7E8093E100AF -:1018700080919B028E7E806111C080FF16C0809196 -:10188000E2008E7E80618093E2008091E1008E7E96 -:101890008093E10080919B028E7E816080939B0209 -:1018A00004C05D9ACDCF289AD6CF9F918F910F908B -:1018B0000FBE0F901F9018951F920F920FB60F92A8 -:1018C0001124CF92DF92EF92FF920F931F932F93E9 -:1018D0003F934F935F936F937F938F939F93AF93B8 -:1018E000BF93EF93FF93CF93DF93CDB7DEB76C97A2 -:1018F000DEBFCDBF1092E9008091E80083FFFAC1FE -:1019000068E0CE0145960E94AB0982EF8093E80023 -:101910008D8987FF05C09091E80090FFFCCF03C040 -:101920009EEF9093E800982F907609F0C6C09E89AC -:101930002F89188D91110CC0803829F480919C0258 -:101940008093F10002C01092F1001092F10047C1A3 -:10195000422F50E0512B913051F4811140C1413060 -:10196000510509F03CC180919C028D7F0BC09330E2 -:1019700061F4811134C14130510509F030C18091C9 -:101980009C02826080939C022AC1953041F4809130 -:10199000E80080FFFCCF20682093E30020C1963050 -:1019A00009F05FC0EB8CFC8C1092E9001092980259 -:1019B00010929702123091F51092960210929502B1 -:1019C0000E94EA0A99E0BE016F5F7F4FDB01E92FB9 -:1019D0001D92EA95E9F799831A8391E09E8390EA34 -:1019E00098879AEF99872091970230919802275F04 -:1019F0003F4F3C832B838D831092E9001092980215 -:101A000010929702F0929602E092950249E050E01F -:101A100080E00E9484090E94EA0AE1C0F0929602E6 -:101A2000E09295020E94C315DC011296ED90FC90A5 -:101A30001397E114F10409F4C0C0D701ED91FC91B2 -:101A40000480F581E02DBE016B5E7F4FC7010995D3 -:101A5000009719F00CF0C3C0C6C0F701E084F18410 -:101A6000E8CF973009F4BFC0983021F481E080932B -:101A7000F100B5C0993009F0B2C0837009F0B3C06D -:101A8000EAE1F1E081E021E036E39081992361F021 -:101A90008093E9002093EB0091919093EC003093B8 -:101AA000ED008F5F873089F78EE78093EA00109210 -:101AB000EA008F898093730392C08B8D9C8D109266 -:101AC000E9001092980210929702909396028093E8 -:101AD0009502898D811156C08E899D89913A59F45C -:101AE000813209F080C047E050E064E071E080E0BE -:101AF0000E94840974C0913209F075C0833289F460 -:101B0000888D90E0982F88272F89822BA0E0B0E065 -:101B10008093000190930101A0930201B09303010F -:101B20005EC0803269F48091E80082FFFCCF67E0FC -:101B300084E091E00E94AB098BEF8093E80006C03F -:101B4000823209F04CC08F8980930B0180919A02F8 -:101B5000882319F0EEEFFAE002C0E0E0F8E08091AF -:101B6000040190910501A0910601B0910701803B0D -:101B70009440A105B10509F088C080910B0180FF58 -:101B8000A0C083C00E94C315DC0112960D911C9168 -:101B900013970115110539F1D801ED91FC910190D0 -:101BA000F081E02DBE016B5E7F4FC8010995811168 -:101BB00016C0F80100851185ECCF1130C1F013304B -:101BC00091F48F89882309F455C08230E9F440E804 -:101BD0006FE08FEE91E00E94D715882321F08EEF01 -:101BE0008093E80087C081E28093EB0083C08B8DF7 -:101BF0009C8D089711F410939402809194028111A6 -:101C000036C06FEF71E038C0813029F440E86BE0F6 -:101C100083EE91E0E0CF833031F70E94C315DC0101 -:101C20001296ED90FC9013978E010F5F1F4F680185 -:101C3000E114F10479F0D701ED91FC910680F78170 -:101C4000E02DB801C7010995080F111DF701E084C7 -:101C5000F184EECFD8011C92F60101900020E9F743 -:101C60003197BF016C197D0940E0C601B4CF61E135 -:101C700072E002C06FED71E06115710509F4B3CF38 -:101C8000FB01449150E080E833CF0FB6F894A8955B -:101C900080916000886180936000109260000FBEA8 -:101CA000A895EE3F2AE0F20739F08091FE0A909164 -:101CB000FF0A9183808393CF1092FF0A1092FE0A4D -:101CC0008ECFEE3F8AE0F80731F0808191819093CA -:101CD000FF0A8093FE0A87E797E7918380839BE062 -:101CE00088E10FB6F894A895809360000FBE90939A -:101CF000600075CF6C960FB6F894DEBF0FBECDBFF7 -:101D0000DF91CF91FF91EF91BF91AF919F918F9113 -:101D10007F916F915F914F913F912F911F910F9103 -:101D2000FF90EF90DF90CF900F900FBE0F901F901D -:101D300018951F920F920FB60F9211242F933F9375 -:101D40004F935F936F937F938F939F93AF93BF93C3 -:101D5000EF93FF938FEB93E00E941B0AFF91EF91AB -:101D6000BF91AF919F918F917F916F915F914F91B3 -:101D70003F912F910F900FBE0F901F9018951F92BB -:101D80000F920FB60F9211242F938F939F93EF937F -:101D9000FF93E091CF03F091D0038081E091D503D0 -:101DA000F091D60382FD12C090818091D8038F5F9D -:101DB0008F732091D903821751F0E091D803F0E09E -:101DC000E154FC4F958F8093D80301C08081FF912F -:101DD000EF919F918F912F910F900FBE0F901F90B9 -:101DE0001895CF93DF93282F30E0F901E258FE4F8A -:101DF0008491F901E15AFE4FD491F901E05CFE4F64 -:101E0000C491CC2391F081110E946E10EC2FF0E070 -:101E1000EE0FFF1FEE5CFE4FA591B491EC91ED2308 -:101E200081E090E021F480E002C080E090E0DF916A -:101E3000CF9108951F93CF93DF93282F30E0F901BE -:101E4000E258FE4F8491F901E15AFE4FD491F90115 -:101E5000E05CFE4FC491CC23C9F0162F81110E9483 -:101E60006E10EC2FF0E0EE0FFF1FEC5DFE4FA59122 -:101E7000B4918FB7F894111105C09C91ED2FE095A6 -:101E8000E92302C0EC91ED2BEC938FBFDF91CF9152 -:101E90001F9108953FB7F89480916E0390916F035E -:101EA000A0917003B091710326B5A89B05C02F3F88 -:101EB00019F00196A11DB11D3FBFBA2FA92F982F70 -:101EC0008827820F911DA11DB11DBC01CD0142E0EB -:101ED000660F771F881F991F4A95D1F7089585EDE2 -:101EE0008093BC008091BC0084FDFCCF10929A03CB -:101EF000089540914603262F30E0240F311D2132F2 -:101F00003105DCF420919A032430C9F4FC0180E00F -:101F100090E0861758F4309146032191DC01AC5DC6 -:101F2000BC4FA30FB11D2C930196F3CF80914603B4 -:101F3000680F6093460380E0089581E0089582E091 -:101F400008950895E091220380912103E81730F469 -:101F5000F0E0EF5FFC4F808190E008958FEF9FEFFE -:101F600008959091220380912103981750F4E92F4E -:101F7000F0E0EF5FFC4F208130E09F5F9093220301 -:101F800002C02FEF3FEFC90108958091210390E037 -:101F900020912203821B91090895CF92DF92EF9244 -:101FA000FF920F931F93CF93DF937C01262F972FE0 -:101FB0008A0180919B03882391F0C62FD72F6E0151 -:101FC000C40ED51ECC15DD0571F06991D701ED91D8 -:101FD000FC910190F081E02DC7010995F3CF642FAA -:101FE000822F0E94790FC801DF91CF911F910F912D -:101FF000FF90EF90DF90CF900895CF93DF931F92E3 -:10200000CDB7DEB7698320919B032223D1F02091C5 -:10201000BE03203240F021E030E0FC013383228314 -:1020200080E090E015C080919C03E82FF0E0E3563B -:10203000FC4F998190838F5F80939C038093BE03B4 -:1020400005C061E0CE0101960E94790F81E090E029 -:102050000F90DF91CF9108950F931F93CF93DF934C -:1020600081E0809300038091FF02882329F0109281 -:10207000FF028FEF80930C01CDE9D2E0ABEFB2E02D -:10208000E1EAF2E084E08E0F119219921D928E1314 -:10209000FBCF0DED12E0C0E0DFEF8EEE8C0F8C3049 -:1020A00018F462E070E002C061E070E08C2F0E94E2 -:1020B0001004F801D1938F01CF5FCE3171F71092E8 -:1020C000D2021092D1021092DC021092DB02109226 -:1020D0000003DF91CF911F910F91089590E0FC01D3 -:1020E0003197EF30F105B0F5ED57FF4F0C94491BD8 -:1020F000809180008F7703C0809180008F7D8093D6 -:102100008000089580918000877FF9CF84B58F7714 -:1021100002C084B58F7D84BD0895809190008F7733 -:1021200007C0809190008F7D03C080919000877FD1 -:102130008093900008958091C0008F7703C08091B4 -:10214000C0008F7D8093C00008958091C200877F7A -:102150008093C2000895CF93DF9390E0FC01E15A91 -:10216000FE4F2491FC01E05CFE4F8491882361F1D5 -:1021700090E0880F991FFC01E15DFD4FC591D4915E -:10218000FC01EC5DFE4FA591B491611109C09FB7B0 -:10219000F8948881209582238883EC912E230BC0AC -:1021A000623061F49FB7F8943881822F8095832341 -:1021B0008883EC912E2B2C939FBF06C08FB7F89489 -:1021C000E8812E2B28838FBFDF91CF910895823134 -:1021D00008F08251E82FF0E0ED5DFD4FE491809131 -:1021E0007B00E3FB222720F930E095E0220F331F2C -:1021F0009A95E1F78F7D282B20937B00E770E064B0 -:10220000E0937C0080917A00806480937A008091D2 -:102210007A0086FDFCCF809178002091790090E0D3 -:10222000922B08958F929F92AF92BF92CF92DF929E -:10223000EF92FF926B017C010E944A0F4B015C01FF -:10224000C114D104E104F104F1F00E944A0FDC0151 -:10225000CB0188199909AA09BB09883E9340A105B9 -:10226000B10570F321E0C21AD108E108F10888EE47 -:10227000880E83E0981EA11CB11CC114D104E10496 -:10228000F10419F7DDCFFF90EF90DF90CF90BF9072 -:10229000AF909F908F9008951F920F920FB60F925C -:1022A00011242F933F938F939F93AF93BF9380916C -:1022B000A5029091A602A091A702B091A802309128 -:1022C0006D0323E0230F2D3720F40196A11DB11DCE -:1022D00005C026E8230F0296A11DB11D20936D03B2 -:1022E0008093A5029093A602A093A702B093A802A0 -:1022F00080916E0390916F03A0917003B091710370 -:102300000196A11DB11D80936E0390936F03A0935E -:102310007003B0937103BF91AF919F918F913F91E3 -:102320002F910F900FBE0F901F9018951F920F9234 -:102330000FB60F9211240F900FBE0F901F9018959B -:10234000FC01158216821782DC011896885B9F4F6C -:102350001D92A817B907E1F71C92DF01A75BBF4FD9 -:102360001D921C92EF54FF4F0190F081E02D3097A9 -:1023700009F0099408951F920F920FB60F9211243D -:102380002F933F934F935F936F937F938F939F937D -:10239000AF93BF93EF93FF938091B900887F80360E -:1023A00009F49CC068F5883209F45BC090F4803170 -:1023B00009F454C038F4882309F4F6C0883009F4CD -:1023C0004DC0F6C0883109F44CC0803209F45DC0BC -:1023D000EFC0803409F468C048F4803309F455C074 -:1023E000883309F0E5C080939803D8C0803509F49C -:1023F0004FC0883509F45DC0883409F0D9C0D6C013 -:10240000883909F4C7C0A8F4883709F467C038F4DC -:10241000883609F463C0803709F460C0C9C08838C1 -:1024200009F4B8C0803909F45FC0803809F0C0C031 -:102430005BC0803B09F486C038F4803A09F466C07A -:10244000883A09F47FC0B4C0803C09F4A7C0883C36 -:1024500009F4A4C0883B09F48AC0AAC0809175031E -:1024600010C09091970380919603981770F5E091B2 -:10247000970381E08E0F80939703F0E0EA58FC4FBA -:1024800080818093BB0085EC86C0809398038EC0CA -:10249000E091970381E08E0F809397038091BB00BA -:1024A000F0E0EA58FC4F8083909197038091960367 -:1024B0006EC0E091970381E08E0F80939703809127 -:1024C000BB00F0E0EA58FC4F8083809199038111B2 -:1024D0006DC081E08093740384EA61C083E08093DF -:1024E0009A0310926A03CFCF80916A03803208F07A -:1024F00051C0E0916A0381E08E0F80936A0380915E -:10250000BB00F0E0E65BFC4F8083BDCF85EC8093A1 -:10251000BC0010929A0380916A03803230F4E091FB -:102520006A03F0E0E65BFC4F108260916A0370E0A2 -:10253000E0914803F09149038AE493E009951092F1 -:102540006A0336C084E080939A0310924703109286 -:102550004603E0914403F0914503099580914603B9 -:10256000811105C081E08093460310922403E0911D -:10257000470381E08E0F80934703F0E0EC5DFC4F52 -:1025800080818093BB009091470380914603981708 -:1025900008F479CF85E88093BC000AC085EC80936D -:1025A000BC0010929A0304C0109298030E946F0F0F -:1025B000FF91EF91BF91AF919F918F917F916F911B -:1025C0005F914F913F912F910F900FBE0F901F90F1 -:1025D0001895DF92EF92FF920F931F93CF93DF93A3 -:1025E000EC01D62E7A01890188818C3008F06AC00E -:1025F00061E08D2D0E94AB108881E82FF0E09F01F3 -:10260000220F331FE20FF31FE059FA4F9D2D9F73E6 -:102610002081207CD22ED92AD08260E272E0AB01E8 -:102620004E195F0957FF02C04D5F5F4F55954795A3 -:1026300055954795498340E659E09A01201B310B97 -:1026400037FF02C02D5F3F4F35952795359527956C -:102650002A836CE00E943D1B9CE0899FB0011124FD -:1026600040E050E09A01260F371FF901EE0FFF1FDF -:102670002E0F3F1FF901E059FA4F908196FD16C0C9 -:102680004F5F5F4F4C30510569F781110FC01092B9 -:10269000800082E080938100109285001092840077 -:1026A000B19A80916F00826080936F00E881F0E0C2 -:1026B000CF01880F991FE80FF91FE059FA4F808169 -:1026C000806480838881DF91CF911F910F91FF906B -:1026D000EF90DF9008951F920F920FB60F92112482 -:1026E0002F933F934F935F936F937F938F939F931A -:1026F000AF93BF93EF93FF938091230387FF05C0B0 -:1027000010928500109284001BC020912303022E9A -:10271000000C330B8091940590E02817390784F45E -:1027200080912303082E000C990BFC01EE0FFF1F74 -:102730008E0F9F1FFC01E059FA4F808186FD15C066 -:10274000809123038F5F8093230320912303022E24 -:10275000000C330B8091940590E028173907C4F4DE -:10276000809123038C3064F113C080912303082EE1 -:10277000000C990BFC01EE0FFF1F8E0F9F1FFC0139 -:10278000E059FA4F808160E08F730E941A0FD8CF12 -:102790008091840090918500049680349C4918F4BF -:1027A00080E49CE905C080918400909185000496A6 -:1027B00090938900809388008FEF809323033BC020 -:1027C000209184003091850080912303082E000C15 -:1027D000990BFC01EE0FFF1F8E0F9F1FFC01E059AC -:1027E000FA4F81819281820F931F90938900809389 -:1027F000880080912303082E000C990BFC01EE0F3A -:10280000FF1F8E0F9F1FFC01E059FA4F808186FF4A -:1028100012C080912303082E000C990BFC01EE0FCF -:10282000FF1F8E0F9F1FFC01E059FA4F808161E06E -:102830008F730E941A0FFF91EF91BF91AF919F91FB -:102840008F917F916F915F914F913F912F910F9059 -:102850000FBE0F901F9018950F931F93CF93DF9388 -:10286000EC010CEA14E0D8018D919C91DC01ED9112 -:10287000FC916C2F6F770190F081E02D0995F801A4 -:1028800080819181DC01ED91FC91CC0FCD2FCC1F8B -:10289000DD0B6C2F6F770190F081E02DDF91CF91F0 -:1028A0001F910F9109948091AC049091AD04DC01CB -:1028B000ED91FC910190F081E02D67EF09948091FA -:1028C000AC049091AD04DC01ED91FC910190F0819C -:1028D000E02D60EF0994CF93DF93EB01A091AC045E -:1028E000B091AD04ED91FC9111978F70682F606EDF -:1028F0000190F081E02DCD010995CE01DF91CF91BE -:102900000C942C14EF92FF920F931F93CF93DF93AD -:1029100000D01F92CDB7DEB7162F4A835B83898321 -:102920000E945F14A091AC04B091AD04ED91FC91B4 -:1029300011970190F081E02D8981682FCD010995D3 -:102940004A81042FE42E5B81F52E8E2D801B81178A -:1029500038F4F70181917F0190E00E942C14F5CFAB -:102960000F900F900F90DF91CF911F910F91FF90DB -:10297000EF900C945314FC0101900020E9F731977B -:10298000BF01681B790BAC0181E70C948214CF93D3 -:102990000E945F148091AC049091AD04DC01ED9134 -:1029A000FC910190F081E02D69E709958091AC04DC -:1029B0009091AD04DC01ED91FC91A091AF04B09138 -:1029C000B0040190F081E02D6C9109958091AC04E8 -:1029D0009091AD04DC01ED91FC91A091AF04B09118 -:1029E000B0040190F081E02D11966C910995C2E040 -:1029F0008091AE04C81760F4E091AF04F091B00488 -:102A0000EC0FF11D808190E00E942C14CF5FF0CF7D -:102A1000CF910C945314CF93DF93CCEAD4E0888108 -:102A20009981DC01ED91FC910190F081E02D69EF3D -:102A3000099588819981DC01ED91FC910190F081EB -:102A4000E02D62E0099588819981DC01ED91FC918E -:102A50000190F081E02D65E0DF91CF910994A09184 -:102A6000AC04B091AD04ED91FC9111970190F0810F -:102A7000E02D682FCD010994382F2091BE0390914D -:102A8000BD03213208F049C080919A038111FCCF27 -:102A900042E040939A03309399033FEF30939803B9 -:102AA0001092970320939603ADE9B3E046E753E015 -:102AB000FA013E2F341B321718F43D913193F9CFB0 -:102AC0001092750320917503990F922B90937503C3 -:102AD00090917403913061F4109274039091750396 -:102AE0009093BB009091BC0093FDF8CF95EC01C092 -:102AF00095EE9093BC0090919A039230E1F39091FF -:102B000098039F3F79F080919803803241F0809143 -:102B10009803803331F084E005C081E003C082E097 -:102B200001C083E010929C031092BE0310929B039D -:102B30000895FC0180917303811103C08FEF9FEF13 -:102B400008959FB7F89482E08093E9002091F20005 -:102B500030E01216130614F421E030E0211531059F -:102B600059F0289884E6809372038091F100808365 -:102B70008091F200882319F09FBFC90108958BE668 -:102B80008093E800F9CF8091BD0581110DC082E0EE -:102B90008093B90584E08093BA051092BC05109229 -:102BA000BB0581E08093BD0589EB95E00895CF9248 -:102BB000DF92EF92FF920F931F93CF93DF931F92B9 -:102BC000CDB7DEB7182F062FE42E862F880F8E5F25 -:102BD00099830E94560983E00E945609F12EC12E66 -:102BE0009981D92E8C2D8F19801798F4F601E7FE64 -:102BF00002C0849101C080810E945609182F80E094 -:102C00000E9456098123FFEFCF1ADF0A8111EACF14 -:102C100001C081E00F90DF91CF911F910F91FF9044 -:102C2000EF90DF90CF900895789484B5826084BD52 -:102C300084B5816084BD85B5826085BD85B58160C0 -:102C400085BD80916E00816080936E00109281003E -:102C500080918100826080938100809181008160F9 -:102C600080938100809180008160809380008091BA -:102C700091008260809391008091910081608093A7 -:102C80009100809190008160809390008091C100BC -:102C900084608093C1008091C10082608093C100F4 -:102CA0008091C10081608093C1008091C3008160E8 -:102CB0008093C3008091C00082608093C0008091A7 -:102CC000C20081608093C20080917A00846080930A -:102CD0007A0080917A00826080937A0080917A00F5 -:102CE000816080937A0080917A00806880937A0076 -:102CF0001092730310929C0210929B028091D70055 -:102D000081608093D70080EA8093D80089B5806184 -:102D100089BD89B5826089BD09B400FEFDCF61E03F -:102D200070E080E090E00E9412118091D8008F7CCA -:102D300080618093D8008091E000807F8093E000E4 -:102D40008091E1008E7E8093E1008DE08093E2002F -:102D5000559A209AEEEFFFE7859194918B3F9C4D19 -:102D600019F481E080939A0285E18093AE0480910A -:102D7000AF049091B0040E94E41BC091AE04D0E077 -:102D8000CE0101960E944F1B9093B0048093AF0434 -:102D9000FC01EC0FFD1F108222E0DC012C9325E0EA -:102DA00011962C93AE014250510962E372E00296F3 -:102DB0000E947C1C8FE692E090935205809351050F -:102DC00085EC91E0909354058093530580E991E060 -:102DD000909356058093550588EB95E090935805A0 -:102DE0008093570580E194E090935A0580935905AC -:102DF0008DE791E090935C0580935B058FEE96E004 -:102E000090936205809361058CE290E190935E055A -:102E100080935D058FEF9FEF909369048093680422 -:102E20008CE594E09093AD048093AC0480916305AD -:102E3000811150C061E08DE00E94AB1062ED70E046 -:102E400080E090E00E94121161E08DE00E941A0F74 -:102E500068E270E080E090E00E94121160E08DE096 -:102E60000E941A0F62ED70E080E090E00E94121163 -:102E700061E08DE00E941A0F68E270E080E090E06F -:102E80000E94121160E08DE00E941A0F6AEF70E05C -:102E900080E090E00E941211C0E062ED70E080E0FE -:102EA00090E00E94121161E08DE00E941A0F68E22A -:102EB00070E080E090E00E94121160E08DE00E94DE -:102EC0001A0FCF5FC53049F76DE770E080E090E002 -:102ED0000E9412110E940B158091AE0481110E9474 -:102EE000C714C0910B016AE070E080E090E00E949E -:102EF0001211CC23B1F30E942C1015E0BB24B39423 -:102F000002E08091A102882309F448C0F0909D025C -:102F1000F0FED4C280E00E94F10E892B09F4CEC2EB -:102F2000C1E0F1FE06C081E00E94F10E892B09F09C -:102F3000C7C2F2FE06C082E00E94F10E892B09F0A2 -:102F4000C1C2F3FE06C083E00E94F10E892B09F096 -:102F5000BBC2F4FE06C084E00E94F10E892B09F08A -:102F6000B5C2F5FE06C085E00E94F10E892B09F07E -:102F7000AFC2F6FE06C086E00E94F10E892B09F072 -:102F8000A9C2F7FE06C087E00E94F10E892B09F066 -:102F9000A3C240E06C2F80E00E9473058091A202E2 -:102FA000882309F448C0F0909E02F0FE97C288E0A2 -:102FB0000E94F10E892B09F491C2C1E0F1FE06C016 -:102FC00089E00E94F10E892B09F08AC2F2FE06C048 -:102FD0008AE00E94F10E892B09F084C2F3FE06C03C -:102FE0008BE00E94F10E892B09F07EC2F4FE06C030 -:102FF0008CE00E94F10E892B09F078C2F5FE06C024 -:103000008DE00E94F10E892B09F072C2F6FE06C017 -:103010008EE00E94F10E892B09F06CC2F7FE06C00B -:103020008FE00E94F10E892B09F066C240E06C2F00 -:1030300081E00E9473058091A302882309F448C0AF -:10304000F0909F02F0FE5AC280E10E94F10E892B9F -:1030500009F454C2C1E0F1FE06C081E10E94F10E04 -:10306000892B09F04DC2F2FE06C082E10E94F10EEA -:10307000892B09F047C2F3FE06C083E10E94F10EDE -:10308000892B09F041C2F4FE06C084E10E94F10ED2 -:10309000892B09F03BC2F5FE06C085E10E94F10EC6 -:1030A000892B09F035C2F6FE06C086E10E94F10EBA -:1030B000892B09F02FC2F7FE06C087E10E94F10EAE -:1030C000892B09F029C240E06C2F82E00E94730531 -:1030D0008091A402882309F448C0F090A002F0FE79 -:1030E0001DC288E10E94F10E892B09F417C2C1E0CC -:1030F000F1FE06C089E10E94F10E892B09F010C291 -:10310000F2FE06C08AE10E94F10E892B09F00AC284 -:10311000F3FE06C08BE10E94F10E892B09F004C278 -:10312000F4FE06C08CE10E94F10E892B09F0FEC16D -:10313000F5FE06C08DE10E94F10E892B09F0F8C161 -:1031400040E06C2F83E00E9473050FC08091AC04B7 -:103150009091AD04EC01E881F9810680F781E02DC2 -:1031600009958F3FDFEF9D0771F48091AC0490913A -:10317000AD04DC01ED91FC910480F581E02D099511 -:10318000892B21F71EC1382F2091F404222309F442 -:1031900067C0873F09F055C01092F4048091B404D1 -:1031A000813751F0893709F03EC08091AE04882301 -:1031B000E1F20E94C714D9CFE0915F05F09160055C -:1031C000309799F22091F5043091F604C9010197E6 -:1031D00097FDC90195958795F82EA4EBB4E040E0E2 -:1031E00050E030E04E5F5F4F3F1570F4BA01645518 -:1031F0007B4FEB012F812C936885D0E86D9F2019C0 -:1032000011242D933F5FEECF9927DC01A455BB4FCE -:1032100017968C911797882311F018961C9284EBBF -:1032200094E00995A2CFE0916105F0916205309795 -:1032300009F49BCF6091F504615045EB54E009958A -:1032400094CF2091F5043091F604F901E455FB4F39 -:1032500080872F5F3F4F3093F6042093F50485CF8E -:103260002091B104222309F469C087FD67C09FEF54 -:10327000920F9093B104E92FF0E0E455FB4F808763 -:10328000911173CF8091B204882309F46ECF803DF1 -:1032900009F445C050F4803901F1803C09F04BC07D -:1032A000E0915505F09156053EC0843F39F1853FC8 -:1032B00051F1803E09F03FC0E0915105F091520577 -:1032C0003097C9F18091B4046091B50470E020E8B2 -:1032D000829F600D711D11242BC0E0915305F09168 -:1032E0005405309741F18091B4046091B50470E0C9 -:1032F00090E8899F600D711D11241AC0E091590555 -:10330000F0915A0504C0E0915B05F0915C0530979F -:1033100091F06091B40470E08091B5040BC0E0912D -:103320005705F0915805309731F06091B40470E082 -:103330008091B30409951092B20417CF303F38F44E -:10334000282F207F30E08F708093B30402C09C014F -:103350003327203F310559F17CF4203C310511F130 -:1033600024F420393105D9F000CF203D3105D1F0CA -:10337000203E3105A1F0F9CE293F3105F9F034F4B2 -:10338000C901845F9109029750F0EFCE2F3F3105BC -:1033900009F0EBCE8CEA94E00E94A011E6CE0093F7 -:1033A000B10402C0B092B1042093B204DECEB09258 -:1033B000F4041092F6041092F504D7CE0E940B1577 -:1033C000D4CE8FB7F894C090A502D090A602E0901A -:1033D000A702F090A8028FBFC092D702D092D80265 -:1033E000E092D902F092DA028091D3029091D40255 -:1033F000A091D502B091D60240910D0150910E01DD -:1034000060E070E0C81AD90AEA0AFB0A4C155D05AB -:103410006E057F0508F04FC0840F951FA61FB71FCC -:103420008093D3029093D402A093D502B093D60296 -:1034300087EFE82E84E0F82ECEEECC30B8F4F7011A -:103440008081823099F48091D1029091D2020C2E29 -:1034500002C0959587950A94E2F780FF07C08C2FEC -:103460000E94E710BC018C2F0E946B14CF5FFFEF0E -:10347000EF1AFF0ACC3009F780910C0187FD1BC0C1 -:10348000C0E02C2F30E080910C01082E000C990B2D -:103490008217930784F0129FF001139FF00D1124FF -:1034A000E755FD4F618172812481438180810E94B3 -:1034B0003406CF5FE6CF0E94A50A23CDC0E031CD10 -:1034C000C26037CDC4603DCDC86043CDC06149CD39 -:1034D000C0624FCDC06455CDC0685BCDC0E06ECD3D -:1034E000C26074CDC4607ACDC86080CDC06186CD25 -:1034F000C0628CCDC06492CDC06898CDC0E0ABCD29 -:10350000C260B1CDC460B7CDC860BDCDC061C3CD10 -:10351000C062C9CDC064CFCDC068D5CDC0E0E8CD14 -:10352000C260EECDC460F4CDC860FACDC06100CEFB -:10353000C06206CECF92DF92EF92FF921092C2034A -:103540001092C10378EEC72E73E0D72EE12CF12C38 -:10355000C092C303D092C403E092C503F092C603A5 -:1035600084E291E09093C0038093BF038DEC90E0E0 -:103570009093CC038093CB038CEC90E09093CE039C -:103580008093CD0388EC90E09093D0038093CF0399 -:1035900089EC90E09093D2038093D1038AEC90E081 -:1035A0009093D4038093D3038EEC90E09093D60352 -:1035B0008093D5031092D8031092D9031092DA03A6 -:1035C0001092DB0310925F0410925E04C0926004BC -:1035D000D0926104E0926204F092630484E391E08B -:1035E00090935D0480935C048FEF9FEF9093690448 -:1035F000809368041092AE041092B0041092AF044D -:10360000109263058CEA94E00E94A0111092670565 -:1036100010926605C0926805D0926905E0926A052D -:10362000F0926B0584E491E09093650580936405C6 -:1036300080919405A5E9B5E09FEF48EB5BE08C3005 -:1036400078F48C93282F30E0F901EE0FFF1F2E0F36 -:103650003F1FF901E059FA4F528341838F5F01C048 -:103660009C93139625E0A93BB20749F780939405F4 -:10367000FF90EF90DF90CF900895991B79E004C000 -:10368000991F961708F0961B881F7A95C9F78095A1 -:103690000895EE0FFF1F0590F491E02D0994CF934C -:1036A000DF938230910510F482E090E0E091C7054D -:1036B000F091C80520E030E0C0E0D0E0309711F193 -:1036C0004081518148175907C0F04817590761F4E4 -:1036D00082819381209719F09B838A832BC09093DA -:1036E000C8058093C70526C02115310519F042177A -:1036F000530718F49A01BE01DF01EF010280F38144 -:10370000E02DDCCF2115310509F1281B390B2430C0 -:10371000310590F412968D919C9113976115710566 -:1037200021F0FB019383828304C09093C8058093AA -:10373000C705FD01329644C0FD01E20FF31F8193DE -:103740009193225031092D933C933AC02091C505A5 -:103750003091C605232B41F42091110130911201C3 -:103760003093C6052093C50520910F0130911001BB -:103770002115310541F42DB73EB740911301509109 -:103780001401241B350BE091C505F091C605E21725 -:10379000F307A0F42E1B3F0B2817390778F0AC0174 -:1037A0004E5F5F4F2417350748F04E0F5F1F509351 -:1037B000C6054093C5058193919302C0E0E0F0E017 -:1037C000CF01DF91CF9108950F931F93CF93DF9394 -:1037D000009709F48CC0FC01329713821282009189 -:1037E000C7051091C8050115110581F420813181AB -:1037F000820F931F2091C5053091C6052817390700 -:1038000079F5F093C605E093C50571C0D80140E095 -:1038100050E0AE17BF0750F412962D913C911397CC -:10382000AD012115310509F1D901F3CF9D01DA016F -:103830003383228360817181860F971F82179307DC -:1038400069F4EC0128813981260F371F2E5F3F4F25 -:10385000318320838A819B8193838283452B29F442 -:10386000F093C805E093C70542C01396FC93EE930E -:103870001297ED01499159919E01240F351FE217CE -:10388000F30771F480819181840F951F0296119640 -:103890009C938E938281938113969C938E9312971F -:1038A000E0E0F0E0D80112968D919C91139700977B -:1038B00019F0F8018C01F6CF8D919C9198012E5F43 -:1038C0003F4F820F931F2091C5053091C6052817E1 -:1038D000390769F4309729F41092C8051092C7058A -:1038E00002C0138212821093C6050093C505DF91B2 -:1038F000CF911F910F910895FB01DC014150504081 -:1039000048F001900D920020C9F701C01D9241506E -:103910005040E0F70895052E97FB1EF400940E9496 -:10392000A21C57FD07D00E94BD1C07FC03D04EF41B -:103930000C94A21C50954095309521953F4F4F4FC8 -:103940005F4F089590958095709561957F4F8F4F4B -:103950009F4F08950E94DF1CA59F900DB49F900D6E -:10396000A49F800D911D11240895B7FF0C94AA1CEB -:103970000E94AA1C821B930B0895A1E21A2EAA1B77 -:10398000BB1BFD010DC0AA1FBB1FEE1FFF1FA2170F -:10399000B307E407F50720F0A21BB30BE40BF50B0C -:1039A000661F771F881F991F1A9469F76095709595 -:1039B000809590959B01AC01BD01CF010895A29F18 -:1039C000B001B39FC001A39F700D811D1124911DF3 -:1039D000B29F700D811D1124911D0895F894FFCFA1 -:1039E000FFFFFFFF00E1000000000000FF130000E8 -:1039F00000C90580000100000000C18081000000B6 -:103A0000000000003C0AB809050AE309F709830A27 -:103A100000000000AF0A1C0BD00AA80BC60BC50A99 -:103A200000000000FD0FCD0FC50FB10FA20FA10FB9 -:103A30004D617820736572766F7320617474616371 -:103A400068656400556E6B6E6F776E2070696E20CE -:103A50006D6F6465004932433A20546F6F206D6189 -:103A60006E79206279746573207265636569766525 -:103A700064004932433A20546F6F206665772062B4 -:103A800079746573207265636569766564003130A9 -:103A90002D6269742061646472657373696E672056 -:103AA0006E6F7420737570706F7274656400746FDC -:103AB0006F206D616E792071756572696573002F75 -:103AC0004170706C69636174696F6E732F417264C9 -:103AD00075696E6F2E6170702F436F6E74656E74B2 -:103AE000732F4A6176612F6C6962726172696573C6 -:103AF0002F4669726D6174612F6578616D706C65B8 -:103B0000732F5374616E646172644669726D61747F -:103B1000612F5374616E646172644669726D617481 -:063B2000612E696E6F00CA -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/feather/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/feather/Blink.cpp.hex deleted file mode 100644 index d4c672cd..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/feather/Blink.cpp.hex +++ /dev/null @@ -1,298 +0,0 @@ -:100000000C945D010C9485010C9485010C94850180 -:100010000C9485010C9485010C9485010C94850148 -:100020000C9485010C9485010C9477060C9443057F -:100030000C9485010C9485010C9485010C94850128 -:100040000C9485010C9485010C9485010C94850118 -:100050000C9485010C9485010C9485010C949F01EE -:100060000C9485010C9485010C9485010C948501F8 -:100070000C9485010C9485010C9485010C948501E8 -:100080000C9485010C9485010C9485010C948501D8 -:100090000C9485010C9485010C9485010C948501C8 -:1000A0000C9485010C9485010C948501A202A50293 -:1000B000940298029E02C602C602C602A902AD02BE -:1000C000B102B702BB02C602C10200000002000971 -:1000D0000F0000030401000C00000408020110409E -:1000E00080401020408040800802040180402010A1 -:1000F000020110801020404004040404040304059D -:1001000002020202040302020202060606060606B4 -:1001100004040202020400000000250028002B0055 -:100120002E00310000000000240027002A002D00CE -:10013000300000C18081C112010002020000409C19 -:10014000230C8000010102000112010002000000E6 -:10015000409C230C80000101020001416461667231 -:100160007569740046656174686572203332753450 -:100170000004030904080B00020202010009040044 -:100180000001020200000524001001052401010104 -:10019000042402060524060001070581031000401F -:1001A00009040100020A00000007050202400000E5 -:1001B0000705830240000000000000000000002A44 -:1001C0002B280000000000000000000000000000DC -:1001D000000000000000002C9EB4A0A1A2A434A640 -:1001E000A7A5AE362D3738271E1F20212223242510 -:1001F00026B333B62EB7B89F8485868788898A8BC5 -:100200008C8D8E8F909192939495969798999A9BB6 -:100210009C9D2F3130A3AD350405060708090A0B54 -:100220000C0D0E0F101112131415161718191A1B96 -:100230001C1DAFB1B0B500090402000103000000AD -:100240000921010100012265000705840340000126 -:1002500005010902A1010901A10085010509190192 -:100260002903150025019503750181029501750586 -:10027000810305010930093109381581257F750889 -:1002800095038106C0C005010906A1018502050785 -:1002900019E029E7150025017501950881029501EE -:1002A0007508810395067508150025650507190071 -:1002B00029658100C0009F07F20811241FBECFEFFF -:1002C000DAE0DEBFCDBF11E0A0E0B1E0EEE5F2E1A3 -:1002D00002C005900D92A832B107D9F721E0A8E23B -:1002E000B1E001C01D92A739B207E1F712E0CAEBF5 -:1002F000D2E004C02297FE010E942909C63BD10723 -:10030000C9F70E9437030C942D090C94000061E09A -:100310008DE00C94C70261E08DE00E94000368EE5E -:1003200073E080E090E00E940C0260E08DE00E94AB -:10033000000368EE73E080E090E00C940C021F92E2 -:100340000F920FB60F9211242F933F938F939F9389 -:10035000AF93BF938091290190912A01A0912B0125 -:10036000B0912C013091280126E0230F2D3720F485 -:100370000296A11DB11D05C029E8230F0396A11DFA -:10038000B11D209328018093290190932A01A09305 -:100390002B01B0932C0180912D0190912E01A09101 -:1003A0002F01B09130010196A11DB11D80932D0147 -:1003B00090932E01A0932F01B0933001BF91AF9184 -:1003C0009F918F913F912F910F900FBE0F901F9093 -:1003D00018953FB7F89480912D0190912E01A0912E -:1003E0002F01B091300126B5A89B05C02F3F19F011 -:1003F0000196A11DB11D3FBF6627782F892F9A2F27 -:10040000620F711D811D911D43E0660F771F881FCC -:10041000991F4A95D1F70895CF92DF92EF92FF92FC -:10042000CF93DF936B017C010E94E901EB01C114C2 -:10043000D104E104F10489F00E94E1060E94E9017F -:100440006C1B7D0B683E734090F381E0C81AD108A5 -:10045000E108F108C851DC4FEACFDF91CF91FF905E -:10046000EF90DF90CF900895789484B5826084BD3A -:1004700084B5816084BD85B5826085BD85B58160A8 -:1004800085BDEEE6F0E0808181608083E1E8F0E008 -:100490001082808182608083808181608083E0E837 -:1004A000F0E0808181608083E1E9F0E0808182601A -:1004B0008083808181608083E0E9F0E080818160D9 -:1004C0008083E1ECF0E080818460808380818260C1 -:1004D0008083808181608083E3ECF0E080818160B3 -:1004E0008083E0ECF0E0808182608083E2ECF0E0E9 -:1004F000808181608083EAE7F0E08081846080838E -:1005000080818260808380818E7F8083808180680B -:100510008083089590E0FC013197EF30F105B0F54C -:10052000EA5AFF4F0C942709809180008F7703C00F -:10053000809180008F7D809380000895809180005D -:10054000877FF9CF84B58F7702C084B58F7D84BD56 -:100550000895809190008F7707C0809190008F7DE3 -:1005600003C080919000877F8093900008958091D0 -:10057000C0008F7703C08091C0008F7D8093C00042 -:1005800008958091C200877F8093C2000895CF9321 -:10059000DF9390E0FC01E652FF4F2491FC01E8500C -:1005A000FF4F8491882349F190E0880F991FFC0147 -:1005B000EC5DFE4FA591B4918A5E9E4FFC01C59102 -:1005C000D4919FB7611108C0F8948C912095822333 -:1005D0008C93888182230AC0623051F4F8948C9104 -:1005E000322F309583238C938881822B888304C09B -:1005F000F8948C91822B8C939FBFDF91CF910895BB -:100600000F931F93CF93DF931F92CDB7DEB7282FA1 -:1006100030E0F901E653FF4F8491F901E652FF4FB4 -:100620001491F901E850FF4F04910023C9F0882389 -:1006300021F069830E948A026981E02FF0E0EE0FC9 -:10064000FF1FEA5EFE4FA591B4919FB7F8948C917D -:10065000611103C01095812301C0812B8C939FBF32 -:100660000F90DF91CF911F910F91089508950E94EF -:1006700034020E94360381E391E00E94C5060E9485 -:100680008701C0E0D0E00E948B012097E1F30E9437 -:100690000000F9CF4091350150913601209133018E -:1006A0003091340142175307B4F49091E8009570EB -:1006B000E1F39091E80092FD19C08093F1008091E0 -:1006C00035019091360101968F739927892B19F482 -:1006D0008EEF8093E800809135019091360101966C -:1006E000909336018093350181E0089580E008956C -:1006F000CF92DF92FF920F931F93CF93DF931F92BE -:10070000CDB7DEB7082F162F862F880F8E5F9983FF -:100710000E944A0383E00E944A03F02EC02E998172 -:10072000D92E8C2D8F19811778F4F60184910E94AF -:100730004A03082F80E00E944A038023FFEFCF1A6C -:10074000DF0A8111EECF01C081E00F90DF91CF91E0 -:100750001F910F91FF90DF90CF900895615030F07E -:100760002091F100FC0120830196F8CF84E680936C -:10077000380108952FB7FC012083F89467706093C7 -:10078000E9000895CF93DF931F92CDB7DEB7682FAE -:10079000CE0101960E94BA038091F20099819FBF19 -:1007A0000F90DF91CF910895FF920F931F93CF93F6 -:1007B000DF9300D0CDB7DEB7F62E8A0190913701D6 -:1007C000992311F057FF03C08FEF9FEF2AC0682FC6 -:1007D000CE0101967A830E94BA038091F20090E0E4 -:1007E000A8017A81801791070CF4AC01EF2DF72F47 -:1007F000F40E84E6FE1631F0809338019091F100FA -:100800009193F8CF4115510521F08091F200882392 -:1008100021F089818FBFCA0104C08BE68093E80074 -:10082000F8CF0F900F90DF91CF911F910F91FF9014 -:100830000895CF93DF931F92CDB7DEB741E050E02C -:10084000BE016F5F7F4F0E94D403019719F4898125 -:1008500090E002C08FEF9FEF0F90DF91CF9108954E -:10086000CF93DF931F92CDB7DEB7682FCE010196ED -:100870000E94BA039091E800892F807295FF04C00E -:100880009091F20080E4891B99819FBF0F90DF91C6 -:10089000CF9108956F927F928F929F92AF92BF9265 -:1008A000CF92DF92EF92FF920F931F93CF93DF933C -:1008B0001F92CDB7DEB7782E7B01C42EB52E809166 -:1008C0003701882369F0042F152F8AEFD82E872D42 -:1008D0008072982E9AE3A92E872D8074882E11C0DD -:1008E0008FEF9FEF56C0872D0E943004682E811134 -:1008F0000CC0DA94A9F361E070E080E090E00E941F -:100900000C020115110579F73BC0282F30E00217C2 -:1009100013070CF4602E672DCE0101960E94BA03D6 -:100920008091E80085FF29C0262D30E0021B130BC3 -:10093000992039F06A948FEF6816B1F01092F100A7 -:10094000F9CFF701862D77FE07C0815058F09491BA -:100950009093F1003196F9CF815020F091919093CE -:10096000F100FACFE20EF31E8091E80085FF0EC081 -:100970000115110511F4811009C089818FBFC1CF04 -:1009800084E6809339018C2D9B2D03C0A092E80052 -:10099000F4CF0F90DF91CF911F910F91FF90EF90C7 -:1009A000DF90CF90BF90AF909F908F907F906F908F -:1009B00008951092E900109236011092350190933B -:1009C0003401809333010895CF92DF92FF920F9309 -:1009D0001F93CF93DF9300D0CDB7DEB7F82E8A01F7 -:1009E0006B0101151105B1F0F601F7FE02C084910B -:1009F00001C0808149835A830E944A030150110932 -:100A0000FFEFCF1ADF0A49815A818111EACF8FEFB8 -:100A10009FEF01C0CA010F900F90DF91CF911F91FE -:100A20000F91FF90DF90CF9008951F93CF93DF93A6 -:100A30001F92CDB7DEB7162F2091E80022FFFCCF22 -:100A4000612F79830E94AE038BEF8093E800812FA2 -:100A50007981972F0F90DF91CF911F910895CF93B8 -:100A6000DF931F92CDB7DEB71982CE0101960E94A7 -:100A70003F07CE0101960E94DA07898190E00F902E -:100A8000DF91CF9108951F920F920FB60F9211240C -:100A9000EF92FF920F931F932F933F934F935F9388 -:100AA0006F937F938F939F93AF93BF93EF93FF9336 -:100AB000CF93DF93CDB7DEB76297DEBFCDBF109285 -:100AC000E9008091E80083FFEBC068E0CE010A9660 -:100AD0000E94AE0382EF8093E8009A8597FF05C0DD -:100AE0008091E80080FFFCCF03C08EEF8093E80088 -:100AF000892F807609F0B9C08B85811105C01092CD -:100B0000F1001092F100C5C0282F2D7F213009F48B -:100B1000C0C0853049F48091E80080FFFCCF8C850F -:100B200080688093E300B5C0863009F076C02D85DB -:100B3000E888F988223071F580E090E02A8B0E94E5 -:100B4000D9040E942F0599E08E010F5F1F4FF80115 -:100B5000392F11923A95E9F799832A892A8391E0EE -:100B60009E8390E898879AEF99872091350130917C -:100B70003601275F3F4F3C832B838D83C7010E9443 -:100B8000D90449E050E0B80180E00E94E4040E94EA -:100B90002F057FC0C7012A8B0E94D9042A892232DF -:100BA00041F482E290E00E94E507892B09F071C0D0 -:100BB00074C0213069F488899989089711F42093C9 -:100BC000320180913201811118C069E471E01AC0CC -:100BD000233009F062C08C85882391F0823021F4A3 -:100BE0006CE084E691E006C0813009F056C068E010 -:100BF0008BE591E00E9478034AC067E371E002C090 -:100C000061E771E06115710509F447C0FB0144918A -:100C100050E080E80E94E4043CC0873009F43DC005 -:100C2000883021F481E08093F10033C0893089F568 -:100C3000937099F5E3E3F1E081E021E096E380939E -:100C4000E9002093EB0034913093EC009093ED0099 -:100C50008F5F3196853099F78EE78093EA00109286 -:100C6000EA008C858093370114C0888999890E9495 -:100C7000D9048E85811105C0CE010A960E944A07CB -:100C800006C0823051F4CE010A960E940D088823D6 -:100C900021F08EEF8093E80003C081E28093EB00A7 -:100CA00062960FB6F894DEBF0FBECDBFDF91CF9135 -:100CB000FF91EF91BF91AF919F918F917F916F9134 -:100CC0005F914F913F912F911F910F91FF90EF9066 -:100CD0000F900FBE0F901F9018958093E9008091A0 -:100CE000F200882319F08AE38093E80008951F92A8 -:100CF0000F920FB60F9211242F933F934F935F9350 -:100D00006F937F938F939F93AF93BF93EF93FF93D3 -:100D10008091E1001092E10083FF0FC01092E90082 -:100D200091E09093EB001092EC0092E39093ED0031 -:100D30001092370198E09093F00082FF15C083E095 -:100D40000E946D0680913901882329F08091390134 -:100D500081508093390180913801882329F0809156 -:100D60003801815080933801FF91EF91BF91AF918D -:100D70009F918F917F916F915F914F913F912F91B3 -:100D80000F900FBE0F901F9018951092370181E0C1 -:100D90008093D70080EA8093D80082E089BD09B4AF -:100DA00000FEFDCF61E070E080E090E00E940C0268 -:100DB00080E98093D8008CE08093E2001092E000FC -:100DC00008950895CF93DF931F92CDB7DEB769835F -:100DD000DC01ED91FC910280F381E02D41E050E0D7 -:100DE000BE016F5F7F4F09950F90DF91CF910895FE -:100DF000CF93DF93EC018C859D8597FF05C082E042 -:100E00000E9419049D878C878C859D85DF91CF91E9 -:100E1000089583E00C946D06FC018485958597FD0B -:100E200006C082E00E94C20390E00196089582E02D -:100E30000E94C20390E00895FC018485958597FD8A -:100E400005C02FEF3FEF35872487089582E00C948B -:100E50001904CF93DF93EC0180910701882331F0CF -:100E600083E00E944A041816190634F081E090E0ED -:100E70009B838A8380E090E0DF91CF910895FC010D -:100E800020812E5F208342E450E065E771E080E836 -:100E90000C94E404FC0181819081913A59F48132EF -:100EA00009F03CC047E050E060E071E080E00E9463 -:100EB000E40443C0913291F5803239F467E070E088 -:100EC00080E091E00E94150506C0823209F035C02D -:100ED0008281809307018091000190910101A0918E -:100EE0000201B0910301803B9440A105B105C1F41A -:100EF0008091070180FD14C087E797E79093010870 -:100F0000809300082BE088E190E00FB6F894A89554 -:100F1000809360000FBE209360000FC080E00895B2 -:100F200088E10FB6F89480936000109260000FBEC5 -:100F3000A895109201081092000881E0089510927F -:100F40003D0110923C0188EE93E0A0E0B0E0809378 -:100F50003E0190933F01A0934001B09341018EE088 -:100F600091E090933B0180933A018FEF9FEF909334 -:100F70004701809346010895FF920F931F93CF93EB -:100F8000DF93EC01F62EE881F9810480F581E02DF4 -:100F900009958C01E881F9810680F781E02D6F2D9C -:100FA000CE010995C8019927DF91CF911F910F912B -:100FB000FF900895FC0120812F5F208349E150E0DC -:100FC00067E372E080E80C94E40445E650E060E5F5 -:100FD00072E080E80C94E404EF92FF920F931F9369 -:100FE000CF93DF931F92CDB7DEB789838B017A0150 -:100FF00041E050E0BE016F5F7F4F84E00E944A04F1 -:10100000A701B80184E40E944A040F90DF91CF91B8 -:101010001F910F91FF90EF900895FC0191818081C5 -:10102000813A31F481E0913091F0933089F411C02C -:10103000813271F49B3021F482818093090105C0D3 -:101040009A3031F482818093080181E008950895F7 -:1010500080E0089548E050E082E00C94EC07CF93E4 -:10106000DF93DC01683818F0E8E7E60F25C0E62FCB -:10107000F0E067FF11C0E058F10981E090E001C0A5 -:10108000880FEA95EAF714969C911497982B14967A -:101090009C931497E0E010C0E954FE4FE491EE23D6 -:1010A00009F440C0E7FF08C014968C911497826041 -:1010B00014968C931497EF7716968C9116978E173B -:1010C00041F117968C9117978E1719F118968C91FC -:1010D00018978E17F1F019968C9119978E17C9F001 -:1010E0001A968C911A978E17A1F01B968C911B97CC -:1010F0008E1779F080E090E0ED01C80FD91F2E81A6 -:10110000211102C0EE8305C0019686309105A1F73A -:1011100009C0BD016C5F7F4FCD010E942A0881E0AC -:1011200090E008C081E090E013969C938E93129714 -:1011300080E090E0DF91CF910895683818F0E8E7FB -:10114000E60F25C0E62FF0E067FF12C0E058F10976 -:1011500021E030E001C0220FEA95EAF72095DC019A -:1011600014963C911497322314963C93E0E00FC000 -:10117000E954FE4FE491EE2329F1E7FF08C0DC01BA -:1011800014962C9114972D7F14962C93EF7720E0D2 -:1011900030E0EE2351F0DC01A20FB31F16964C9104 -:1011A00016974E1302C016961C922F5F3F4F2630A3 -:1011B000310579F7BC016C5F7F4F0E942A0881E0FE -:1011C00090E0089580E090E00895FC011682178277 -:1011D00010861186128613861482BC016C5F7F4FC5 -:1011E0000C942A081092960110928D0110928C0195 -:1011F0008EE191E090938B0180938A010895CF92C4 -:10120000DF92EF92FF920F931F93CF93DF936C01C6 -:101210007A01EB01E60EF71E00E010E0CE15DF05C7 -:1012200061F06991D601ED91FC910190F081E02D82 -:10123000C6010995080F191FF1CFC801DF91CF91A1 -:101240001F910F91FF90EF90DF90CF900895EE0FD8 -:0E125000FF1F0590F491E02D0994F894FFCF54 -:10125E0000E1000000000000010100000000E206B5 -:10126E0029070C071C07F806090700000000BC0739 -:08127E00FF082F089D08E50898 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/Blink.cpp.hex deleted file mode 100644 index adc307af..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/Blink.cpp.hex +++ /dev/null @@ -1,301 +0,0 @@ -:100000000C9466010C948E010C948E010C948E015C -:100010000C948E010C948E010C948E010C948E0124 -:100020000C948E010C948E010C9483060C944F0555 -:100030000C948E010C948E010C948E010C948E0104 -:100040000C948E010C948E010C948E010C948E01F4 -:100050000C948E010C948E010C948E010C94A801CA -:100060000C948E010C948E010C948E010C948E01D4 -:100070000C948E010C948E010C948E010C948E01C4 -:100080000C948E010C948E010C948E010C948E01B4 -:100090000C948E010C948E010C948E010C948E01A4 -:1000A0000C948E010C948E010C948E01AB02AE0266 -:1000B0009D02A102A702CF02CF02CF02B202B60276 -:1000C000BA02C002C402CF02CA0200000002000944 -:1000D0000F0000030401000C0000000000000000FD -:1000E00000000000000000000408020110408040F1 -:1000F000102040804080080204018040201002014E -:10010000108010204040040404040403040502028B -:1001100002020403020202020606060606060404A0 -:100120000202020400000000250028002B002E001F -:10013000310000000000240027002A002D003000BC -:1001400000C18081C112010002020000404123373A -:100150008000010102000112010002000000404184 -:1001600023378000010102000141726475696E6FDE -:10017000204C4C430041726475696E6F204D696379 -:10018000726F0004030904080B0002020201000957 -:1001900004000001020200000524001001052401F2 -:1001A000010104240206052406000107058103104D -:1001B000004009040100020A000000070502024095 -:1001C000000007058302400000000000000000005E -:1001D000002A2B28000000000000000000000000A2 -:1001E0000000000000000000002C9EB4A0A1A2A40A -:1001F00034A6A7A5AE362D3738271E1F202122236F -:10020000242526B333B62EB7B89F84858687888980 -:100210008A8B8C8D8E8F90919293949596979899C6 -:100220009A9B9C9D2F3130A3AD3504050607080924 -:100230000A0B0C0D0E0F10111213141516171819A6 -:100240001A1B1C1DAFB1B0B5000904020001030068 -:100250000000092101010001226500070584034017 -:10026000000105010902A1010901A100850105099B -:1002700019012903150025019503750181029501D6 -:100280007505810305010930093109381581257F7C -:10029000750895038106C0C005010906A101850204 -:1002A000050719E029E71500250175019508810268 -:1002B00095017508810395067508150025650507E4 -:1002C000190029658100C000B7070A0911241FBE63 -:1002D000CFEFDAE0DEBFCDBF11E0A0E0B1E0EEE8A5 -:1002E000F2E102C005900D92A832B107D9F721E0E2 -:1002F000A8E2B1E001C01D92A739B207E1F712E010 -:10030000CCECD2E004C02297FE010E944109C83C17 -:10031000D107C9F70E9440030C9445090C940000D2 -:1003200061E084E00C94D00261E084E00E94090363 -:1003300068EE73E080E090E00E94150260E084E0E7 -:100340000E94090368EE73E080E090E00C941502CF -:100350001F920F920FB60F9211242F933F938F93FA -:100360009F93AF93BF938091290190912A01A0910F -:100370002B01B0912C013091280123E0230F2D3760 -:1003800020F40196A11DB11D05C026E8230F029699 -:10039000A11DB11D209328018093290190932A016A -:1003A000A0932B01B0932C0180912D0190912E01EF -:1003B000A0912F01B09130010196A11DB11D809334 -:1003C0002D0190932E01A0932F01B0933001BF9186 -:1003D000AF919F918F913F912F910F900FBE0F90F2 -:1003E0001F9018953FB7F89480912D0190912E01A0 -:1003F000A0912F01B091300126B5A89B05C02F3FD9 -:1004000019F00196A11DB11D3FBF6627782F892FD6 -:100410009A2F620F711D811D911D42E0660F771F9B -:10042000881F991F4A95D1F70895CF92DF92EF92D6 -:10043000FF92CF93DF936B017C010E94F201EB01ED -:10044000C114D104E104F10489F00E94F9060E946C -:10045000F2016C1B7D0B683E734090F381E0C81A7B -:10046000D108E108F108C851DC4FEACFDF91CF9104 -:10047000FF90EF90DF90CF900895789484B58260DC -:1004800084BD84B5816084BD85B5826085BD85B538 -:10049000816085BDEEE6F0E0808181608083E1E8E7 -:1004A000F0E010828081826080838081816080831F -:1004B000E0E8F0E0808181608083E1E9F0E0808124 -:1004C00082608083808181608083E0E9F0E08081C8 -:1004D00081608083E1ECF0E08081846080838081B2 -:1004E00082608083808181608083E3ECF0E08081A2 -:1004F00081608083E0ECF0E0808182608083E2ECC8 -:10050000F0E0808181608083EAE7F0E080818460B0 -:10051000808380818260808380818160808380810C -:1005200080688083089590E0FC013197EF30F105F9 -:10053000B0F5EA5AFF4F0C943F09809180008F7705 -:1005400003C0809180008F7D80938000089580910A -:100550008000877FF9CF84B58F7702C084B58F7D07 -:1005600084BD0895809190008F7707C0809190009E -:100570008F7D03C080919000877F809390000895C5 -:100580008091C0008F7703C08091C0008F7D8093E1 -:10059000C00008958091C200877F8093C2000895B3 -:1005A000CF93DF9390E0FC01E851FF4F2491FC01D1 -:1005B000EA5FFE4F8491882349F190E0880F991FEC -:1005C000FC01EE5CFE4FA591B4918C5D9E4FFC0149 -:1005D000C591D4919FB7611108C0F8948C91209572 -:1005E00082238C93888182230AC0623051F4F8946C -:1005F0008C91322F309583238C938881822B888332 -:1006000004C0F8948C91822B8C939FBFDF91CF9183 -:1006100008950F931F93CF93DF931F92CDB7DEB74B -:10062000282F30E0F901E653FF4F8491F901E8519A -:10063000FF4F1491F901EA5FFE4F04910023C9F0C6 -:10064000882321F069830E9493026981E02FF0E002 -:10065000EE0FFF1FEC5DFE4FA591B4919FB7F8948C -:100660008C91611103C01095812301C0812B8C9363 -:100670009FBF0F90DF91CF911F910F910895089523 -:100680000E943D020E943F0381E391E00E94D9064F -:100690000E949001C0E0D0E00E9494012097E1F315 -:1006A0000E940000F9CF4091350150913601209110 -:1006B00033013091340142175307B4F49091E800AC -:1006C0009570E1F39091E80092FD19C08093F100DC -:1006D000809135019091360101968F739927892B6E -:1006E00019F48EEF8093E8008091350190913601E6 -:1006F0000196909336018093350181E0089580E062 -:100700000895CF92DF92FF920F931F93CF93DF93C1 -:100710001F92CDB7DEB7082F162F862F880F8E5F5A -:1007200099830E94530383E00E945303F02EC02E4E -:100730009981D92E8C2D8F19811778F4F601849127 -:100740000E945303082F80E00E9453038023FFEF91 -:10075000CF1ADF0A8111EECF01C081E00F90DF9147 -:10076000CF911F910F91FF90DF90CF90089561502E -:1007700030F02091F100FC0120830196F8CF289AF7 -:1007800084E68093380108952FB7FC012083F89404 -:1007900067706093E9000895CF93DF931F92CDB700 -:1007A000DEB7682FCE0101960E94C4038091F2004B -:1007B00099819FBF0F90DF91CF910895FF920F9382 -:1007C0001F93CF93DF9300D0CDB7DEB7F62E8A010B -:1007D00090913701992311F057FF03C08FEF9FEFDE -:1007E0002BC0682FCE0101967A830E94C4038091AA -:1007F000F20090E0A8017A81801791070CF4AC0117 -:10080000EF2DF72FF40E84E6FE1639F0289A809328 -:1008100038019091F1009193F7CF4115510521F0E6 -:100820008091F200882321F089818FBFCA0104C022 -:100830008BE68093E800F8CF0F900F90DF91CF9177 -:100840001F910F91FF900895CF93DF931F92CDB723 -:10085000DEB741E050E0BE016F5F7F4F0E94DE03D4 -:10086000019719F4898190E002C08FEF9FEF0F90FC -:10087000DF91CF910895CF93DF931F92CDB7DEB76D -:10088000682FCE0101960E94C4039091E800892F41 -:10089000807295FF04C09091F20080E4891B9981D9 -:1008A0009FBF0F90DF91CF9108956F927F928F92AB -:1008B0009F92AF92BF92CF92DF92EF92FF920F93EF -:1008C0001F93CF93DF931F92CDB7DEB7782E7B01B6 -:1008D000C42EB52E80913701882369F0042F152F7F -:1008E0008AEFD82E872D8072982E9AE3A92E872D15 -:1008F0008074882E11C08FEF9FEF57C0872D0E9404 -:100900003B04682E81110CC0DA94A9F361E070E019 -:1009100080E090E00E9415020115110579F73BC0B7 -:10092000282F30E0021713070CF4602E672DCE013C -:1009300001960E94C4038091E80085FF29C0262DFE -:1009400030E0021B130B992039F06A948FEF681680 -:10095000B1F01092F100F9CFF701862D77FE07C0B4 -:10096000815058F094919093F1003196F9CF8150D5 -:1009700020F091919093F100FACFE20EF31E809156 -:10098000E80085FF0FC00115110511F481100AC0A0 -:1009900089818FBFC1CF5D9A84E6809339018C2D08 -:1009A0009B2D03C0A092E800F3CF0F90DF91CF9171 -:1009B0001F910F91FF90EF90DF90CF90BF90AF907D -:1009C0009F908F907F906F9008951092E900109201 -:1009D00036011092350190933401809333010895CC -:1009E000CF92DF92FF920F931F93CF93DF9300D0AC -:1009F000CDB7DEB7F82E8A016B0101151105B1F0F4 -:100A0000F601F7FE02C0849101C0808149835A83B8 -:100A10000E94530301501109FFEFCF1ADF0A4981E9 -:100A20005A818111EACF8FEF9FEF01C0CA010F9069 -:100A30000F90DF91CF911F910F91FF90DF90CF909A -:100A400008951F93CF93DF931F92CDB7DEB7162F74 -:100A50002091E80022FFFCCF612F79830E94B70329 -:100A60008BEF8093E800812F7981972F0F90DF9192 -:100A7000CF911F910895CF93DF931F92CDB7DEB72B -:100A80001982CE0101960E945707CE0101960E945D -:100A9000F207898190E00F90DF91CF9108951F9226 -:100AA0000F920FB60F921124EF92FF920F931F93A4 -:100AB0002F933F934F935F936F937F938F939F9366 -:100AC000AF93BF93EF93FF93CF93DF93CDB7DEB791 -:100AD0006297DEBFCDBF1092E9008091E80083FFEE -:100AE000EBC068E0CE010A960E94B70382EF8093C4 -:100AF000E8009A8597FF05C08091E80080FFFCCF51 -:100B000003C08EEF8093E800892F807609F0B9C08A -:100B10008B85811105C01092F1001092F100C5C0C3 -:100B2000282F2D7F213009F4C0C0853049F48091F1 -:100B3000E80080FFFCCF8C8580688093E300B5C01F -:100B4000863009F076C02D85E888F988223071F565 -:100B500080E090E02A8B0E94E5040E943B0599E02A -:100B60008E010F5F1F4FF801392F11923A95E9F767 -:100B700099832A892A8391E09E8390E898879AEF47 -:100B800099872091350130913601275F3F4F3C8393 -:100B90002B838D83C7010E94E50449E050E0B80132 -:100BA00080E00E94F0040E943B057FC0C7012A8BB1 -:100BB0000E94E5042A89223241F482E290E00E94F8 -:100BC000FD07892B09F071C074C0213069F4888950 -:100BD0009989089711F42093320180913201811193 -:100BE00018C067E571E01AC0233009F062C08C8537 -:100BF000882391F0823021F46DE085E791E006C012 -:100C0000813009F056C06BE089E691E00E948103D3 -:100C10004AC065E471E002C063E871E061157105E6 -:100C200009F447C0FB01449150E080E80E94F004C1 -:100C30003CC0873009F43DC0883021F481E08093C6 -:100C4000F10033C0893089F5937099F5E1E4F1E062 -:100C500081E021E096E38093E9002093EB0034915A -:100C60003093EC009093ED008F5F3196853099F7CB -:100C70008EE78093EA001092EA008C85809337011A -:100C800014C0888999890E94E5048E85811105C068 -:100C9000CE010A960E94620706C0823051F4CE014E -:100CA0000A960E942508882321F08EEF8093E800A1 -:100CB00003C081E28093EB0062960FB6F894DEBF2A -:100CC0000FBECDBFDF91CF91FF91EF91BF91AF915B -:100CD0009F918F917F916F915F914F913F912F9154 -:100CE0001F910F91FF90EF900F900FBE0F901F90EC -:100CF00018958093E9008091F200882319F08AE327 -:100D00008093E80008951F920F920FB60F9211245E -:100D10002F933F934F935F936F937F938F939F9303 -:100D2000AF93BF93EF93FF938091E1001092E100A6 -:100D300083FF0FC01092E90091E09093EB001092B6 -:100D4000EC0092E39093ED001092370198E09093BD -:100D5000F00082FF1DC083E00E9479068091390176 -:100D6000882339F08091390181508093390188239B -:100D700069F080913801882359F0809138018150C1 -:100D800080933801811104C0289802C05D98F1CF8A -:100D9000FF91EF91BF91AF919F918F917F916F9153 -:100DA0005F914F913F912F910F900FBE0F901F9029 -:100DB00018951092370181E08093D70080EA8093E4 -:100DC000D80082E189BD09B400FEFDCF61E070E08A -:100DD00080E090E00E94150280E98093D8008CE0CA -:100DE0008093E2001092E000559A209A5D9828982E -:100DF00008950895CF93DF931F92CDB7DEB769832F -:100E0000DC01ED91FC910280F381E02D41E050E0A6 -:100E1000BE016F5F7F4F09950F90DF91CF910895CD -:100E2000CF93DF93EC018C859D8597FF05C082E011 -:100E30000E9424049D878C878C859D85DF91CF91AE -:100E4000089583E00C947906FC018485958597FDCF -:100E500006C082E00E94CC0390E00196089582E0F3 -:100E60000E94CC0390E00895FC018485958597FD50 -:100E700005C02FEF3FEF35872487089582E00C945B -:100E80002404CF93DF93EC0180910701882331F094 -:100E900083E00E9455041816190634F081E090E0B2 -:100EA0009B838A8380E090E0DF91CF910895FC01DD -:100EB00020812E5F208342E450E067E871E080E803 -:100EC0000C94F004FC0181819081913A59F48132B3 -:100ED00009F03CC047E050E060E071E080E00E9433 -:100EE000F00443C0913291F5803239F467E070E04C -:100EF00080E091E00E94210506C0823209F035C0F1 -:100F00008281809307018091000190910101A0915D -:100F10000201B0910301803B9440A105B105C1F4E9 -:100F20008091070180FD14C087E797E7909301083F -:100F3000809300082BE088E190E00FB6F894A89524 -:100F4000809360000FBE209360000FC080E0089582 -:100F500088E10FB6F89480936000109260000FBE95 -:100F6000A895109201081092000881E0089510924F -:100F70003D0110923C0188EE93E0A0E0B0E0809348 -:100F80003E0190933F01A0934001B09341018EE058 -:100F900091E090933B0180933A018FEF9FEF909304 -:100FA0004701809346010895FF920F931F93CF93BB -:100FB000DF93EC01F62EE881F9810480F581E02DC4 -:100FC00009958C01E881F9810680F781E02D6F2D6C -:100FD000CE010995C8019927DF91CF911F910F91FB -:100FE000FF900895FC0120812F5F208349E150E0AC -:100FF00069E472E080E80C94F00445E650E062E6B3 -:1010000072E080E80C94F004EF92FF920F931F932C -:10101000CF93DF931F92CDB7DEB789838B017A011F -:1010200041E050E0BE016F5F7F4F84E00E945504B5 -:10103000A701B80184E40E9455040F90DF91CF917D -:101040001F910F91FF90EF900895FC019181808195 -:10105000813A31F481E0913091F0933089F411C0FC -:10106000813271F49B3021F482818093090105C0A3 -:101070009A3031F482818093080181E008950895C7 -:1010800080E0089548E050E082E00C940408CF939B -:10109000DF93DC01683818F0E8E7E60F25C0E62F9B -:1010A000F0E067FF11C0E058F10981E090E001C075 -:1010B000880FEA95EAF714969C911497982B14964A -:1010C0009C931497E0E010C0E753FE4FE491EE23A9 -:1010D00009F440C0E7FF08C014968C911497826011 -:1010E00014968C931497EF7716968C9116978E170B -:1010F00041F117968C9117978E1719F118968C91CC -:1011000018978E17F1F019968C9119978E17C9F0D0 -:101110001A968C911A978E17A1F01B968C911B979B -:101120008E1779F080E090E0ED01C80FD91F2E8175 -:10113000211102C0EE8305C0019686309105A1F70A -:1011400009C0BD016C5F7F4FCD010E94420881E064 -:1011500090E008C081E090E013969C938E931297E4 -:1011600080E090E0DF91CF910895683818F0E8E7CB -:10117000E60F25C0E62FF0E067FF12C0E058F10946 -:1011800021E030E001C0220FEA95EAF72095DC016A -:1011900014963C911497322314963C93E0E00FC0D0 -:1011A000E753FE4FE491EE2329F1E7FF08C0DC018D -:1011B00014962C9114972D7F14962C93EF7720E0A2 -:1011C00030E0EE2351F0DC01A20FB31F16964C91D4 -:1011D00016974E1302C016961C922F5F3F4F263073 -:1011E000310579F7BC016C5F7F4F0E94420881E0B6 -:1011F00090E0089580E090E00895FC011682178247 -:1012000010861186128613861482BC016C5F7F4F94 -:101210000C9442081092960110928D0110928C014C -:101220008EE191E090938B0180938A010895CF9293 -:10123000DF92EF92FF920F931F93CF93DF936C0196 -:101240007A01EB01E60EF71E00E010E0CE15DF0597 -:1012500061F06991D601ED91FC910190F081E02D52 -:10126000C6010995080F191FF1CFC801DF91CF9171 -:101270001F910F91FF90EF90DF90CF900895EE0FA8 -:0E128000FF1F0590F491E02D0994F894FFCF24 -:10128E0000E1000000000000010100000000FA066D -:10129E004107240734071007210700000000D40778 -:0812AE0017094708B508FD0807 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/README.txt b/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/README.txt deleted file mode 100644 index 51b90a8d..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/README.txt +++ /dev/null @@ -1,15 +0,0 @@ -NOTE -For Blink.cpp.hex, the digital pin for the LED is set to D4. -This is because there is no onboard LED on the IMUduino linked to pin 13. -D4 was chosen because it is conveniently close to a GND pin, for ease of plugging an LED in to test. - -Have fun! - - .--. - | .-.| - |T || -[_|__|_] - | | - | | - | | - | diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/StandardFirmata.cpp.hex deleted file mode 100644 index e89bc32b..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/imuduino/StandardFirmata.cpp.hex +++ /dev/null @@ -1,996 +0,0 @@ -:100000000C949A010C94C2010C94C2010C94C2018C -:100010000C94C2010C94C2010C94C2010C94C20154 -:100020000C94C2010C94C2010C94B81A0C9484195B -:100030000C94C2010C94C2010C94C2010C94C20134 -:100040000C94C2010C943D0A0C94C2010C94C201A0 -:100050000C94C2010C94C2010C94C2010C94EE12D7 -:100060000C94C2010C94C2010C94C2010C94C20104 -:100070000C94C2010C94C2010C94C2010C94C201F4 -:100080000C94C2010C94C2010C94C2010C94C201E4 -:100090000C94010E0C94C2010C94C2010C94C20188 -:1000A0000C94C2010C94C2010C94C20183099F09F3 -:1000B000C3089F0934099F09A10850089F099F0997 -:1000C0009F099F099F0967079F0936089F098808AC -:1000D00047144C1451145B146514AF14AF14AF14CF -:1000E0006F14791483148D149A14AF14A214D014BD -:1000F000D314C214C614CC14F414F414F414D71486 -:10010000DB14DF14E514E914F414EF1407060504F6 -:100110000100080A0B0C0D090000000200090F0085 -:1001200000030401000C00000000000000000000BB -:100130000000000000000408020110408040102070 -:10014000408040800802040180402010020110809D -:1001500010204040040404040403040502020202C7 -:100160000403020202020606060606060404020250 -:100170000204000000002300260029002C002F00AC -:1001800000000000250028002B002E003100000098 -:100190000000240027002A002D003000080B000278 -:1001A000020201000904000001020200000524000F -:1001B00010010524010101042402060524060001A2 -:1001C0000705810310004009040100020A00000035 -:1001D000070502024000000705830240000000C13D -:1001E0008081C112010002020000404123368000DC -:1001F000010102000112010002000000404123360B -:100200008000010102000141726475696E6F204C2B -:100210004C430041726475696E6F204C656F6E616E -:1002200072646F0004030904000000000000000075 -:100230002A2B280000000000000000000000000041 -:1002400000000000000000002C9EB4A0A1A2A43475 -:10025000A6A7A5AE362D3738271E1F20212223241E -:100260002526B333B62EB7B89F8485868788898ABA -:100270008B8C8D8E8F909192939495969798999A56 -:100280009B9C9D2F3130A3AD350405060708090A54 -:100290000B0C0D0E0F101112131415161718191A36 -:1002A0001B1C1DAFB1B0B500090402000103000022 -:1002B00000092101010001226500070584034000B7 -:1002C0000105010902A1010901A100850105091922 -:1002D000012903150025019503750181029501751A -:1002E00005810305010930093109381581257F751C -:1002F0000895038106C0C005010906A10185020514 -:100300000719E029E7150025017501950881029577 -:1003100001750881039506750815002565050719FF -:100320000029658100C0CC061F0DDF12E3125016B4 -:10033000B316AA1C11241FBECFEFDAE0DEBFCDBF7B -:1003400011E0A0E0B1E0E2E2FDE302C005900D9211 -:10035000A43FB107D9F724E0A4EFB1E001C01D929A -:10036000A83BB207E1F713E0C4E3D3E004C022974F -:10037000FE010E94161DC632D107C9F70E94C3169E -:100380000C948F1E0C9400001F93CF93DF93162FB5 -:10039000843008F06CC0982F990F990F990F985FCF -:1003A0009F3108F09EE1D82FDD0FDD0FDD0F8D2F7F -:1003B000C0E041E08917C8F4E82FF0E0DF01A05366 -:1003C000BD4F2C91223070F4C42BEE0FFF1FE0576D -:1003D000FD4F21E030E0542F512311F420E030E0B4 -:1003E00031832083440F8F5FE5CFC0FF05C0612FAD -:1003F00061708D2F0E942E15C1FF06C0612F6270A3 -:1004000081E08D0F0E942E15C2FF06C0612F64701F -:1004100082E08D0F0E942E15C3FF06C0612F687009 -:1004200083E08D0F0E942E15C4FF06C0612F6071FE -:1004300084E08D0F0E942E15C5FF06C0612F6072EB -:1004400085E08D0F0E942E15C6FF06C0612F6074D7 -:1004500086E08D0F0E942E15C7FF09C0612F6078BE -:1004600087E08D0FDF91CF911F910C942E15DF91B6 -:10047000CF911F9108950F931F93CF93DF93EB01BB -:100480008E3178F5082F10E0F801E053FD4F908190 -:10049000933089F0943029F5F801ED5FFD4F20810C -:1004A00030E0C901880F991F820F931F8F5D9D4F08 -:1004B0000E94DA0B0FC0833051F09BEF980F9230FF -:1004C00030F097EF980F933010F08D3019F4BE0193 -:1004D0000E942114F801EE0FFF1FE057FD4FD1835A -:1004E000C083DF91CF911F910F910895CF93C82FB3 -:1004F0008C3058F54091F6025091F70221E030E03F -:10050000082E02C0220F331F0A94E2F7672B49F42A -:1005100020953095242335233093F7022093F6025B -:1005200014C0242B352B3093F7022093F6028091D0 -:10053000F40181110AC08C2F0E94F013AC016C2FC2 -:100540008EED93E0CF910C94A910CF910895DB012B -:100550009A019091F5019C30D0F54091F601682FF9 -:1005600070E0442369F0E42FF0E0EA50FE4F808110 -:10057000FB01ED5FFD4F808341504093F60107C0C2 -:10058000FB01ED5FFD4F90839F5F9093F501FB01B1 -:10059000ED5FFD4F1A161B067CF41216130664F469 -:1005A000408150E0CA01880F991F840F951FAD014B -:1005B0008F5D9D4F0C94150B208130E0C901880F91 -:1005C000991F820F931F8F5D9D4F0C94930B68E1D1 -:1005D00071E08EED93E00C943811CF93DF93C82F28 -:1005E000D0E0CD5FDD4F288130E0C901880F991F31 -:1005F000820F931F8F5D9D4F0E94990B8881909170 -:10060000F501891306C0882379F081508093F501A4 -:100610000BC0992349F0E091F601EF5FE093F601FA -:10062000F0E0EA50FE4F80838FEF8883DF91CF9117 -:1006300008951F93CF93DF93162FC82FD0E0FE01AC -:10064000E453FD4F90811923C251DD4F411103C086 -:100650009881911741F0412F50E0682F8EED93E083 -:100660000E94C2101883DF91CF911F910895EF92DD -:10067000FF920F931F93CF93DF93E82E83E08E15A5 -:1006800008F475C02E2D30E0F901EE50FD4F608367 -:10069000672B09F46CC0F901E453FD4FF0800E2D77 -:1006A000000F000F000FF0FE52C0802F0E94641553 -:1006B000892B09F44CC011E0C02FD0E0F1FE07C037 -:1006C00081E0800F0E946415892B09F042C0F2FE80 -:1006D00006C082E0800F0E946415892BE1F5F3FECD -:1006E00006C083E0800F0E946415892BB1F5F4FEEB -:1006F00006C084E0800F0E946415892B81F5F5FE09 -:1007000006C085E0800F0E946415892B51F5C83121 -:10071000D10541F0F6FE06C086E0800F0E94641508 -:10072000892B09F5679744F4F7FE06C087E0800F30 -:100730000E946415892BC9F441E0612F8E2DDF9151 -:10074000CF911F910F91FF90EF900C94190310E03F -:10075000B3CF1260BCCF1460C2CF1860C8CF106195 -:10076000CECF1062D4CF1064DDCF1068E5CFDF911B -:10077000CF911F910F91FF90EF900895CF93DF934A -:100780008091F202882309F448C0D091CC02D0FFB6 -:100790001DC180E00E946415892B09F417C1C1E0D6 -:1007A000D1FF06C081E00E946415892B09F010C1B9 -:1007B000D2FF06C082E00E946415892B09F00AC1AD -:1007C000D3FF06C083E00E946415892B09F004C1A1 -:1007D000D4FF06C084E00E946415892B09F0FEC096 -:1007E000D5FF06C085E00E946415892B09F0F8C08A -:1007F000D6FF06C086E00E946415892B09F0F2C07E -:10080000D7FF06C087E00E946415892B09F0ECC071 -:1008100040E06C2F80E00E9419038091F30288234E -:1008200009F448C0D091CD02D0FFE0C088E00E941A -:100830006415892B09F4DAC0C1E0D1FF06C089E054 -:100840000E946415892B09F0D3C0D2FF06C08AE04C -:100850000E946415892B09F0CDC0D3FF06C08BE040 -:100860000E946415892B09F0C7C0D4FF06C08CE034 -:100870000E946415892B09F0C1C0D5FF06C08DE028 -:100880000E946415892B09F0BBC0D6FF06C08EE01C -:100890000E946415892B09F0B5C0D7FF06C08FE010 -:1008A0000E946415892B09F0AFC040E06C2F81E0F5 -:1008B0000E9419038091F402882309F448C0D09162 -:1008C000CE02D0FFA3C080E10E946415892B09F4F9 -:1008D0009DC0C1E0D1FF06C081E10E946415892B53 -:1008E00009F096C0D2FF06C082E10E946415892BF0 -:1008F00009F090C0D3FF06C083E10E946415892BE4 -:1009000009F08AC0D4FF06C084E10E946415892BD7 -:1009100009F084C0D5FF06C085E10E946415892BCB -:1009200009F07EC0D6FF06C086E10E946415892BBF -:1009300009F078C0D7FF06C087E10E946415892BB3 -:1009400009F072C040E06C2F82E00E941903809190 -:10095000F502882309F476C0D091CF02D0FF66C09B -:1009600088E10E946415892B09F460C0C1E0D1FFC1 -:1009700006C089E10E946415892B09F059C0D2FF95 -:1009800006C08AE10E946415892B09F053C0D3FF89 -:1009900006C08BE10E946415892B09F04DC0D4FF7D -:1009A00006C08CE10E946415892B09F047C0D5FF71 -:1009B00006C08DE10E946415892B09F041C040E01A -:1009C0006C2F83E0DF91CF910C941903C0E0E8CE47 -:1009D000C260EECEC460F4CEC860FACEC06100CF73 -:1009E000C06206CFC0640CCFC06812CFC0E025CF74 -:1009F000C2602BCFC46031CFC86037CFC0613DCF5C -:100A0000C06243CFC06449CFC0684FCFC0E062CF5F -:100A1000C26068CFC4606ECFC86074CFC0617ACF47 -:100A2000C06280CFC06486CFC0688CCFC0E09FCF4B -:100A3000C260A5CFC460ABCFC860B1CFC061B7CF33 -:100A4000C062BDCFDF91CF910895109247028FEF22 -:100A500080930A010895CF92DF92EF92FF920F9355 -:100A60001F93CF93DF93182FEB01E82EF12CC701D2 -:100A700080539D4F6C01FC0180818F3709F4EEC0DB -:100A8000863051F480914702882331F06630710539 -:100A900009F4E0C00E9425051E31A8F4C430D10538 -:100AA00091F0F701ED5FFD4F20812C3060F430E0D4 -:100AB000C901880F991F820F931F8F5D9D4F0E9460 -:100AC0003F0C8111B4C00EEE010F0C3058F461E000 -:100AD00070E0C230D10511F060E070E0802F0E941C -:100AE000760202C01E31D0F4E12FE695E695E69538 -:100AF000812F8770F0E0E453FD4F21E030E0082EB5 -:100B000001C0220F0A94EAF7209721F48081822BFA -:100B1000808304C02095808128232083F701EE0F75 -:100B2000FF1FE057FD4F11821082C230D10579F0CE -:100B30002CF42097C9F0219729F16BC0C430D1055E -:100B400009F445C064F1269709F45BC062C00C301B -:100B500008F084C060E0812F0E94F51460E0812FCE -:100B60000E942E1582E052C01E3108F077C060E06E -:100B7000812F0E94F51460E0812F0E942E15F6014E -:100B800010826CC01E3108F069C060E0812F0E94A5 -:100B90002E1561E0812F0E94F51481E037C01330DB -:100BA00059F08BEF810F823038F087EF810F83305F -:100BB00018F01D3009F052C061E0812F0E94F51439 -:100BC00060E070E0812F0E94211483E01FC01E317D -:100BD00008F044C084E0F6018083F701ED5FFD4F2B -:100BE00080818F3F41F190E09C01220F331F280F3D -:100BF000391FC9018F5D9D4F0E943F0C81112EC08E -:100C00001AC08EEF810F823048F586E0F6018083AE -:100C100025C06CE271E08EED93E0DF91CF911F91E2 -:100C20000F91FF90EF90DF90CF900C943811812FAF -:100C30000E94ED0248CF4FEF5FEF6FEF7FEF812F04 -:100C4000DF91CF911F910F91FF90EF90DF90CF90A8 -:100C50000C94A7021E3108F424CF35CFDF91CF9139 -:100C60001F910F91FF90EF90DF90CF900895CF9359 -:100C7000C0E08EEF8C0F823028F466E070E08C2F9D -:100C80000E942B05CF5FCE31A1F781E08093470210 -:100C90008EE193E0CF910C94E50C0F931F93CF93CB -:100CA000DF9381E08093F4018091470281110E94DB -:100CB0002505E2EFF2E0CCECD2E0AEEEB2E011922C -:100CC00019921D9282E0E63FF807C9F7C3E0D2E02F -:100CD00010E00FEF8EEE810F8C3018F462E070E0C0 -:100CE00002C061E070E0812F0E942B0509931F5F15 -:100CF0001E3181F71092F7021092F6021092F6015F -:100D00001092F5011092F401DF91CF911F910F9194 -:100D1000089524E042E06DE371E08EED93E00E94DF -:100D2000D00F4BE352E060EE8EED93E00E9446114F -:100D300044EC51E060E98EED93E00E94461146E7F5 -:100D400052E060EC8EED93E00E94461147E353E0E1 -:100D500060ED8EED93E00E9446114BE255E064EFAA -:100D60008EED93E00E94461143E557E060EF8EED73 -:100D700093E00E9471114DE456E06FEF8EED93E029 -:100D80000E94691140E051EE60E070E08EED93E06A -:100D90000E94C9120C944D06CF93DF93C1E2D2E0BA -:100DA000CE010E94F90A239682E0C534D807C1F724 -:100DB000DF91CF910895682F8EE193E00C94A60CFB -:100DC0008EE193E00E94560C0895DF92EF92FF921D -:100DD0000F931F93CF93DF93F82EEB01D42E6F3F29 -:100DE0008FEF7807A9F06F2D8EE193E00E94FF0C42 -:100DF0008C2F0E94DB068EE193E00E941C0D8091F7 -:100E0000450290914602009729F00E948F1302C07C -:100E1000C0E0D0E04D2D6F2D8EE193E00E94FC0CE0 -:100E20000D2D10E08EE193E00E944E0C081719077B -:100E30001CF461E571E009C08EE193E00E944E0C64 -:100E40008017910734F46EE671E08EED93E00E9416 -:100E50003811F0924802C09349028AE4E82E82E0F9 -:100E6000F82EC0E0D0E0C017D10784F042E04D0D6D -:100E700028E432E067E78EED93E0DF91CF911F9198 -:100E80000F91FF90EF90DF900C94F0108EE193E0C3 -:100E90000E944E0C892B51F30E94E006F7018193CA -:100EA0007F012196E0CFEF92FF920F931F93CF9394 -:100EB000DF93162FEA0190E0FC01E956F109E231D7 -:100EC000F10508F03CC2EA5AFF4F0C94141D8981C9 -:100ED000982F987185FF03C06AE871E056C0888139 -:100EE000983071F148F491112AC2682F8EE193E095 -:100EF0000E94FF0C02E007C0903109F440C0983115 -:100F000009F471C01CC2011768F4FE01E00FF11D65 -:100F10009181808120E8929F801911240E94DB0634 -:100F20000E5FF1CF8EE193E00E941C0D86E490E00D -:100F3000DF91CF911F910F91FF90EF900C948F1341 -:100F40004A816B81163069F430E8639FB001112447 -:100F5000640F711D9D814C8150E8959F40191124AB -:100F600006C090E8699F401911246FEF7FEFDF9171 -:100F7000CF911F910F91FF90EF900C94E506E091B7 -:100F80000A01E73064F06AEA71E08EED93E0DF91E8 -:100F9000CF911F910F91FF90EF900C9438119A818F -:100FA0002B81F0E8663061F42F9F90011124290F06 -:100FB000311D4D819C8150E8459F9019112405C039 -:100FC0002F9F901911242FEF3FEFEF5FE0930A015D -:100FD00044E0E402F0011124E859FD4F808332839C -:100FE00021839383ACC150910A01151634F440E07B -:100FF000252F332727FD30950EC08FEF80930A01F0 -:101000009EC1EE0FFF1FEE0FFF1FE859FD4F9081AD -:10101000981719F14F5FE42FF0E02E173F078CF778 -:1010200040E01BC04830C0F4DF01AA0FBB1FAA0F6D -:10103000BB1FA459BD4F8C91EE0FFF1FEE0FFF1F7A -:10104000E859FD4F808311968D919C911297928360 -:10105000818313968C9183834F5FE42FF0E02E17EA -:101060003F0704F7515050930A0169C128818981D3 -:1010700050E8859FC0011124820F911D009721F037 -:10108000909346028093450280914702811157C197 -:10109000DF91CF911F910F91FF90EF900C94370645 -:1010A000653008F44CC118810981FA80EB80CC814D -:1010B0001E3108F044C1E12FF0E0ED5FFD4FE0810B -:1010C000EC3060F4F0E0CF01880F991F8E0F9F1F66 -:1010D0008F5D9D4F0E943F0C81112DC180E8C89FFC -:1010E000A00111244E0D511D90E8F99EB00111246C -:1010F000600F711D812F0E94A70264E070E0812FB4 -:10110000DF91CF911F910F91FF90EF900C942B05E1 -:10111000623008F414C128818981E0E88E9FC00103 -:101120001124820F911D90930C0180930B010A975B -:1011300008F005C18AE090E090930C0180930B01C8 -:10114000FEC0623008F4FBC0698170E0123091F09B -:101150008A81F0E88F9FC0011124682B792B13300E -:1011600049F08B8190E090E4899F902D882711248D -:10117000682B792B8881DF91CF911F910F91FF9080 -:10118000EF900C943B0260EF8EED93E00E943C11D7 -:101190006CE68EED93E00E943C11C0E060E08EEDC5 -:1011A00093E00E943C1161E08EED93E00E943C11BF -:1011B00061E08EED93E00E943C1161E08EED93E0E2 -:1011C0000E943C118EEE8C0F8C3058F462E08EED54 -:1011D00093E00E943C116AE08EED93E00E943C1186 -:1011E0000DC0C33059F463E08EED93E00E943C11D2 -:1011F00068E08EED93E00E943C110AC08BEF8C0FEB -:10120000823088F387EF8C0F833068F3CD3059F349 -:1012100064E08EED93E00E943C116EE08EED93E071 -:101220000E943C118EEF8C0F823050F466E08EED00 -:1012300093E00E943C1161E08EED93E00E943C112E -:101240006FE78EED93E00E943C11CF5FCE3109F045 -:10125000A5CF67EF8EED93E0DF91CF911F910F91B6 -:10126000FF90EF900C943C11662309F468C0C8818C -:1012700060EF8EED93E00E943C116EE68EED93E000 -:101280000E943C116C2F8EED93E00E943C11CE31F8 -:1012900000F7D0E0FE01E053FD4F60818EED93E05A -:1012A0000E943C11CC0FDD1F8E0100571D4FF8012D -:1012B00060816F778EED93E00E943C11F8016081B0 -:1012C0007181CB018078892B49F0660F672F661FEB -:1012D000770B6F778EED93E00E943C11C057DD4F86 -:1012E00068817981CB018827907C892B09F4B1CF63 -:1012F000770F660B770F762F661F6F778EED93E073 -:101300000E943C11A6CF60EF8EED93E00E943C114D -:101310006AE68EED93E00E943C11CEEECC3010F0E8 -:101320006FE701C06C2F8EED93E00E943C11CF5F00 -:10133000CC30A1F78ECF812F0E94ED02CFCEDF916E -:10134000CF911F910F91FF90EF9008958F929F92F0 -:10135000AF92BF92CF92DF92EF92FF920F931F93C3 -:10136000CF93DF930E94BE038EED93E00E94301076 -:10137000892B29F08EED93E00E949C11F5CF0E94FD -:10138000381360938C0270938D0280938E02909339 -:101390008F02C0908802D0908902E0908A02F0907B -:1013A0008B0240910B0150910C014A01A12CB12CF0 -:1013B0008B019C010C191D092E093F09801691060D -:1013C000A206B30608F04CC0D501C4018C0D9D1DCA -:1013D000AE1DBF1D8093880290938902A0938A025C -:1013E000B0938B02C0EDD2E01EEE1C30C0F48881B9 -:1013F0008230A9F42091F6023091F702012E02C04A -:10140000359527950A94E2F720FF09C0812F0E94A5 -:10141000F013AC01612F8EED93E00E94A9101F5FC5 -:1014200021961C3011F780910A0187FD19C0C0E098 -:10143000EC2FF0E080910A01992787FD90958E1797 -:101440009F0774F0EE0FFF1FEE0FFF1FE859FD4FCF -:1014500061817281438180810E94E506CF5FE8CF80 -:10146000DF91CF911F910F91FF90EF90DF90CF9080 -:10147000BF90AF909F908F9008951F920F920FB6DC -:101480000F9211242F933F934F935F936F937F930A -:101490008F939F93AF93BF93EF93FF938091F90244 -:1014A00087FF05C010928500109284001AC0209119 -:1014B000F902332727FD30958091F80290E0281734 -:1014C00039077CF48091F902992787FD9095FC01FA -:1014D000EE0FFF1FE80FF91FE650FD4F808186FDDC -:1014E00015C08091F9028F5F8093F9022091F90273 -:1014F000332727FD30958091F80290E028173907AF -:10150000BCF48091F9028C305CF112C08091F90238 -:10151000992787FD9095FC01EE0FFF1FE80FF91F3B -:10152000E650FD4F808160E08F730E942E15D9CF69 -:101530008091840090918500049680349C4918F431 -:1015400080E49CE905C08091840090918500049618 -:1015500090938900809388008FEF8093F90238C0C0 -:1015600020918400309185008091F902992787FDB0 -:101570009095FC01EE0FFF1FE80FF91FE650FD4F9D -:1015800081819281820F931F9093890080938800BC -:101590008091F902992787FD9095FC01EE0FFF1FBE -:1015A000E80FF91FE650FD4F808186FF11C0809142 -:1015B000F902992787FD9095FC01EE0FFF1FE80FB8 -:1015C000F91FE650FD4F808161E08F730E942E1558 -:1015D000FF91EF91BF91AF919F918F917F916F910B -:1015E0005F914F913F912F910F900FBE0F901F90E1 -:1015F00018952091F8022C30A0F431E0320F30938E -:10160000F802FC012083822F90E0FC01EE0FFF1F07 -:10161000E80FF91FE650FD4F88EB9BE09283818332 -:1016200008952FEFFC0120830895DF92EF92FF923F -:101630000F931F93CF93DF93EC01D62E7A0189018C -:1016400088818C3008F066C061E08D2D0E94F51411 -:101650008881A82FB0E0FD01EE0FFF1FEA0FFB1FEE -:10166000E650FD4F2D2D2F739081907C922B90830F -:1016700060E272E06E197F0977FF02C06D5F7F4FF5 -:101680007595679575956795698340E659E0401BA8 -:10169000510B57FF02C04D5F5F4F559547955595CC -:1016A00047954A836CE00E94C71C9CE0899FB0016B -:1016B000112420E030E0A901460F571FFA01EE0F78 -:1016C000FF1FE40FF51FE650FD4F908196FD16C0F9 -:1016D0002F5F3F4F2C30310571F781110FC01092F1 -:1016E000800082E080938100109285001092840037 -:1016F000B19A80916F00826080936F00888190E042 -:10170000FC01EE0FFF1FE80FF91FE650FD4F80812F -:10171000806480838881DF91CF911F910F91FF902A -:10172000EF90DF90089520E639E040E252E00C941B -:10173000150BFC01808190E0FC01EE0FFF1FE80F0C -:10174000F91FE650FD4F80818F7B80830895FC0157 -:1017500080818C3070F5918128E830E0291B3109B7 -:1017600097FD3395220F331F220F331F6217730724 -:101770007CF0928128E532E0291B310997FD3395F1 -:10178000220F331F220F331F621773070CF49B01C4 -:1017900022503109220F331F4FB7F89490E0FC011B -:1017A000EE0FFF1FE80FF91FE650FD4F3283218334 -:1017B0004FBF08954F925F926F927F92AF92BF9208 -:1017C000CF92DF92EF92FF920F931F93CF93DF930D -:1017D000EC01603282E078070CF040C077FD06C073 -:1017E000653B71052CF064EB70E002C060E070E0D6 -:1017F000898128E830E0281B310987FD3395220FC5 -:10180000331F220F331F5901CC24B7FCC094DC2CAA -:10181000882777FD8095982F2A8148E552E0421B62 -:10182000510927FD5395440F551F440F551F2A0199 -:10183000662457FC6094762C7F926F925F924F9251 -:1018400014EBE12EF12C00E010E020E030E0A901E3 -:101850000E942C1B0F900F900F900F90CE01DF91E4 -:10186000CF911F910F91FF90EF90DF90CF90BF909D -:10187000AF907F906F905F904F900C94A70BFC01FE -:10188000808190E0FC01EE0FFF1FE80FF91FE6508A -:10189000FD4F808186FB882780F9089580914E0353 -:1018A00090E020914F03821B9109089520914F03EE -:1018B00080914E03281750F4E22FF0E0E05BFC4FDC -:1018C000808190E02F5F20934F0308958FEF9FEF6B -:1018D0000895E0914F0380914E03E81730F4F0E053 -:1018E000E05BFC4F808190E008958FEF9FEF0895BB -:1018F0000895CF92DF92EF92FF920F931F93CF93B1 -:10190000DF937C01CB018A0120912A03222389F0F5 -:10191000EB016B01C40ED51ECC15DD0569F0699194 -:10192000D701ED91FC910190F081E02DC70109955F -:10193000F3CF642F0E94D80DC801DF91CF911F9182 -:101940000F91FF90EF90DF90CF900895CF93DF93AA -:101950001F92CDB7DEB7698320912A032223D1F0ED -:1019600020912B03203240F021E030E0FC01338352 -:10197000228380E090E015C080912C03E82FF0E0F6 -:10198000E35DFC4F998190838F5F80932C0380935C -:101990002B0305C061E0CE0101960E94D80D81E0C5 -:1019A00090E00F90DF91CF910895FC011382128295 -:1019B00048EE53E060E070E04483558366837783AC -:1019C0008FEB91E091838083089510924F031092E2 -:1019D0004E0310922C0310922B030C94230D862F90 -:1019E000413208F040E260E573E00E94410D109240 -:1019F0004F0380934E03089521E00C94EF0C81E097 -:101A000080932A0360934D0310922C0310922B03B2 -:101A100008950F93062F21E040912B036DE273E0B0 -:101A200080914D030E94850D10922C0310922B0380 -:101A300010922A030F91089561E00C94090D8EE134 -:101A400093E00C94D50C1092DD0381E08093DB03CE -:101A50001092DA0361E082E00E942E1561E083E0DB -:101A60000E942E15E9EBF0E080818E7F80838081DB -:101A70008D7F808388E48093B80085E48093BC00E8 -:101A80000895413208F03FC09091DD039111FCCFE1 -:101A900091E09093DD032093DB032FEF20937003FD -:101AA0001092B503240F2093B4039093DC0390911C -:101AB000DC03880F892B8093DC038091DA0381306B -:101AC00041F41092DA038091DC038093BB0085EC33 -:101AD00001C085EE8093BC008091DD038130E1F38D -:101AE0008091B503841710F44091B50326EB33E0E1 -:101AF000FB01D9018A2F821B841718F48D918193E1 -:101B0000F9CF842F089580E008950F93413208F0B3 -:101B100046C09091DD039111FCCF92E09093DD03DC -:101B20000093DB039FEF909370031092B5034093F3 -:101B3000B403FB0166EB73E0DB019A2F961B94174D -:101B400018F491919D93F9CF1092DC039091DC03EE -:101B5000880F892B8093DC038091DA03813041F474 -:101B60001092DA038091DC038093BB0085EC01C006 -:101B700085EE8093BC00222321F08091DD0382302A -:101B8000E1F3809170038F3F61F0809170038032A8 -:101B900051F080917003803341F483E007C081E00D -:101BA00005C080E003C082E001C084E00F91089589 -:101BB000613298F42091DD03243089F4609392031C -:101BC000FC0184E993E0DC012A2F281B261718F476 -:101BD00021912D93F9CF80E0089581E0089582E06E -:101BE000089585ED8093BC008091BC0084FDFCCFFE -:101BF0001092DD03089585EC8093BC001092DD0304 -:101C000008951F920F920FB60F9211242F933F93B6 -:101C10004F935F936F937F938F939F93AF93BF93F4 -:101C2000EF93FF938091B900887F803609F49CC0C0 -:101C300068F5883209F45BC090F4803109F454C02F -:101C400038F4882309F4F5C0883009F44DC0F5C094 -:101C5000883109F44CC0803209F45DC0EEC0803494 -:101C600009F468C048F4803309F455C0883309F09A -:101C7000E4C080937003A8C0803509F44FC0883554 -:101C800009F45DC0883409F0D8C0D5C0883909F49A -:101C9000C6C0A8F4883709F467C038F4883609F458 -:101CA00063C0803709F460C0C8C0883809F4B7C081 -:101CB000803909F45FC0803809F0BFC05BC0803B49 -:101CC00009F485C038F4803A09F466C0883A09F40A -:101CD0007EC0B3C0803C09F4A6C0883C09F4A3C010 -:101CE000883B09F489C0A9C08091DC0310C09091A1 -:101CF000B5038091B403981770F5E091B50381E0C6 -:101D00008E0F8093B503F0E0EA54FC4F80818093FE -:101D1000BB0085EC85C0809370038DC0E091B50356 -:101D200081E08E0F8093B5038091BB00F0E0EA5410 -:101D3000FC4F80839091B5038091B4036DC0E09116 -:101D4000B50381E08E0F8093B5038091BB00F0E076 -:101D5000EA54FC4F80838091DB0381116CC081E0E9 -:101D60008093DA0384EA60C083E08093DD031092FD -:101D70007103CFCF80917103803208F050C0E091A1 -:101D8000710381E08E0F809371038091BB00F0E0BE -:101D9000EE58FC4F8083BDCF80917103803230F4C8 -:101DA000E0917103F0E0EE58FC4F10820E94F10DBB -:101DB0006091710370E0E091D603F091D70382E760 -:101DC00093E00995109271030E94FB0D36C084E0E8 -:101DD0008093DD031092930310929203E091D80355 -:101DE000F091D903099580919203811105C081E09A -:101DF0008093920310929403E091930381E08E0FFD -:101E000080939303F0E0EC56FC4F80818093BB00FD -:101E10009091930380919203981708F47ACF85E804 -:101E20008093BC000AC085EC8093BC001092DD0357 -:101E300004C0109270030E94F10DFF91EF91BF91C9 -:101E4000AF919F918F917F916F915F914F913F9152 -:101E50002F910F900FBE0F901F9018950F931F9307 -:101E6000CF93DF93EC018B0188819981DC01ED91A7 -:101E7000FC916F770190F081E02D0995888199811F -:101E8000DC01ED91FC91B801660F672F661F770B9F -:101E90006F770190F081E02DDF91CF911F910F912D -:101EA0000994DC018D919C91DC01ED91FC910190F4 -:101EB000F081E02D60EF0994DC018D919C91DC01B3 -:101EC000ED91FC910190F081E02D67EF0994CF93A3 -:101ED000DF93EC0188819981DC01ED91FC91019007 -:101EE000F081E02D69EF099588819981DC01ED9100 -:101EF000FC910190F081E02D62E009958881998143 -:101F0000DC01ED91FC910190F081E02D64E0DF9126 -:101F1000CF9109941F93CF93DF93EC018A8188239B -:101F2000D9F1CE010E94510F88819981DC01ED9198 -:101F3000FC910190F081E02D69E7099588819981F4 -:101F4000DC01ED91FC91AB81BC810190F081E02D31 -:101F50006C91099588819981DC01ED91FC91AB81AF -:101F6000BC810190F081E02D11966C91099512E0F1 -:101F70008A81181758F4EB81FC81E10FF11D608113 -:101F800070E0CE010E942E0F1F5FF2CFCE01DF91D5 -:101F9000CF911F910C945C0FDF91CF911F91089509 -:101FA000CF92DF92EF92FF920F931F93CF93DF9325 -:101FB0008C01EB01C42ED22E6BEC71E0CE010E949D -:101FC000751E7C016FE270E0CE010E946A1E0097D0 -:101FD00039F46CE570E0CE010E946A1E009711F0A2 -:101FE000EC012196E114F10451F4FE01019000206E -:101FF000E9F7EC1BEF5FD8011296EC9306C0EC1AE0 -:10200000FD0AE394E394F801E282D80113968D91DE -:102010009C9114970E94CC1DF801E280F12CC7011D -:1020200001960E94341DD80114969C938E931397A9 -:10203000FC01EE0DFF1D1082FC01C082D1821296C0 -:102040004C9150E042505109BE010296DF91CF9170 -:102050001F910F91FF90EF90DF90CF900C945B1E3B -:10206000DC018D919C91DC01ED91FC910480F58166 -:10207000E02D09940F931F93CF93DF93FC012085EC -:10208000213749F0293709F049C0DF91CF911F91DD -:102090000F910C948A0FFC01E95AFF4F0190F081D7 -:1020A000E02D309709F450C0DC01A75BBF4F4D9184 -:1020B0005C919A012150310937FD9A01B90175955A -:1020C0006795062F40E050E020E030E04E5F5F4F24 -:1020D0002017A0F4EC01C40FD51F1F81DC01A20F53 -:1020E000B31F18961C931897C885D0E8CD9F101978 -:1020F000112418961C932F5F3F4FE8CFDC01A60FE9 -:10210000B11D17962C911797222311F018961C9247 -:102110000896DF91CF911F910F910994FC01E75A26 -:10212000FF4F0190F081E02D309771F0AC01475FD7 -:102130005F4FDC01A75BBF4F6C916150822FDF9135 -:10214000CF911F910F910994DF91CF911F910F9122 -:1021500008950F931F93CF93DF93EC018A01888139 -:102160009981DC01ED91FC916F70606E0190F081BE -:10217000E02D0995B801CE01DF91CF911F910F910C -:102180000C942E0F0F931F93CF93DF93EC018A01D2 -:1021900088819981DC01ED91FC916F7060690190FB -:1021A000F081E02D099588819981DC01ED91FC9108 -:1021B000602F6F770190F081E02D099588819981DA -:1021C000DC01ED91FC91B801660F672F661F770B5C -:1021D0000190F081E02DDF91CF911F910F91099433 -:1021E000CF92DF92EF92FF920F931F93CF93DF93E3 -:1021F00000D01F92CDB7DEB78C01F42E2A833B832B -:1022000069830E94510FD8018D919C91DC01ED9161 -:10221000FC910190F081E02D698109952A81E22EDF -:10222000C22E3B81D32E8C2D8E198F1540F4F601D2 -:1022300061916F0170E0C8010E942E0FF4CFC801B8 -:102240000F900F900F90DF91CF911F910F91FF9002 -:10225000EF90DF90CF900C945C0F9A01FA010190FF -:102260000020E9F73197E41BF50B4E2F0C94F0108A -:10227000AB0161E70C942D11DC018D919C91DC0187 -:10228000ED91FC910190F081E02D0994603DB9F051 -:1022900028F4603961F0603C71F00895603E19F0F7 -:1022A000643F89F00895FC01E55BFF4F0FC0FC011E -:1022B000E35BFF4F0BC0FC01E15BFF4F07C0FC017C -:1022C000EF5AFF4F03C0FC01ED5AFF4F518340838B -:1022D00008956F3F29F4FC01EB5AFF4F518340836F -:1022E0000895875A9F4FFC01518340830895FC0154 -:1022F00015821682178280E090E0DF01A80FB91FD7 -:1023000018961C92019680349105B9F7DF01A85BFD -:10231000BF4F1C9211961D921C92EB5AFF4F0190D9 -:10232000F081E02D309709F009940895FC011282A4 -:10233000148213820C947711CF93DF93EC01888180 -:102340009981DC01ED91FC910680F781E02D0995E2 -:10235000FE01E85BFF4F20812223B1F0873F91050A -:1023600031F41082CE01DF91CF910C943A10FE012E -:10237000E75BFF4F20813181C20FD31F88872F5F1A -:102380003F4F318320839DC02D81222309F45EC0FD -:10239000803891050CF05AC09FEF920F9D83FE018B -:1023A000E90FF11D808791118CC08E81882309F47B -:1023B00088C0803DE9F148F48039E9F0803C09F0BB -:1023C00043C0FE01E15BFF4F36C0803E19F0843F01 -:1023D00019F13AC0FE01E55BFF4F0190F081E02D5D -:1023E000309791F18885698570E0B0E88B9F600D2A -:1023F000711D112427C0FE01E35BFF4F0190F081A6 -:10240000E02D309709F18885698570E090E8899F13 -:10241000600D711D112416C0FE01ED5AFF4F019091 -:10242000F081E02D309781F0688570E089850BC0E0 -:10243000FE01EF5AFF4F0190F081E02D309721F01F -:10244000688570E08F8109951E823BC0803F9105B1 -:102450002CF4282F2F702F83807F9927803E9105A1 -:1024600021F154F4803C910511F1803D9105F9F082 -:102470008039910531F519C0843F9105B1F054F4CC -:10248000803F9105F1F481E08083C75BDF4F1982C3 -:10249000188217C0893F910571F08F3F910589F42B -:1024A000CE01DF91CF910C94771192E001C091E0C1 -:1024B0009D838E8306C08EED93E0DF91CF910C94C7 -:1024C000670FDF91CF9108958F929F92AF92BF9245 -:1024D000CF92DF92EF92FF921F93CF93DF93EB01A6 -:1024E0004A01690161E08DE00E94F51410E0EE24DC -:1024F000D7FCE094FE2CAA2497FCA094BA2C812F40 -:1025000090E08C179D0794F4C701B6010E946713F1 -:1025100061E08DE00E942E15C501B4010E94671391 -:1025200060E08DE00E942E151F5FE9CFDF91CF9113 -:102530001F91FF90EF90DF90CF90BF90AF909F9052 -:102540008F900895CF93DF93EC0161E08DE00E94BE -:10255000F51422ED30E048E250E062E070E0CE0198 -:102560000E9464126AEF70E080E090E00E946713BE -:1025700022ED30E048E250E064E070E0CE010E94DD -:1025800064126DE770E080E090E0DF91CF910C94F1 -:102590006713CF93DF93EC0188E494E00E944A161E -:1025A00088E494E099838883CE010E94A212CE0130 -:1025B0000E94670FCE01DF91CF910C948A0F8EEDB0 -:1025C00093E00C9496110F9300E020E040E060E06F -:1025D00089E394E00E94A7160F9108951F920F922D -:1025E0000FB60F9211242F933F938F939F93AF9326 -:1025F000BF938091400490914104A0914204B09116 -:10260000430430913F0423E0230F2D3720F401963B -:10261000A11DB11D05C026E8230F0296A11DB11D05 -:1026200020933F048093400490934104A09342047C -:10263000B09343048091440490914504A0914604D2 -:10264000B09147040196A11DB11D8093440490935D -:102650004504A0934604B0934704BF91AF919F9166 -:102660008F913F912F910F900FBE0F901F90189553 -:102670002FB7F89460914004709141048091420416 -:10268000909143042FBF08953FB7F894809144047C -:1026900090914504A0914604B091470426B5A89BAB -:1026A00005C02F3F19F00196A11DB11D3FBF662740 -:1026B000782F892F9A2F620F711D811D911D42E085 -:1026C000660F771F881F991F4A95D1F70895CF92FB -:1026D000DF92EF92FF92CF93DF936B017C010E9418 -:1026E0004413EB01C114D104E104F10489F00E9408 -:1026F000731B0E9444136C1B7D0B683E734090F368 -:1027000081E0C81AD108E108F108C851DC4FEACFCE -:10271000DF91CF91FF90EF90DF90CF9008958230BE -:10272000910538F0880F991F880F991F0597019719 -:10273000F1F70895789484B5826084BD84B5816092 -:1027400084BD85B5826085BD85B5816085BDEEE6B9 -:10275000F0E0808181608083E1E8F0E01082808198 -:1027600082608083808181608083E0E8F0E0808106 -:1027700081608083E1E9F0E08081826080838081F4 -:1027800081608083E0E9F0E0808181608083E1EC1A -:10279000F0E080818460808380818260808380819A -:1027A00081608083E3ECF0E0808181608083E0ECF5 -:1027B000F0E0808182608083E2ECF0E080818160E3 -:1027C0008083EAE7F0E0808184608083808182609A -:1027D0008083808181608083808180688083089588 -:1027E000823108F08251E82FF0E0E45FFE4FE4917F -:1027F00080917B00E3FB222720F930E095E0220F57 -:10280000331F9A95E1F78F7D822B80937B00E770D1 -:1028100080910D0120E4829FC0011124E82BE093F8 -:102820007C0080917A00806480937A0080917A00A5 -:1028300086FDFCCF809178002091790090E0922B6A -:1028400008951F93CF93DF93182FEB0161E00E944F -:10285000F514209711F460E004C0CF3FD10539F49E -:1028600061E0812FDF91CF911F910C942E15E12F04 -:10287000F0E0E85EFE4F449150E0FA013197EF300E -:10288000F10508F06CC0E859FF4F0C94141D84B595 -:10289000806884BDC7BD68C084B5806284BDC8BD82 -:1028A00063C080918000806880938000D09389000D -:1028B000C093880059C0809180008062809380001E -:1028C000D0938B00C0938A004FC0809180008860B5 -:1028D00080938000D0938D00C0938C0045C0809180 -:1028E0009000806880939000D0939900C0939800E6 -:1028F0003BC080919000806280939000D0939B00B9 -:10290000C0939A0031C080919000886080939000BD -:10291000D0939D00C0939C0027C08091C000806828 -:102920008093C0008091C0008F7B8093C000C093D3 -:10293000CF001AC08091C00080628093C000C09315 -:10294000D00012C08091C20088608093C200809144 -:10295000C2008B7F8093C200C093D20005C0C038F4 -:10296000D1050CF07DCF77CFDF91CF911F910895E6 -:1029700090E0FC013197EF30F105B0F5E958FF4FD9 -:102980000C94141D809180008F7703C0809180008B -:102990008F7D80938000089580918000877FF9CF9C -:1029A00084B58F7702C084B58F7D84BD08958091F2 -:1029B00090008F7707C0809190008F7D03C0809139 -:1029C0009000877F8093900008958091C0008F775A -:1029D00003C08091C0008F7D8093C00008958091D6 -:1029E000C200877F8093C2000895CF93DF9390E069 -:1029F000FC01EA5CFE4F2491FC01EC5AFE4F8491ED -:102A0000882349F190E0880F991FFC01E257FE4F9F -:102A1000A591B49180589E4FFC01C591D4919FB768 -:102A2000611108C0F8948C91209582238C93888141 -:102A300082230AC0623051F4F8948C91322F309581 -:102A400083238C938881822B888304C0F8948C9193 -:102A5000822B8C939FBFDF91CF9108950F931F938B -:102A6000CF93DF931F92CDB7DEB7282F30E0F90167 -:102A7000E85EFE4F8491F901EA5CFE4F1491F90182 -:102A8000EC5AFE4F04910023C9F0882321F069839A -:102A90000E94B8146981E02FF0E0EE0FFF1FE058AC -:102AA000FE4FA591B4919FB7F8948C91611103C02A -:102AB0001095812301C0812B8C939FBF0F90DF91D4 -:102AC000CF911F910F910895CF93DF93282F30E07E -:102AD000F901E85EFE4F8491F901EA5CFE4FD49162 -:102AE000F901EC5AFE4FC491CC2391F081110E9460 -:102AF000B814EC2FF0E0EE0FFF1FEE58FE4FA5913B -:102B0000B4912C912D2381E090E021F480E002C06B -:102B100080E090E0DF91CF910895CF93DF931F92F3 -:102B2000CDB7DEB76983DC01ED91FC910280F381C2 -:102B3000E02D41E050E0BE016F5F7F4F09950F909F -:102B4000DF91CF910895CF93DF93EC018C859D8524 -:102B500097FF05C082E00E9459189D878C878C855D -:102B60009D85DF91CF91089583E00C94AE1AFC010E -:102B70008485958597FD06C082E00E94011890E04B -:102B80000196089582E00E94011890E00895FC01EA -:102B90008485958597FD05C02FEF3FEF3587248706 -:102BA000089582E00C945918CF93DF93EC01809143 -:102BB0001501882331F083E00E948A18181619063F -:102BC00034F081E090E09B838A8380E090E0DF91A5 -:102BD000CF910895FC0120812E5F208342E450E0D4 -:102BE0006CE971E080E80C942519FC0181819081E9 -:102BF000913A59F4813209F03CC047E050E06EE070 -:102C000071E080E00E94251943C0913291F5803235 -:102C100039F467E070E08EE091E00E94561906C03A -:102C2000823209F035C082818093150180910E01B6 -:102C300090910F01A0911001B0911101803B94403F -:102C4000A105B105C1F48091150180FD14C087E78D -:102C500097E790930108809300082BE088E190E0CB -:102C60000FB6F894A895809360000FBE2093600083 -:102C70000FC080E0089588E10FB6F894809360005B -:102C8000109260000FBEA8951092010810920008E3 -:102C900081E008952FEF3FEFFC01358724870895E9 -:102CA00010924B0410924A0488EE93E0A0E0B0E04A -:102CB00080934C0490934D04A0934E04B0934F0422 -:102CC00084ED91E090934904809348048FEF9FEF47 -:102CD00090935504809354040895AF92BF92CF927D -:102CE000DF92EF92FF920F931F93CF93DF936C01CC -:102CF0007B01C0E0D0E000E010E0F601EC0FFD1F2A -:102D00004AE050E06281C7010E9481175C016EE2D7 -:102D1000C7010E9414178A0D9B1D080F191F2196C9 -:102D2000C330D10551F74AE050E0F6016581C70193 -:102D30000E948117800F911FDF91CF911F910F91FA -:102D4000FF90EF90DF90CF90BF90AF9008950F93DA -:102D5000FC0184EE91E0918380836283438324832A -:102D600005830F91089584EE91E0909399048093E8 -:102D7000980410929A0410929B0410929C04109252 -:102D80009D04089508950E949A130E94C2168EE928 -:102D900094E00E940E1B0E948906C0E0D0E00E94D1 -:102DA000A6092097E1F30E940000F9CFCF92DF92AD -:102DB000EF92FF920F931F93CF93DF936C017A01F1 -:102DC000EB01E60EF71E00E010E0CE15DF0561F026 -:102DD0006991D601ED91FC910190F081E02DC60141 -:102DE0000995080F191FF1CFC801DF91CF911F91ED -:102DF0000F91FF90EF90DF90CF90089561157105CE -:102E000081F0DB010D900020E9F7AD01415051093F -:102E1000461B570BDC01ED91FC910280F381E02D04 -:102E2000099480E090E00895DC01ED91FC9101901F -:102E3000F081E02D09948F929F92AF92BF92CF9232 -:102E4000DF92EF92FF920F931F93CF93DF93CDB753 -:102E5000DEB7A1970FB6F894DEBF0FBECDBF7C01E1 -:102E6000C42EE52FCB01D22E19A221E02D1510F092 -:102E70002AE0D22E8E010F5D1F4F8D2C912CA12C9C -:102E8000B12C6C2D7E2FA50194010E94D31C8C2D9A -:102E9000D29E80191124015011098A3014F4805DEA -:102EA00001C0895CF8018083211531054105510578 -:102EB00021F0C22EE32FCA01E4CFB801C7010E945E -:102EC000FE16A1960FB6F894DEBF0FBECDBFDF9100 -:102ED000CF911F910F91FF90EF90DF90CF90BF9017 -:102EE000AF909F908F9008952115310541F4DC013A -:102EF000ED91FC910190F081E02D642F09940C94E8 -:102F00001B179A01462F50E060E070E00C94741794 -:102F10004091A2045091A3042091A0043091A104F7 -:102F200042175307B4F49091E8009570E1F3909143 -:102F3000E80092FD19C08093F1008091A204909165 -:102F4000A30401968F739927892B19F48EEF809330 -:102F5000E8008091A2049091A30401969093A304A9 -:102F60008093A20481E0089580E00895CF92DF92DB -:102F7000FF920F931F93CF93DF931F92CDB7DEB7CE -:102F8000082F162F862F880F8E5F99830E9488172F -:102F900083E00E948817F02EC02E9981D92E8C2DA7 -:102FA0008F19811778F4F60184910E948817082FF1 -:102FB00080E00E9488178023FFEFCF1ADF0A81117B -:102FC000EECF01C081E00F90DF91CF911F910F9163 -:102FD000FF90DF90CF900895615030F02091F10084 -:102FE000FC0120830196F8CF289884E68093A504FD -:102FF00008952FB7FC012083F89467706093E9006F -:103000000895CF93DF931F92CDB7DEB7682FCE011F -:1030100001960E94F9178091F20099819FBF0F904D -:10302000DF91CF910895FF920F931F93CF93DF937A -:1030300000D0CDB7DEB7F62E8A019091A404992373 -:1030400011F057FF03C08FEF9FEF2BC0682FCE0109 -:1030500001967A830E94F9178091F20090E0A8010E -:103060007A81801791070CF4AC01EF2DF72FF40E45 -:1030700084E6FE1639F028988093A5049091F1001B -:103080009193F7CF4115510521F08091F2008823EB -:1030900021F089818FBFCA0104C08BE68093E800CC -:1030A000F8CF0F900F90DF91CF911F910F91FF906C -:1030B0000895CF93DF931F92CDB7DEB741E050E084 -:1030C000BE016F5F7F4F0E941318019719F4898129 -:1030D00090E002C08FEF9FEF0F90DF91CF910895A6 -:1030E000CF93DF931F92CDB7DEB7682FCE01019645 -:1030F0000E94F9179091E800892F807295FF04C013 -:103100009091F20080E4891B99819FBF0F90DF911D -:10311000CF9108956F927F928F929F92AF92BF92BC -:10312000CF92DF92EF92FF920F931F93CF93DF9393 -:103130001F92CDB7DEB7782E7B01C42EB52E8091BD -:10314000A404882369F0042F152F8AEFD82E872D29 -:103150008072982E9AE3A92E872D8074882E11C034 -:103160008FEF9FEF57C0872D0E947018682E811136 -:103170000CC0DA94A9F361E070E080E090E00E9476 -:1031800067130115110579F73BC0282F30E00217AE -:1031900013070CF4602E672DCE0101960E94F917DB -:1031A0008091E80085FF29C0262D30E0021B130B1B -:1031B000992039F06A948FEF6816B1F01092F100FF -:1031C000F9CFF701862D77FE07C0815058F0949112 -:1031D0009093F1003196F9CF815020F09191909326 -:1031E000F100FACFE20EF31E8091E80085FF0FC0D8 -:1031F0000115110511F481100AC089818FBFC1CF5B -:103200005D9884E68093A6048C2D9B2D03C0A0922C -:10321000E800F3CF0F90DF91CF911F910F91FF90B6 -:10322000EF90DF90CF90BF90AF909F908F907F9066 -:103230006F9008951092E9001092A3041092A204D6 -:103240009093A1048093A0040895CF92DF92FF92FF -:103250000F931F93CF93DF9300D0CDB7DEB7F82E37 -:103260008A016B0101151105B1F0F601F7FE02C0EC -:10327000849101C0808149835A830E94881701503C -:103280001109FFEFCF1ADF0A49815A818111EACF74 -:103290008FEF9FEF01C0CA010F900F90DF91CF9188 -:1032A0001F910F91FF90DF90CF9008951F93CF93C0 -:1032B000DF931F92CDB7DEB7162F2091E80022FFD3 -:1032C000FCCF612F79830E94EC178BEF8093E8008D -:1032D000812F7981972F0F90DF91CF911F910895C2 -:1032E000CF93DF931F92CDB7DEB71982CE0101963F -:1032F0000E94EA15CE0101960E94921B898190E0FE -:103300000F90DF91CF9108951F920F920FB60F92F9 -:103310001124EF92FF920F931F932F933F934F939C -:103320005F936F937F938F939F93AF93BF93EF932D -:10333000FF93CF93DF93CDB7DEB76297DEBFCDBFEC -:103340001092E9008091E80083FFEBC068E0CE01B5 -:103350000A960E94EC1782EF8093E8009A8597FF07 -:1033600005C08091E80080FFFCCF03C08EEF809302 -:10337000E800892F807609F0B9C08B85811105C0DE -:103380001092F1001092F100C5C0282F2D7F21303E -:1033900009F4C0C0853049F48091E80080FFFCCF7B -:1033A0008C8580688093E300B5C0863009F076C0D4 -:1033B0002D85E888F988223071F580E090E02A8B2D -:1033C0000E941A190E94701999E08E010F5F1F4F19 -:1033D000F801392F11923A95E9F799832A892A83BE -:1033E00091E09E8390E898879AEF99872091A204B4 -:1033F0003091A304275F3F4F3C832B838D83C7010C -:103400000E941A1949E050E0B80180E00E94251995 -:103410000E9470197FC0C7012A8B0E941A192A893D -:10342000223241F482E290E00E949D1B892B09F038 -:1034300071C074C0213069F488899989089711F4A2 -:1034400020939F0480919F04811118C065EF71E063 -:103450001AC0233009F062C08C85882391F0823035 -:1034600021F460E183E192E006C0813009F056C0AA -:103470006BE087E092E00E94B6174AC063EE71E00D -:1034800002C064E272E06115710509F447C0FB01F6 -:10349000449150E080E80E9425193CC0873009F42F -:1034A0003DC0883021F481E08093F10033C0893041 -:1034B00089F5937099F5EFEDF1E081E021E096E375 -:1034C0008093E9002093EB0034913093EC009093CB -:1034D000ED008F5F3196853099F78EE78093EA0093 -:1034E0001092EA008C858093A40414C0888999897D -:1034F0000E941A198E85811105C0CE010A960E947C -:10350000F51506C0823051F4CE010A960E94C51B03 -:10351000882321F08EEF8093E80003C081E280933E -:10352000EB0062960FB6F894DEBF0FBECDBFDF9101 -:10353000CF91FF91EF91BF91AF919F918F917F912B -:103540006F915F914F913F912F911F910F91FF903C -:10355000EF900F900FBE0F901F9018958093E90089 -:103560008091F200882319F08AE38093E80008959F -:103570001F920F920FB60F9211242F933F934F93E8 -:103580005F936F937F938F939F93AF93BF93EF93CB -:10359000FF938091E1001092E10083FF0FC0109231 -:1035A000E90091E09093EB001092EC0092E390938D -:1035B000ED001092A40498E09093F00082FF1DC0EB -:1035C00083E00E94AE1A8091A604882339F080918E -:1035D000A60481508093A604882369F08091A504F5 -:1035E000882359F08091A50481508093A50481110E -:1035F00004C0289A02C05D9AF1CFFF91EF91BF916C -:10360000AF919F918F917F916F915F914F913F917A -:103610002F910F900FBE0F901F9018951092A40439 -:1036200081E08093D70080EA8093D80082E189BD51 -:1036300009B400FEFDCF61E070E080E090E00E9400 -:10364000671380E98093D8008CE08093E2001092A9 -:10365000E000559A209A08954F925F926F927F9260 -:10366000AF92BF92CF92DF92EF92FF920F931F9390 -:10367000CF93DF93CDB7DEB729013A01621B730BFD -:10368000840B950B29893A894B895C892A193B0956 -:103690004C095D09298B3A8B4B8B5C8B9B01AC01F0 -:1036A00069897A898B899C890E94B71CE418F5087E -:1036B00006091709A80197010E94F51C2A0D3B1D58 -:1036C0004C1D5D1DCA01B901DF91CF911F910F9172 -:1036D000FF90EF90DF90CF90BF90AF907F906F9072 -:1036E0005F904F9008950895FF920F931F93CF938B -:1036F000DF93EC01F62EE881F9810480F581E02D5D -:1037000009958C01E881F9810680F781E02D6F2D04 -:10371000CE010995C8019927DF91CF911F910F9193 -:10372000FF900895FC0120812F5F208349E150E044 -:1037300068EA72E080E80C94251945E650E061ECF7 -:1037400072E080E80C942519EF92FF920F931F937B -:10375000CF93DF931F92CDB7DEB789838B017A01B8 -:1037600041E050E0BE016F5F7F4F84E00E948A1805 -:10377000A701B80184E40E948A180F90DF91CF91CD -:103780001F910F91FF90EF900895FC01918180812E -:10379000813A31F481E0913091F0933089F411C095 -:1037A000813271F49B3021F482818093170105C02E -:1037B0009A3031F482818093160181E00895089552 -:1037C00080E0089548E050E082E00C94A41BCF9381 -:1037D000DF93DC01683818F0E8E7E60F25C0E62F34 -:1037E000F0E067FF11C0E058F10981E090E001C00E -:1037F000880FEA95EAF714969C911497982B1496E3 -:103800009C931497E0E010C0E85DFD4FE491EE2337 -:1038100009F440C0E7FF08C014968C9114978260A9 -:1038200014968C931497EF7716968C9116978E17A3 -:1038300041F117968C9117978E1719F118968C9164 -:1038400018978E17F1F019968C9119978E17C9F069 -:103850001A968C911A978E17A1F01B968C911B9734 -:103860008E1779F080E090E0ED01C80FD91F2E810E -:10387000211102C0EE8305C0019686309105A1F7A3 -:1038800009C0BD016C5F7F4FCD010E94E21B81E04A -:1038900090E008C081E090E013969C938E9312977D -:1038A00080E090E0DF91CF910895683818F0E8E764 -:1038B000E60F25C0E62FF0E067FF12C0E058F109DF -:1038C00021E030E001C0220FEA95EAF72095DC0103 -:1038D00014963C911497322314963C93E0E00FC069 -:1038E000E85DFD4FE491EE2329F1E7FF08C0DC011C -:1038F00014962C9114972D7F14962C93EF7720E03B -:1039000030E0EE2351F0DC01A20FB31F16964C916C -:1039100016974E1302C016961C922F5F3F4F26300B -:10392000310579F7BC016C5F7F4F0E94E21B81E09B -:1039300090E0089580E090E00895FC0116821782DF -:1039400010861186128613861482BC016C5F7F4F2D -:103950000C94E21B1092B3041092AA041092A904D2 -:103960008AEE91E09093A8048093A7040895DB0168 -:103970008F939F930E941A1DBF91AF91A29F800DBC -:10398000911DA39F900DB29F900D11240895991B36 -:1039900079E004C0991F961708F0961B881F7A9546 -:1039A000C9F780950895A1E21A2EAA1BBB1BFD0141 -:1039B0000DC0AA1FBB1FEE1FFF1FA217B307E4070E -:1039C000F50720F0A21BB30BE40BF50B661F771F66 -:1039D000881F991F1A9469F7609570958095909546 -:1039E0009B01AC01BD01CF010895052E97FB1EF48C -:1039F00000940E940C1D57FD07D00E94D31C07FCA9 -:103A000003D04EF40C940C1D5095409530952195A3 -:103A10003F4F4F4F5F4F08959095809570956195FA -:103A20007F4F8F4F9F4F0895EE0FFF1F0590F4912A -:103A3000E02D09940E94251DA59F900DB49F900D27 -:103A4000A49F800D911D11240895A29FB001B39FE2 -:103A5000C001A39F700D811D1124911DB29F700D97 -:103A6000811D1124911D0895CF93DF93823091051C -:103A700010F482E090E0E091B604F091B70420E009 -:103A800030E0A0E0B0E0309739F140815181481733 -:103A90005907B8F04817590771F48281938110973C -:103AA00029F013969C938E9312972CC09093B70491 -:103AB0008093B60427C02115310531F04217530712 -:103AC00018F0A901DB0101C0EF019A01BD01DF017E -:103AD0000280F381E02DD7CF21153105F9F0281BA5 -:103AE000390B2430310580F48A819B816115710581 -:103AF00021F0FB019383828304C09093B7048093E9 -:103B0000B604FE01329644C0FE01E20FF31F81931A -:103B1000919322503109398328833AC02091B4040B -:103B20003091B504232B41F420910201309103011F -:103B30003093B5042093B404209100013091010129 -:103B40002115310541F42DB73EB740910401509144 -:103B50000501241B350BE091B404F091B504E21784 -:103B6000F307A0F42E1B3F0B2817390778F0AC01A0 -:103B70004E5F5F4F2417350748F04E0F5F1F50937D -:103B8000B5044093B4048193919302C0E0E0F0E067 -:103B9000CF01DF91CF910895CF93DF93009709F480 -:103BA00087C0FC01329713821282C091B604D09173 -:103BB000B704209781F420813181280F391F80912B -:103BC000B4049091B5048217930779F5F093B50486 -:103BD000E093B4046DC0DE0120E030E0AE17BF0713 -:103BE00050F412964D915C9113979D01411551052A -:103BF00009F1DA01F3CFB383A28340815181840FAD -:103C0000951F8A179B0771F48D919C911197840FD2 -:103C1000951F02969183808312968D919C911397A4 -:103C2000938382832115310529F4F093B704E0933F -:103C3000B6043EC0D9011396FC93EE9312974D91B2 -:103C40005D91A40FB51FEA17FB0779F4808191817C -:103C5000840F951F0296D90111969C938E938281B1 -:103C6000938113969C938E931297E0E0F0E08A8103 -:103C70009B81009719F0FE01EC01F9CFCE0102966D -:103C800028813981820F931F2091B4043091B504AB -:103C90002817390769F4309729F41092B704109265 -:103CA000B60402C013821282D093B504C093B40448 -:103CB000DF91CF910895FB01DC014150504048F065 -:103CC00001900D920020C9F701C01D924150504053 -:103CD000E0F70895FC0181E090E00190061609F4F8 -:103CE000CF010020D1F701970895FB015191552391 -:103CF000A9F0BF01DC014D9145174111E1F759F4DD -:103D0000CD010190002049F04D9140154111C9F3BA -:103D1000FB014111EFCF81E090E001970895F89405 -:023D2000FFCFD3 -:103D22000000B804800001000000FF13000100E160 -:103D320000000000000001014D6178207365727679 -:103D42006F7320617474616368656400556E6B6E95 -:103D52006F776E2070696E206D6F646500537461B9 -:103D62006E646172644669726D6174612E696E6F10 -:103D7200004932433A20546F6F206D616E792062A0 -:103D8200797465732072656365697665640049328A -:103D9200433A20546F6F20666577206279746573A9 -:103DA2002072656365697665640031302D626974DD -:103DB2002061646472657373696E67206E6F74202C -:103DC200737570706F7274656400746F6F206D61CB -:103DD2006E7920717565726965730000000000A636 -:103DE2000C790C4E0C560C690C780C2E637070001A -:103DF200000000008D15D415B715C715A315B4150D -:103E0200000000006D1600000000741BD616E71BB0 -:043E1200551C9D1C82 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/leonardo/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/leonardo/Blink.cpp.hex deleted file mode 100644 index 4281969b..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/leonardo/Blink.cpp.hex +++ /dev/null @@ -1,301 +0,0 @@ -:100000000C9467010C948F010C948F010C948F0158 -:100010000C948F010C948F010C948F010C948F0120 -:100020000C948F010C948F010C9484060C94500551 -:100030000C948F010C948F010C948F010C948F0100 -:100040000C948F010C948F010C948F010C948F01F0 -:100050000C948F010C948F010C948F010C94A901C6 -:100060000C948F010C948F010C948F010C948F01D0 -:100070000C948F010C948F010C948F010C948F01C0 -:100080000C948F010C948F010C948F010C948F01B0 -:100090000C948F010C948F010C948F010C948F01A0 -:1000A0000C948F010C948F010C948F01AC02AF0261 -:1000B0009E02A202A802D002D002D002B302B7026E -:1000C000BB02C102C502D002CB020000000200093F -:1000D0000F0000030401000C0000000000000000FD -:1000E00000000000000000000408020110408040F1 -:1000F000102040804080080204018040201002014E -:10010000108010204040040404040403040502028B -:1001100002020403020202020606060606060404A0 -:100120000202020400000000250028002B002E001F -:10013000310000000000240027002A002D003000BC -:1001400000C18081C112010002020000404123363B -:100150008000010102000112010002000000404184 -:1001600023368000010102000141726475696E6FDF -:10017000204C4C430041726475696E6F204C656F72 -:100180006E6172646F0004030904080B000202022E -:100190000100090400000102020000052400100112 -:1001A00005240101010424020605240600010705B7 -:1001B000810310004009040100020A000000070545 -:1001C000020240000007058302400000000000001A -:1001D000000000002A2B28000000000000000000A2 -:1001E0000000000000000000000000002C9EB4A0F1 -:1001F000A1A2A434A6A7A5AE362D3738271E1F20EE -:10020000212223242526B333B62EB7B89F848586B2 -:100210008788898A8B8C8D8E8F90919293949596F6 -:100220009798999A9B9C9D2F3130A3AD3504050674 -:100230000708090A0B0C0D0E0F10111213141516D6 -:100240001718191A1B1C1DAFB1B0B5000904020024 -:1002500001030000000921010100012265000705DA -:10026000840340000105010902A1010901A10085E3 -:10027000010509190129031500250195037501815F -:100280000295017505810305010930093109381509 -:1002900081257F750895038106C0C005010906A167 -:1002A000018502050719E029E7150025017501956B -:1002B00008810295017508810395067508150025CA -:1002C000650507190029658100C0B60709091124D1 -:1002D0001FBECFEFDAE0DEBFCDBF11E0A0E0B1E09E -:1002E000ECE8F2E102C005900D92A832B107D9F70F -:1002F00021E0A8E2B1E001C01D92A739B207E1F701 -:1003000012E0CEECD2E004C02297FE010E94400928 -:10031000CA3CD107C9F70E9441030C9444090C94CC -:10032000000061E08DE00C94D10261E08DE00E945C -:100330000A0368EE73E080E090E00E94160260E03D -:100340008DE00E940A0368EE73E080E090E00C9478 -:1003500016021F920F920FB60F9211242F933F9304 -:100360008F939F93AF93BF938091290190912A011E -:10037000A0912B01B0912C013091280123E0230F93 -:100380002D3720F40196A11DB11D05C026E8230FCD -:100390000296A11DB11D20932801809329019093FD -:1003A0002A01A0932B01B0932C0180912D019091F3 -:1003B0002E01A0912F01B09130010196A11DB11D18 -:1003C00080932D0190932E01A0932F01B0933001C3 -:1003D000BF91AF919F918F913F912F910F900FBE41 -:1003E0000F901F9018953FB7F89480912D01909130 -:1003F0002E01A0912F01B091300126B5A89B05C018 -:100400002F3F19F00196A11DB11D3FBF6627782F20 -:10041000892F9A2F620F711D811D911D42E0660F79 -:10042000771F881F991F4A95D1F70895CF92DF92C1 -:10043000EF92FF92CF93DF936B017C010E94F30157 -:10044000EB01C114D104E104F10489F00E94F80623 -:100450000E94F3016C1B7D0B683E734090F381E0BA -:10046000C81AD108E108F108C851DC4FEACFDF9182 -:10047000CF91FF90EF90DF90CF900895789484B55E -:10048000826084BD84B5816084BD85B5826085BD90 -:1004900085B5816085BDEEE6F0E080818160808376 -:1004A000E1E8F0E010828081826080838081816059 -:1004B0008083E0E8F0E0808181608083E1E9F0E022 -:1004C000808182608083808181608083E0E9F0E0C8 -:1004D000808181608083E1ECF0E0808184608083B2 -:1004E000808182608083808181608083E3ECF0E0A2 -:1004F000808181608083E0ECF0E080818260808395 -:10050000E2ECF0E0808181608083EAE7F0E08081C6 -:100510008460808380818260808380818160808329 -:10052000808180688083089590E0FC013197EF30EE -:10053000F105B0F5EA5AFF4F0C943E098091800016 -:100540008F7703C0809180008F7D80938000089515 -:1005500080918000877FF9CF84B58F7702C084B502 -:100560008F7D84BD0895809190008F7707C0809122 -:1005700090008F7D03C080919000877F80939000D2 -:1005800008958091C0008F7703C08091C0008F7D57 -:100590008093C00008958091C200877F8093C2003D -:1005A0000895CF93DF9390E0FC01E851FF4F249131 -:1005B000FC01EA5FFE4F8491882349F190E0880FA7 -:1005C000991FFC01EE5CFE4FA591B4918C5D9E4F8E -:1005D000FC01C591D4919FB7611108C0F8948C912A -:1005E000209582238C93888182230AC0623051F443 -:1005F000F8948C91322F309583238C938881822BB1 -:10060000888304C0F8948C91822B8C939FBFDF91D8 -:10061000CF9108950F931F93CF93DF931F92CDB780 -:10062000DEB7282F30E0F901E653FF4F8491F9013E -:10063000E851FF4F1491F901EA5FFE4F0491002346 -:10064000C9F0882321F069830E9494026981E02F18 -:10065000F0E0EE0FFF1FEC5DFE4FA591B4919FB748 -:10066000F8948C91611103C01095812301C0812BF6 -:100670008C939FBF0F90DF91CF911F910F910895A1 -:1006800008950E943E020E94400381E391E00E948F -:10069000DA060E949101C0E0D0E00E949501209707 -:1006A000E1F30E940000F9CF4091350150913601ED -:1006B000209133013091340142175307B4F49091E3 -:1006C000E8009570E1F39091E80092FD19C08093E5 -:1006D000F100809135019091360101968F73992731 -:1006E000892B19F48EEF8093E80080913501909169 -:1006F00036010196909336018093350181E008958B -:1007000080E00895CF92DF92FF920F931F93CF93D3 -:10071000DF931F92CDB7DEB7082F162F862F880FD5 -:100720008E5F99830E94540383E00E945403F02E4D -:10073000C02E9981D92E8C2D8F19811778F4F6014E -:1007400084910E945403082F80E00E945403802368 -:10075000FFEFCF1ADF0A8111EECF01C081E00F90C9 -:10076000DF91CF911F910F91FF90DF90CF9008956F -:10077000615030F02091F100FC0120830196F8CF08 -:10078000289884E68093380108952FB7FC012083D0 -:10079000F89467706093E9000895CF93DF931F92F8 -:1007A000CDB7DEB7682FCE0101960E94C5038091B8 -:1007B000F20099819FBF0F90DF91CF910895FF9232 -:1007C0000F931F93CF93DF9300D0CDB7DEB7F62EF4 -:1007D0008A0190913701992311F057FF03C08FEFE1 -:1007E0009FEF2BC0682FCE0101967A830E94C5032C -:1007F0008091F20090E0A8017A81801791070CF4B3 -:10080000AC01EF2DF72FF40E84E6FE1639F0289890 -:10081000809338019091F1009193F7CF41155105E4 -:1008200021F08091F200882321F089818FBFCA01D5 -:1008300004C08BE68093E800F8CF0F900F90DF9113 -:10084000CF911F910F91FF900895CF93DF931F9247 -:10085000CDB7DEB741E050E0BE016F5F7F4F0E9431 -:10086000DF03019719F4898190E002C08FEF9FEFB9 -:100870000F90DF91CF910895CF93DF931F92CDB763 -:10088000DEB7682FCE0101960E94C5039091E80063 -:10089000892F807295FF04C09091F20080E4891B3B -:1008A00099819FBF0F90DF91CF9108956F927F92B2 -:1008B0008F929F92AF92BF92CF92DF92EF92FF9270 -:1008C0000F931F93CF93DF931F92CDB7DEB7782E90 -:1008D0007B01C42EB52E80913701882369F0042F47 -:1008E000152F8AEFD82E872D8072982E9AE3A92E85 -:1008F000872D8074882E11C08FEF9FEF57C0872DF2 -:100900000E943C04682E81110CC0DA94A9F361E0C6 -:1009100070E080E090E00E9416020115110579F761 -:100920003BC0282F30E0021713070CF4602E672D10 -:10093000CE0101960E94C5038091E80085FF29C081 -:10094000262D30E0021B130B992039F06A948FEFAB -:100950006816B1F01092F100F9CFF701862D77FEFD -:1009600007C0815058F094919093F1003196F9CFDF -:10097000815020F091919093F100FACFE20EF31E96 -:100980008091E80085FF0FC00115110511F4811059 -:100990000AC089818FBFC1CF5D9884E680933901F9 -:1009A0008C2D9B2D03C0A092E800F3CF0F90DF9118 -:1009B000CF911F910F91FF90EF90DF90CF90BF905C -:1009C000AF909F908F907F906F9008951092E90064 -:1009D00010923601109235019093340180933301C7 -:1009E0000895CF92DF92FF920F931F93CF93DF93DF -:1009F00000D0CDB7DEB7F82E8A016B0101151105C5 -:100A0000B1F0F601F7FE02C0849101C080814983F4 -:100A10005A830E94540301501109FFEFCF1ADF0AD5 -:100A200049815A818111EACF8FEF9FEF01C0CA013E -:100A30000F900F90DF91CF911F910F91FF90DF905A -:100A4000CF9008951F93CF93DF931F92CDB7DEB75A -:100A5000162F2091E80022FFFCCF612F79830E949E -:100A6000B8038BEF8093E800812F7981972F0F9047 -:100A7000DF91CF911F910895CF93DF931F92CDB750 -:100A8000DEB71982CE0101960E945607CE0101966B -:100A90000E94F107898190E00F90DF91CF91089536 -:100AA0001F920F920FB60F921124EF92FF920F93A5 -:100AB0001F932F933F934F935F936F937F938F93E6 -:100AC0009F93AF93BF93EF93FF93CF93DF93CDB7F4 -:100AD000DEB76297DEBFCDBF1092E9008091E800DB -:100AE00083FFEBC068E0CE010A960E94B80382EF54 -:100AF0008093E8009A8597FF05C08091E80080FF09 -:100B0000FCCF03C08EEF8093E800892F807609F038 -:100B1000B9C08B85811105C01092F1001092F100CF -:100B2000C5C0282F2D7F213009F4C0C0853049F47D -:100B30008091E80080FFFCCF8C8580688093E30083 -:100B4000B5C0863009F076C02D85E888F988223056 -:100B500071F580E090E02A8B0E94E6040E943C053B -:100B600099E08E010F5F1F4FF801392F11923A95CE -:100B7000E9F799832A892A8391E09E8390E89887F0 -:100B80009AEF99872091350130913601275F3F4FC9 -:100B90003C832B838D83C7010E94E60449E050E02B -:100BA000B80180E00E94F1040E943C057FC0C701AB -:100BB0002A8B0E94E6042A89223241F482E290E0E4 -:100BC0000E94FC07892B09F071C074C0213069F4C0 -:100BD00088899989089711F4209332018091320114 -:100BE000811118C067E571E01AC0233009F062C0B6 -:100BF0008C85882391F0823021F460E185E791E0D3 -:100C000006C0813009F056C06BE089E691E00E9491 -:100C100082034AC065E471E002C066E871E06115D4 -:100C2000710509F447C0FB01449150E080E80E943F -:100C3000F1043CC0873009F43DC0883021F481E0E4 -:100C40008093F10033C0893089F5937099F5E1E420 -:100C5000F1E081E021E096E38093E9002093EB004E -:100C600034913093EC009093ED008F5F3196853096 -:100C700099F78EE78093EA001092EA008C858093C2 -:100C8000370114C0888999890E94E6048E858111F4 -:100C900005C0CE010A960E94610706C0823051F459 -:100CA000CE010A960E942408882321F08EEF8093BB -:100CB000E80003C081E28093EB0062960FB6F894DF -:100CC000DEBF0FBECDBFDF91CF91FF91EF91BF91FE -:100CD000AF919F918F917F916F915F914F913F91D4 -:100CE0002F911F910F91FF90EF900F900FBE0F90DB -:100CF0001F9018958093E9008091F200882319F0E5 -:100D00008AE38093E80008951F920F920FB60F9226 -:100D100011242F933F934F935F936F937F938F9300 -:100D20009F93AF93BF93EF93FF938091E100109255 -:100D3000E10083FF0FC01092E90091E09093EB0077 -:100D40001092EC0092E39093ED001092370198E03E -:100D50009093F00082FF1DC083E00E947A0680918C -:100D60003901882339F0809139018150809339010C -:100D7000882369F080913801882359F080913801E7 -:100D8000815080933801811104C0289A02C05D9A75 -:100D9000F1CFFF91EF91BF91AF919F918F917F9193 -:100DA0006F915F914F913F912F910F900FBE0F90D8 -:100DB0001F9018951092370181E08093D70080EA48 -:100DC0008093D80082E189BD09B400FEFDCF61E0C7 -:100DD00070E080E090E00E94160280E98093D800E5 -:100DE0008CE08093E2001092E000559A209A0895DA -:100DF0000895CF93DF931F92CDB7DEB76983DC01EF -:100E0000ED91FC910280F381E02D41E050E0BE01C4 -:100E10006F5F7F4F09950F90DF91CF910895CF932A -:100E2000DF93EC018C859D8597FF05C082E00E94D1 -:100E300025049D878C878C859D85DF91CF910895B2 -:100E400083E00C947A06FC018485958597FD06C0A5 -:100E500082E00E94CD0390E00196089582E00E9416 -:100E6000CD0390E00895FC018485958597FD05C02C -:100E70002FEF3FEF35872487089582E00C942504F7 -:100E8000CF93DF93EC0180910701882331F083E059 -:100E90000E9456041816190634F081E090E09B83F6 -:100EA0008A8380E090E0DF91CF910895FC0120815A -:100EB0002E5F208342E450E06AE871E080E80C9401 -:100EC000F104FC0181819081913A59F4813209F059 -:100ED0003CC047E050E060E071E080E00E94F10437 -:100EE00043C0913291F5803239F467E070E080E0E0 -:100EF00091E00E94220506C0823209F035C082814D -:100F0000809307018091000190910101A09102015D -:100F1000B0910301803B9440A105B105C1F48091DB -:100F2000070180FD14C087E797E79093010880933D -:100F300000082BE088E190E00FB6F894A895809324 -:100F400060000FBE209360000FC080E0089588E12C -:100F50000FB6F89480936000109260000FBEA895C1 -:100F6000109201081092000881E0089510923D014E -:100F700010923C0188EE93E0A0E0B0E080933E0147 -:100F800090933F01A0934001B09341018EE091E026 -:100F900090933B0180933A018FEF9FEF909347012D -:100FA000809346010895FF920F931F93CF93DF9391 -:100FB000EC01F62EE881F9810480F581E02D099598 -:100FC0008C01E881F9810680F781E02D6F2DCE013B -:100FD0000995C8019927DF91CF911F910F91FF903B -:100FE0000895FC0120812F5F208349E150E06CE4EB -:100FF00072E080E80C94F10445E650E065E672E0AA -:1010000080E80C94F104EF92FF920F931F93CF931B -:10101000DF931F92CDB7DEB789838B017A0141E060 -:1010200050E0BE016F5F7F4F84E00E945604A7012D -:10103000B80184E40E9456040F90DF91CF911F9174 -:101040000F91FF90EF900895FC0191818081813A8A -:1010500031F481E0913091F0933089F411C0813204 -:1010600071F49B3021F482818093090105C09A308C -:1010700031F482818093080181E00895089580E031 -:10108000089548E050E082E00C940308CF93DF938A -:10109000DC01683818F0E8E7E60F25C0E62FF0E03D -:1010A00067FF11C0E058F10981E090E001C0880FAE -:1010B000EA95EAF714969C911497982B14969C93B2 -:1010C0001497E0E010C0E453FE4FE491EE2309F4DE -:1010D00040C0E7FF08C014968C9114978260149664 -:1010E0008C931497EF7716968C9116978E1741F183 -:1010F00017968C9117978E1719F118968C9118974F -:101100008E17F1F019968C9119978E17C9F01A96CF -:101110008C911A978E17A1F01B968C911B978E17A6 -:1011200079F080E090E0ED01C80FD91F2E812111E8 -:1011300002C0EE8305C0019686309105A1F709C073 -:10114000BD016C5F7F4FCD010E94410881E090E0BE -:1011500008C081E090E013969C938E93129780E0F4 -:1011600090E0DF91CF910895683818F0E8E7E60F36 -:1011700025C0E62FF0E067FF12C0E058F10921E03A -:1011800030E001C0220FEA95EAF72095DC011496C1 -:101190003C911497322314963C93E0E00FC0E45343 -:1011A000FE4FE491EE2329F1E7FF08C0DC0114961D -:1011B0002C9114972D7F14962C93EF7720E030E03C -:1011C000EE2351F0DC01A20FB31F16964C91169737 -:1011D0004E1302C016961C922F5F3F4F26303105EA -:1011E00079F7BC016C5F7F4F0E94410881E090E07D -:1011F000089580E090E00895FC0116821782108621 -:101200001186128613861482BC016C5F7F4F0C948A -:1012100041081092960110928D0110928C018EE17E -:1012200091E090938B0180938A010895CF92DF9291 -:10123000EF92FF920F931F93CF93DF936C017A018C -:10124000EB01E60EF71E00E010E0CE15DF0561F0C1 -:101250006991D601ED91FC910190F081E02DC601DC -:101260000995080F191FF1CFC801DF91CF911F9188 -:101270000F91FF90EF90DF90CF900895EE0FFF1F3A -:0C1280000590F491E02D0994F894FFCF44 -:10128C0000E1000000000000010100000000F90670 -:10129C004007230733070F07200700000000D30780 -:0812AC0016094608B408FC080D -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/leonardo/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/leonardo/StandardFirmata.cpp.hex deleted file mode 100644 index e89bc32b..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/leonardo/StandardFirmata.cpp.hex +++ /dev/null @@ -1,996 +0,0 @@ -:100000000C949A010C94C2010C94C2010C94C2018C -:100010000C94C2010C94C2010C94C2010C94C20154 -:100020000C94C2010C94C2010C94B81A0C9484195B -:100030000C94C2010C94C2010C94C2010C94C20134 -:100040000C94C2010C943D0A0C94C2010C94C201A0 -:100050000C94C2010C94C2010C94C2010C94EE12D7 -:100060000C94C2010C94C2010C94C2010C94C20104 -:100070000C94C2010C94C2010C94C2010C94C201F4 -:100080000C94C2010C94C2010C94C2010C94C201E4 -:100090000C94010E0C94C2010C94C2010C94C20188 -:1000A0000C94C2010C94C2010C94C20183099F09F3 -:1000B000C3089F0934099F09A10850089F099F0997 -:1000C0009F099F099F0967079F0936089F098808AC -:1000D00047144C1451145B146514AF14AF14AF14CF -:1000E0006F14791483148D149A14AF14A214D014BD -:1000F000D314C214C614CC14F414F414F414D71486 -:10010000DB14DF14E514E914F414EF1407060504F6 -:100110000100080A0B0C0D090000000200090F0085 -:1001200000030401000C00000000000000000000BB -:100130000000000000000408020110408040102070 -:10014000408040800802040180402010020110809D -:1001500010204040040404040403040502020202C7 -:100160000403020202020606060606060404020250 -:100170000204000000002300260029002C002F00AC -:1001800000000000250028002B002E003100000098 -:100190000000240027002A002D003000080B000278 -:1001A000020201000904000001020200000524000F -:1001B00010010524010101042402060524060001A2 -:1001C0000705810310004009040100020A00000035 -:1001D000070502024000000705830240000000C13D -:1001E0008081C112010002020000404123368000DC -:1001F000010102000112010002000000404123360B -:100200008000010102000141726475696E6F204C2B -:100210004C430041726475696E6F204C656F6E616E -:1002200072646F0004030904000000000000000075 -:100230002A2B280000000000000000000000000041 -:1002400000000000000000002C9EB4A0A1A2A43475 -:10025000A6A7A5AE362D3738271E1F20212223241E -:100260002526B333B62EB7B89F8485868788898ABA -:100270008B8C8D8E8F909192939495969798999A56 -:100280009B9C9D2F3130A3AD350405060708090A54 -:100290000B0C0D0E0F101112131415161718191A36 -:1002A0001B1C1DAFB1B0B500090402000103000022 -:1002B00000092101010001226500070584034000B7 -:1002C0000105010902A1010901A100850105091922 -:1002D000012903150025019503750181029501751A -:1002E00005810305010930093109381581257F751C -:1002F0000895038106C0C005010906A10185020514 -:100300000719E029E7150025017501950881029577 -:1003100001750881039506750815002565050719FF -:100320000029658100C0CC061F0DDF12E3125016B4 -:10033000B316AA1C11241FBECFEFDAE0DEBFCDBF7B -:1003400011E0A0E0B1E0E2E2FDE302C005900D9211 -:10035000A43FB107D9F724E0A4EFB1E001C01D929A -:10036000A83BB207E1F713E0C4E3D3E004C022974F -:10037000FE010E94161DC632D107C9F70E94C3169E -:100380000C948F1E0C9400001F93CF93DF93162FB5 -:10039000843008F06CC0982F990F990F990F985FCF -:1003A0009F3108F09EE1D82FDD0FDD0FDD0F8D2F7F -:1003B000C0E041E08917C8F4E82FF0E0DF01A05366 -:1003C000BD4F2C91223070F4C42BEE0FFF1FE0576D -:1003D000FD4F21E030E0542F512311F420E030E0B4 -:1003E00031832083440F8F5FE5CFC0FF05C0612FAD -:1003F00061708D2F0E942E15C1FF06C0612F6270A3 -:1004000081E08D0F0E942E15C2FF06C0612F64701F -:1004100082E08D0F0E942E15C3FF06C0612F687009 -:1004200083E08D0F0E942E15C4FF06C0612F6071FE -:1004300084E08D0F0E942E15C5FF06C0612F6072EB -:1004400085E08D0F0E942E15C6FF06C0612F6074D7 -:1004500086E08D0F0E942E15C7FF09C0612F6078BE -:1004600087E08D0FDF91CF911F910C942E15DF91B6 -:10047000CF911F9108950F931F93CF93DF93EB01BB -:100480008E3178F5082F10E0F801E053FD4F908190 -:10049000933089F0943029F5F801ED5FFD4F20810C -:1004A00030E0C901880F991F820F931F8F5D9D4F08 -:1004B0000E94DA0B0FC0833051F09BEF980F9230FF -:1004C00030F097EF980F933010F08D3019F4BE0193 -:1004D0000E942114F801EE0FFF1FE057FD4FD1835A -:1004E000C083DF91CF911F910F910895CF93C82FB3 -:1004F0008C3058F54091F6025091F70221E030E03F -:10050000082E02C0220F331F0A94E2F7672B49F42A -:1005100020953095242335233093F7022093F6025B -:1005200014C0242B352B3093F7022093F6028091D0 -:10053000F40181110AC08C2F0E94F013AC016C2FC2 -:100540008EED93E0CF910C94A910CF910895DB012B -:100550009A019091F5019C30D0F54091F601682FF9 -:1005600070E0442369F0E42FF0E0EA50FE4F808110 -:10057000FB01ED5FFD4F808341504093F60107C0C2 -:10058000FB01ED5FFD4F90839F5F9093F501FB01B1 -:10059000ED5FFD4F1A161B067CF41216130664F469 -:1005A000408150E0CA01880F991F840F951FAD014B -:1005B0008F5D9D4F0C94150B208130E0C901880F91 -:1005C000991F820F931F8F5D9D4F0C94930B68E1D1 -:1005D00071E08EED93E00C943811CF93DF93C82F28 -:1005E000D0E0CD5FDD4F288130E0C901880F991F31 -:1005F000820F931F8F5D9D4F0E94990B8881909170 -:10060000F501891306C0882379F081508093F501A4 -:100610000BC0992349F0E091F601EF5FE093F601FA -:10062000F0E0EA50FE4F80838FEF8883DF91CF9117 -:1006300008951F93CF93DF93162FC82FD0E0FE01AC -:10064000E453FD4F90811923C251DD4F411103C086 -:100650009881911741F0412F50E0682F8EED93E083 -:100660000E94C2101883DF91CF911F910895EF92DD -:10067000FF920F931F93CF93DF93E82E83E08E15A5 -:1006800008F475C02E2D30E0F901EE50FD4F608367 -:10069000672B09F46CC0F901E453FD4FF0800E2D77 -:1006A000000F000F000FF0FE52C0802F0E94641553 -:1006B000892B09F44CC011E0C02FD0E0F1FE07C037 -:1006C00081E0800F0E946415892B09F042C0F2FE80 -:1006D00006C082E0800F0E946415892BE1F5F3FECD -:1006E00006C083E0800F0E946415892BB1F5F4FEEB -:1006F00006C084E0800F0E946415892B81F5F5FE09 -:1007000006C085E0800F0E946415892B51F5C83121 -:10071000D10541F0F6FE06C086E0800F0E94641508 -:10072000892B09F5679744F4F7FE06C087E0800F30 -:100730000E946415892BC9F441E0612F8E2DDF9151 -:10074000CF911F910F91FF90EF900C94190310E03F -:10075000B3CF1260BCCF1460C2CF1860C8CF106195 -:10076000CECF1062D4CF1064DDCF1068E5CFDF911B -:10077000CF911F910F91FF90EF900895CF93DF934A -:100780008091F202882309F448C0D091CC02D0FFB6 -:100790001DC180E00E946415892B09F417C1C1E0D6 -:1007A000D1FF06C081E00E946415892B09F010C1B9 -:1007B000D2FF06C082E00E946415892B09F00AC1AD -:1007C000D3FF06C083E00E946415892B09F004C1A1 -:1007D000D4FF06C084E00E946415892B09F0FEC096 -:1007E000D5FF06C085E00E946415892B09F0F8C08A -:1007F000D6FF06C086E00E946415892B09F0F2C07E -:10080000D7FF06C087E00E946415892B09F0ECC071 -:1008100040E06C2F80E00E9419038091F30288234E -:1008200009F448C0D091CD02D0FFE0C088E00E941A -:100830006415892B09F4DAC0C1E0D1FF06C089E054 -:100840000E946415892B09F0D3C0D2FF06C08AE04C -:100850000E946415892B09F0CDC0D3FF06C08BE040 -:100860000E946415892B09F0C7C0D4FF06C08CE034 -:100870000E946415892B09F0C1C0D5FF06C08DE028 -:100880000E946415892B09F0BBC0D6FF06C08EE01C -:100890000E946415892B09F0B5C0D7FF06C08FE010 -:1008A0000E946415892B09F0AFC040E06C2F81E0F5 -:1008B0000E9419038091F402882309F448C0D09162 -:1008C000CE02D0FFA3C080E10E946415892B09F4F9 -:1008D0009DC0C1E0D1FF06C081E10E946415892B53 -:1008E00009F096C0D2FF06C082E10E946415892BF0 -:1008F00009F090C0D3FF06C083E10E946415892BE4 -:1009000009F08AC0D4FF06C084E10E946415892BD7 -:1009100009F084C0D5FF06C085E10E946415892BCB -:1009200009F07EC0D6FF06C086E10E946415892BBF -:1009300009F078C0D7FF06C087E10E946415892BB3 -:1009400009F072C040E06C2F82E00E941903809190 -:10095000F502882309F476C0D091CF02D0FF66C09B -:1009600088E10E946415892B09F460C0C1E0D1FFC1 -:1009700006C089E10E946415892B09F059C0D2FF95 -:1009800006C08AE10E946415892B09F053C0D3FF89 -:1009900006C08BE10E946415892B09F04DC0D4FF7D -:1009A00006C08CE10E946415892B09F047C0D5FF71 -:1009B00006C08DE10E946415892B09F041C040E01A -:1009C0006C2F83E0DF91CF910C941903C0E0E8CE47 -:1009D000C260EECEC460F4CEC860FACEC06100CF73 -:1009E000C06206CFC0640CCFC06812CFC0E025CF74 -:1009F000C2602BCFC46031CFC86037CFC0613DCF5C -:100A0000C06243CFC06449CFC0684FCFC0E062CF5F -:100A1000C26068CFC4606ECFC86074CFC0617ACF47 -:100A2000C06280CFC06486CFC0688CCFC0E09FCF4B -:100A3000C260A5CFC460ABCFC860B1CFC061B7CF33 -:100A4000C062BDCFDF91CF910895109247028FEF22 -:100A500080930A010895CF92DF92EF92FF920F9355 -:100A60001F93CF93DF93182FEB01E82EF12CC701D2 -:100A700080539D4F6C01FC0180818F3709F4EEC0DB -:100A8000863051F480914702882331F06630710539 -:100A900009F4E0C00E9425051E31A8F4C430D10538 -:100AA00091F0F701ED5FFD4F20812C3060F430E0D4 -:100AB000C901880F991F820F931F8F5D9D4F0E9460 -:100AC0003F0C8111B4C00EEE010F0C3058F461E000 -:100AD00070E0C230D10511F060E070E0802F0E941C -:100AE000760202C01E31D0F4E12FE695E695E69538 -:100AF000812F8770F0E0E453FD4F21E030E0082EB5 -:100B000001C0220F0A94EAF7209721F48081822BFA -:100B1000808304C02095808128232083F701EE0F75 -:100B2000FF1FE057FD4F11821082C230D10579F0CE -:100B30002CF42097C9F0219729F16BC0C430D1055E -:100B400009F445C064F1269709F45BC062C00C301B -:100B500008F084C060E0812F0E94F51460E0812FCE -:100B60000E942E1582E052C01E3108F077C060E06E -:100B7000812F0E94F51460E0812F0E942E15F6014E -:100B800010826CC01E3108F069C060E0812F0E94A5 -:100B90002E1561E0812F0E94F51481E037C01330DB -:100BA00059F08BEF810F823038F087EF810F83305F -:100BB00018F01D3009F052C061E0812F0E94F51439 -:100BC00060E070E0812F0E94211483E01FC01E317D -:100BD00008F044C084E0F6018083F701ED5FFD4F2B -:100BE00080818F3F41F190E09C01220F331F280F3D -:100BF000391FC9018F5D9D4F0E943F0C81112EC08E -:100C00001AC08EEF810F823048F586E0F6018083AE -:100C100025C06CE271E08EED93E0DF91CF911F91E2 -:100C20000F91FF90EF90DF90CF900C943811812FAF -:100C30000E94ED0248CF4FEF5FEF6FEF7FEF812F04 -:100C4000DF91CF911F910F91FF90EF90DF90CF90A8 -:100C50000C94A7021E3108F424CF35CFDF91CF9139 -:100C60001F910F91FF90EF90DF90CF900895CF9359 -:100C7000C0E08EEF8C0F823028F466E070E08C2F9D -:100C80000E942B05CF5FCE31A1F781E08093470210 -:100C90008EE193E0CF910C94E50C0F931F93CF93CB -:100CA000DF9381E08093F4018091470281110E94DB -:100CB0002505E2EFF2E0CCECD2E0AEEEB2E011922C -:100CC00019921D9282E0E63FF807C9F7C3E0D2E02F -:100CD00010E00FEF8EEE810F8C3018F462E070E0C0 -:100CE00002C061E070E0812F0E942B0509931F5F15 -:100CF0001E3181F71092F7021092F6021092F6015F -:100D00001092F5011092F401DF91CF911F910F9194 -:100D1000089524E042E06DE371E08EED93E00E94DF -:100D2000D00F4BE352E060EE8EED93E00E9446114F -:100D300044EC51E060E98EED93E00E94461146E7F5 -:100D400052E060EC8EED93E00E94461147E353E0E1 -:100D500060ED8EED93E00E9446114BE255E064EFAA -:100D60008EED93E00E94461143E557E060EF8EED73 -:100D700093E00E9471114DE456E06FEF8EED93E029 -:100D80000E94691140E051EE60E070E08EED93E06A -:100D90000E94C9120C944D06CF93DF93C1E2D2E0BA -:100DA000CE010E94F90A239682E0C534D807C1F724 -:100DB000DF91CF910895682F8EE193E00C94A60CFB -:100DC0008EE193E00E94560C0895DF92EF92FF921D -:100DD0000F931F93CF93DF93F82EEB01D42E6F3F29 -:100DE0008FEF7807A9F06F2D8EE193E00E94FF0C42 -:100DF0008C2F0E94DB068EE193E00E941C0D8091F7 -:100E0000450290914602009729F00E948F1302C07C -:100E1000C0E0D0E04D2D6F2D8EE193E00E94FC0CE0 -:100E20000D2D10E08EE193E00E944E0C081719077B -:100E30001CF461E571E009C08EE193E00E944E0C64 -:100E40008017910734F46EE671E08EED93E00E9416 -:100E50003811F0924802C09349028AE4E82E82E0F9 -:100E6000F82EC0E0D0E0C017D10784F042E04D0D6D -:100E700028E432E067E78EED93E0DF91CF911F9198 -:100E80000F91FF90EF90DF900C94F0108EE193E0C3 -:100E90000E944E0C892B51F30E94E006F7018193CA -:100EA0007F012196E0CFEF92FF920F931F93CF9394 -:100EB000DF93162FEA0190E0FC01E956F109E231D7 -:100EC000F10508F03CC2EA5AFF4F0C94141D8981C9 -:100ED000982F987185FF03C06AE871E056C0888139 -:100EE000983071F148F491112AC2682F8EE193E095 -:100EF0000E94FF0C02E007C0903109F440C0983115 -:100F000009F471C01CC2011768F4FE01E00FF11D65 -:100F10009181808120E8929F801911240E94DB0634 -:100F20000E5FF1CF8EE193E00E941C0D86E490E00D -:100F3000DF91CF911F910F91FF90EF900C948F1341 -:100F40004A816B81163069F430E8639FB001112447 -:100F5000640F711D9D814C8150E8959F40191124AB -:100F600006C090E8699F401911246FEF7FEFDF9171 -:100F7000CF911F910F91FF90EF900C94E506E091B7 -:100F80000A01E73064F06AEA71E08EED93E0DF91E8 -:100F9000CF911F910F91FF90EF900C9438119A818F -:100FA0002B81F0E8663061F42F9F90011124290F06 -:100FB000311D4D819C8150E8459F9019112405C039 -:100FC0002F9F901911242FEF3FEFEF5FE0930A015D -:100FD00044E0E402F0011124E859FD4F808332839C -:100FE00021839383ACC150910A01151634F440E07B -:100FF000252F332727FD30950EC08FEF80930A01F0 -:101000009EC1EE0FFF1FEE0FFF1FE859FD4F9081AD -:10101000981719F14F5FE42FF0E02E173F078CF778 -:1010200040E01BC04830C0F4DF01AA0FBB1FAA0F6D -:10103000BB1FA459BD4F8C91EE0FFF1FEE0FFF1F7A -:10104000E859FD4F808311968D919C911297928360 -:10105000818313968C9183834F5FE42FF0E02E17EA -:101060003F0704F7515050930A0169C128818981D3 -:1010700050E8859FC0011124820F911D009721F037 -:10108000909346028093450280914702811157C197 -:10109000DF91CF911F910F91FF90EF900C94370645 -:1010A000653008F44CC118810981FA80EB80CC814D -:1010B0001E3108F044C1E12FF0E0ED5FFD4FE0810B -:1010C000EC3060F4F0E0CF01880F991F8E0F9F1F66 -:1010D0008F5D9D4F0E943F0C81112DC180E8C89FFC -:1010E000A00111244E0D511D90E8F99EB00111246C -:1010F000600F711D812F0E94A70264E070E0812FB4 -:10110000DF91CF911F910F91FF90EF900C942B05E1 -:10111000623008F414C128818981E0E88E9FC00103 -:101120001124820F911D90930C0180930B010A975B -:1011300008F005C18AE090E090930C0180930B01C8 -:10114000FEC0623008F4FBC0698170E0123091F09B -:101150008A81F0E88F9FC0011124682B792B13300E -:1011600049F08B8190E090E4899F902D882711248D -:10117000682B792B8881DF91CF911F910F91FF9080 -:10118000EF900C943B0260EF8EED93E00E943C11D7 -:101190006CE68EED93E00E943C11C0E060E08EEDC5 -:1011A00093E00E943C1161E08EED93E00E943C11BF -:1011B00061E08EED93E00E943C1161E08EED93E0E2 -:1011C0000E943C118EEE8C0F8C3058F462E08EED54 -:1011D00093E00E943C116AE08EED93E00E943C1186 -:1011E0000DC0C33059F463E08EED93E00E943C11D2 -:1011F00068E08EED93E00E943C110AC08BEF8C0FEB -:10120000823088F387EF8C0F833068F3CD3059F349 -:1012100064E08EED93E00E943C116EE08EED93E071 -:101220000E943C118EEF8C0F823050F466E08EED00 -:1012300093E00E943C1161E08EED93E00E943C112E -:101240006FE78EED93E00E943C11CF5FCE3109F045 -:10125000A5CF67EF8EED93E0DF91CF911F910F91B6 -:10126000FF90EF900C943C11662309F468C0C8818C -:1012700060EF8EED93E00E943C116EE68EED93E000 -:101280000E943C116C2F8EED93E00E943C11CE31F8 -:1012900000F7D0E0FE01E053FD4F60818EED93E05A -:1012A0000E943C11CC0FDD1F8E0100571D4FF8012D -:1012B00060816F778EED93E00E943C11F8016081B0 -:1012C0007181CB018078892B49F0660F672F661FEB -:1012D000770B6F778EED93E00E943C11C057DD4F86 -:1012E00068817981CB018827907C892B09F4B1CF63 -:1012F000770F660B770F762F661F6F778EED93E073 -:101300000E943C11A6CF60EF8EED93E00E943C114D -:101310006AE68EED93E00E943C11CEEECC3010F0E8 -:101320006FE701C06C2F8EED93E00E943C11CF5F00 -:10133000CC30A1F78ECF812F0E94ED02CFCEDF916E -:10134000CF911F910F91FF90EF9008958F929F92F0 -:10135000AF92BF92CF92DF92EF92FF920F931F93C3 -:10136000CF93DF930E94BE038EED93E00E94301076 -:10137000892B29F08EED93E00E949C11F5CF0E94FD -:10138000381360938C0270938D0280938E02909339 -:101390008F02C0908802D0908902E0908A02F0907B -:1013A0008B0240910B0150910C014A01A12CB12CF0 -:1013B0008B019C010C191D092E093F09801691060D -:1013C000A206B30608F04CC0D501C4018C0D9D1DCA -:1013D000AE1DBF1D8093880290938902A0938A025C -:1013E000B0938B02C0EDD2E01EEE1C30C0F48881B9 -:1013F0008230A9F42091F6023091F702012E02C04A -:10140000359527950A94E2F720FF09C0812F0E94A5 -:10141000F013AC01612F8EED93E00E94A9101F5FC5 -:1014200021961C3011F780910A0187FD19C0C0E098 -:10143000EC2FF0E080910A01992787FD90958E1797 -:101440009F0774F0EE0FFF1FEE0FFF1FE859FD4FCF -:1014500061817281438180810E94E506CF5FE8CF80 -:10146000DF91CF911F910F91FF90EF90DF90CF9080 -:10147000BF90AF909F908F9008951F920F920FB6DC -:101480000F9211242F933F934F935F936F937F930A -:101490008F939F93AF93BF93EF93FF938091F90244 -:1014A00087FF05C010928500109284001AC0209119 -:1014B000F902332727FD30958091F80290E0281734 -:1014C00039077CF48091F902992787FD9095FC01FA -:1014D000EE0FFF1FE80FF91FE650FD4F808186FDDC -:1014E00015C08091F9028F5F8093F9022091F90273 -:1014F000332727FD30958091F80290E028173907AF -:10150000BCF48091F9028C305CF112C08091F90238 -:10151000992787FD9095FC01EE0FFF1FE80FF91F3B -:10152000E650FD4F808160E08F730E942E15D9CF69 -:101530008091840090918500049680349C4918F431 -:1015400080E49CE905C08091840090918500049618 -:1015500090938900809388008FEF8093F90238C0C0 -:1015600020918400309185008091F902992787FDB0 -:101570009095FC01EE0FFF1FE80FF91FE650FD4F9D -:1015800081819281820F931F9093890080938800BC -:101590008091F902992787FD9095FC01EE0FFF1FBE -:1015A000E80FF91FE650FD4F808186FF11C0809142 -:1015B000F902992787FD9095FC01EE0FFF1FE80FB8 -:1015C000F91FE650FD4F808161E08F730E942E1558 -:1015D000FF91EF91BF91AF919F918F917F916F910B -:1015E0005F914F913F912F910F900FBE0F901F90E1 -:1015F00018952091F8022C30A0F431E0320F30938E -:10160000F802FC012083822F90E0FC01EE0FFF1F07 -:10161000E80FF91FE650FD4F88EB9BE09283818332 -:1016200008952FEFFC0120830895DF92EF92FF923F -:101630000F931F93CF93DF93EC01D62E7A0189018C -:1016400088818C3008F066C061E08D2D0E94F51411 -:101650008881A82FB0E0FD01EE0FFF1FEA0FFB1FEE -:10166000E650FD4F2D2D2F739081907C922B90830F -:1016700060E272E06E197F0977FF02C06D5F7F4FF5 -:101680007595679575956795698340E659E0401BA8 -:10169000510B57FF02C04D5F5F4F559547955595CC -:1016A00047954A836CE00E94C71C9CE0899FB0016B -:1016B000112420E030E0A901460F571FFA01EE0F78 -:1016C000FF1FE40FF51FE650FD4F908196FD16C0F9 -:1016D0002F5F3F4F2C30310571F781110FC01092F1 -:1016E000800082E080938100109285001092840037 -:1016F000B19A80916F00826080936F00888190E042 -:10170000FC01EE0FFF1FE80FF91FE650FD4F80812F -:10171000806480838881DF91CF911F910F91FF902A -:10172000EF90DF90089520E639E040E252E00C941B -:10173000150BFC01808190E0FC01EE0FFF1FE80F0C -:10174000F91FE650FD4F80818F7B80830895FC0157 -:1017500080818C3070F5918128E830E0291B3109B7 -:1017600097FD3395220F331F220F331F6217730724 -:101770007CF0928128E532E0291B310997FD3395F1 -:10178000220F331F220F331F621773070CF49B01C4 -:1017900022503109220F331F4FB7F89490E0FC011B -:1017A000EE0FFF1FE80FF91FE650FD4F3283218334 -:1017B0004FBF08954F925F926F927F92AF92BF9208 -:1017C000CF92DF92EF92FF920F931F93CF93DF930D -:1017D000EC01603282E078070CF040C077FD06C073 -:1017E000653B71052CF064EB70E002C060E070E0D6 -:1017F000898128E830E0281B310987FD3395220FC5 -:10180000331F220F331F5901CC24B7FCC094DC2CAA -:10181000882777FD8095982F2A8148E552E0421B62 -:10182000510927FD5395440F551F440F551F2A0199 -:10183000662457FC6094762C7F926F925F924F9251 -:1018400014EBE12EF12C00E010E020E030E0A901E3 -:101850000E942C1B0F900F900F900F90CE01DF91E4 -:10186000CF911F910F91FF90EF90DF90CF90BF909D -:10187000AF907F906F905F904F900C94A70BFC01FE -:10188000808190E0FC01EE0FFF1FE80FF91FE6508A -:10189000FD4F808186FB882780F9089580914E0353 -:1018A00090E020914F03821B9109089520914F03EE -:1018B00080914E03281750F4E22FF0E0E05BFC4FDC -:1018C000808190E02F5F20934F0308958FEF9FEF6B -:1018D0000895E0914F0380914E03E81730F4F0E053 -:1018E000E05BFC4F808190E008958FEF9FEF0895BB -:1018F0000895CF92DF92EF92FF920F931F93CF93B1 -:10190000DF937C01CB018A0120912A03222389F0F5 -:10191000EB016B01C40ED51ECC15DD0569F0699194 -:10192000D701ED91FC910190F081E02DC70109955F -:10193000F3CF642F0E94D80DC801DF91CF911F9182 -:101940000F91FF90EF90DF90CF900895CF93DF93AA -:101950001F92CDB7DEB7698320912A032223D1F0ED -:1019600020912B03203240F021E030E0FC01338352 -:10197000228380E090E015C080912C03E82FF0E0F6 -:10198000E35DFC4F998190838F5F80932C0380935C -:101990002B0305C061E0CE0101960E94D80D81E0C5 -:1019A00090E00F90DF91CF910895FC011382128295 -:1019B00048EE53E060E070E04483558366837783AC -:1019C0008FEB91E091838083089510924F031092E2 -:1019D0004E0310922C0310922B030C94230D862F90 -:1019E000413208F040E260E573E00E94410D109240 -:1019F0004F0380934E03089521E00C94EF0C81E097 -:101A000080932A0360934D0310922C0310922B03B2 -:101A100008950F93062F21E040912B036DE273E0B0 -:101A200080914D030E94850D10922C0310922B0380 -:101A300010922A030F91089561E00C94090D8EE134 -:101A400093E00C94D50C1092DD0381E08093DB03CE -:101A50001092DA0361E082E00E942E1561E083E0DB -:101A60000E942E15E9EBF0E080818E7F80838081DB -:101A70008D7F808388E48093B80085E48093BC00E8 -:101A80000895413208F03FC09091DD039111FCCFE1 -:101A900091E09093DD032093DB032FEF20937003FD -:101AA0001092B503240F2093B4039093DC0390911C -:101AB000DC03880F892B8093DC038091DA0381306B -:101AC00041F41092DA038091DC038093BB0085EC33 -:101AD00001C085EE8093BC008091DD038130E1F38D -:101AE0008091B503841710F44091B50326EB33E0E1 -:101AF000FB01D9018A2F821B841718F48D918193E1 -:101B0000F9CF842F089580E008950F93413208F0B3 -:101B100046C09091DD039111FCCF92E09093DD03DC -:101B20000093DB039FEF909370031092B5034093F3 -:101B3000B403FB0166EB73E0DB019A2F961B94174D -:101B400018F491919D93F9CF1092DC039091DC03EE -:101B5000880F892B8093DC038091DA03813041F474 -:101B60001092DA038091DC038093BB0085EC01C006 -:101B700085EE8093BC00222321F08091DD0382302A -:101B8000E1F3809170038F3F61F0809170038032A8 -:101B900051F080917003803341F483E007C081E00D -:101BA00005C080E003C082E001C084E00F91089589 -:101BB000613298F42091DD03243089F4609392031C -:101BC000FC0184E993E0DC012A2F281B261718F476 -:101BD00021912D93F9CF80E0089581E0089582E06E -:101BE000089585ED8093BC008091BC0084FDFCCFFE -:101BF0001092DD03089585EC8093BC001092DD0304 -:101C000008951F920F920FB60F9211242F933F93B6 -:101C10004F935F936F937F938F939F93AF93BF93F4 -:101C2000EF93FF938091B900887F803609F49CC0C0 -:101C300068F5883209F45BC090F4803109F454C02F -:101C400038F4882309F4F5C0883009F44DC0F5C094 -:101C5000883109F44CC0803209F45DC0EEC0803494 -:101C600009F468C048F4803309F455C0883309F09A -:101C7000E4C080937003A8C0803509F44FC0883554 -:101C800009F45DC0883409F0D8C0D5C0883909F49A -:101C9000C6C0A8F4883709F467C038F4883609F458 -:101CA00063C0803709F460C0C8C0883809F4B7C081 -:101CB000803909F45FC0803809F0BFC05BC0803B49 -:101CC00009F485C038F4803A09F466C0883A09F40A -:101CD0007EC0B3C0803C09F4A6C0883C09F4A3C010 -:101CE000883B09F489C0A9C08091DC0310C09091A1 -:101CF000B5038091B403981770F5E091B50381E0C6 -:101D00008E0F8093B503F0E0EA54FC4F80818093FE -:101D1000BB0085EC85C0809370038DC0E091B50356 -:101D200081E08E0F8093B5038091BB00F0E0EA5410 -:101D3000FC4F80839091B5038091B4036DC0E09116 -:101D4000B50381E08E0F8093B5038091BB00F0E076 -:101D5000EA54FC4F80838091DB0381116CC081E0E9 -:101D60008093DA0384EA60C083E08093DD031092FD -:101D70007103CFCF80917103803208F050C0E091A1 -:101D8000710381E08E0F809371038091BB00F0E0BE -:101D9000EE58FC4F8083BDCF80917103803230F4C8 -:101DA000E0917103F0E0EE58FC4F10820E94F10DBB -:101DB0006091710370E0E091D603F091D70382E760 -:101DC00093E00995109271030E94FB0D36C084E0E8 -:101DD0008093DD031092930310929203E091D80355 -:101DE000F091D903099580919203811105C081E09A -:101DF0008093920310929403E091930381E08E0FFD -:101E000080939303F0E0EC56FC4F80818093BB00FD -:101E10009091930380919203981708F47ACF85E804 -:101E20008093BC000AC085EC8093BC001092DD0357 -:101E300004C0109270030E94F10DFF91EF91BF91C9 -:101E4000AF919F918F917F916F915F914F913F9152 -:101E50002F910F900FBE0F901F9018950F931F9307 -:101E6000CF93DF93EC018B0188819981DC01ED91A7 -:101E7000FC916F770190F081E02D0995888199811F -:101E8000DC01ED91FC91B801660F672F661F770B9F -:101E90006F770190F081E02DDF91CF911F910F912D -:101EA0000994DC018D919C91DC01ED91FC910190F4 -:101EB000F081E02D60EF0994DC018D919C91DC01B3 -:101EC000ED91FC910190F081E02D67EF0994CF93A3 -:101ED000DF93EC0188819981DC01ED91FC91019007 -:101EE000F081E02D69EF099588819981DC01ED9100 -:101EF000FC910190F081E02D62E009958881998143 -:101F0000DC01ED91FC910190F081E02D64E0DF9126 -:101F1000CF9109941F93CF93DF93EC018A8188239B -:101F2000D9F1CE010E94510F88819981DC01ED9198 -:101F3000FC910190F081E02D69E7099588819981F4 -:101F4000DC01ED91FC91AB81BC810190F081E02D31 -:101F50006C91099588819981DC01ED91FC91AB81AF -:101F6000BC810190F081E02D11966C91099512E0F1 -:101F70008A81181758F4EB81FC81E10FF11D608113 -:101F800070E0CE010E942E0F1F5FF2CFCE01DF91D5 -:101F9000CF911F910C945C0FDF91CF911F91089509 -:101FA000CF92DF92EF92FF920F931F93CF93DF9325 -:101FB0008C01EB01C42ED22E6BEC71E0CE010E949D -:101FC000751E7C016FE270E0CE010E946A1E0097D0 -:101FD00039F46CE570E0CE010E946A1E009711F0A2 -:101FE000EC012196E114F10451F4FE01019000206E -:101FF000E9F7EC1BEF5FD8011296EC9306C0EC1AE0 -:10200000FD0AE394E394F801E282D80113968D91DE -:102010009C9114970E94CC1DF801E280F12CC7011D -:1020200001960E94341DD80114969C938E931397A9 -:10203000FC01EE0DFF1D1082FC01C082D1821296C0 -:102040004C9150E042505109BE010296DF91CF9170 -:102050001F910F91FF90EF90DF90CF900C945B1E3B -:10206000DC018D919C91DC01ED91FC910480F58166 -:10207000E02D09940F931F93CF93DF93FC012085EC -:10208000213749F0293709F049C0DF91CF911F91DD -:102090000F910C948A0FFC01E95AFF4F0190F081D7 -:1020A000E02D309709F450C0DC01A75BBF4F4D9184 -:1020B0005C919A012150310937FD9A01B90175955A -:1020C0006795062F40E050E020E030E04E5F5F4F24 -:1020D0002017A0F4EC01C40FD51F1F81DC01A20F53 -:1020E000B31F18961C931897C885D0E8CD9F101978 -:1020F000112418961C932F5F3F4FE8CFDC01A60FE9 -:10210000B11D17962C911797222311F018961C9247 -:102110000896DF91CF911F910F910994FC01E75A26 -:10212000FF4F0190F081E02D309771F0AC01475FD7 -:102130005F4FDC01A75BBF4F6C916150822FDF9135 -:10214000CF911F910F910994DF91CF911F910F9122 -:1021500008950F931F93CF93DF93EC018A01888139 -:102160009981DC01ED91FC916F70606E0190F081BE -:10217000E02D0995B801CE01DF91CF911F910F910C -:102180000C942E0F0F931F93CF93DF93EC018A01D2 -:1021900088819981DC01ED91FC916F7060690190FB -:1021A000F081E02D099588819981DC01ED91FC9108 -:1021B000602F6F770190F081E02D099588819981DA -:1021C000DC01ED91FC91B801660F672F661F770B5C -:1021D0000190F081E02DDF91CF911F910F91099433 -:1021E000CF92DF92EF92FF920F931F93CF93DF93E3 -:1021F00000D01F92CDB7DEB78C01F42E2A833B832B -:1022000069830E94510FD8018D919C91DC01ED9161 -:10221000FC910190F081E02D698109952A81E22EDF -:10222000C22E3B81D32E8C2D8E198F1540F4F601D2 -:1022300061916F0170E0C8010E942E0FF4CFC801B8 -:102240000F900F900F90DF91CF911F910F91FF9002 -:10225000EF90DF90CF900C945C0F9A01FA010190FF -:102260000020E9F73197E41BF50B4E2F0C94F0108A -:10227000AB0161E70C942D11DC018D919C91DC0187 -:10228000ED91FC910190F081E02D0994603DB9F051 -:1022900028F4603961F0603C71F00895603E19F0F7 -:1022A000643F89F00895FC01E55BFF4F0FC0FC011E -:1022B000E35BFF4F0BC0FC01E15BFF4F07C0FC017C -:1022C000EF5AFF4F03C0FC01ED5AFF4F518340838B -:1022D00008956F3F29F4FC01EB5AFF4F518340836F -:1022E0000895875A9F4FFC01518340830895FC0154 -:1022F00015821682178280E090E0DF01A80FB91FD7 -:1023000018961C92019680349105B9F7DF01A85BFD -:10231000BF4F1C9211961D921C92EB5AFF4F0190D9 -:10232000F081E02D309709F009940895FC011282A4 -:10233000148213820C947711CF93DF93EC01888180 -:102340009981DC01ED91FC910680F781E02D0995E2 -:10235000FE01E85BFF4F20812223B1F0873F91050A -:1023600031F41082CE01DF91CF910C943A10FE012E -:10237000E75BFF4F20813181C20FD31F88872F5F1A -:102380003F4F318320839DC02D81222309F45EC0FD -:10239000803891050CF05AC09FEF920F9D83FE018B -:1023A000E90FF11D808791118CC08E81882309F47B -:1023B00088C0803DE9F148F48039E9F0803C09F0BB -:1023C00043C0FE01E15BFF4F36C0803E19F0843F01 -:1023D00019F13AC0FE01E55BFF4F0190F081E02D5D -:1023E000309791F18885698570E0B0E88B9F600D2A -:1023F000711D112427C0FE01E35BFF4F0190F081A6 -:10240000E02D309709F18885698570E090E8899F13 -:10241000600D711D112416C0FE01ED5AFF4F019091 -:10242000F081E02D309781F0688570E089850BC0E0 -:10243000FE01EF5AFF4F0190F081E02D309721F01F -:10244000688570E08F8109951E823BC0803F9105B1 -:102450002CF4282F2F702F83807F9927803E9105A1 -:1024600021F154F4803C910511F1803D9105F9F082 -:102470008039910531F519C0843F9105B1F054F4CC -:10248000803F9105F1F481E08083C75BDF4F1982C3 -:10249000188217C0893F910571F08F3F910589F42B -:1024A000CE01DF91CF910C94771192E001C091E0C1 -:1024B0009D838E8306C08EED93E0DF91CF910C94C7 -:1024C000670FDF91CF9108958F929F92AF92BF9245 -:1024D000CF92DF92EF92FF921F93CF93DF93EB01A6 -:1024E0004A01690161E08DE00E94F51410E0EE24DC -:1024F000D7FCE094FE2CAA2497FCA094BA2C812F40 -:1025000090E08C179D0794F4C701B6010E946713F1 -:1025100061E08DE00E942E15C501B4010E94671391 -:1025200060E08DE00E942E151F5FE9CFDF91CF9113 -:102530001F91FF90EF90DF90CF90BF90AF909F9052 -:102540008F900895CF93DF93EC0161E08DE00E94BE -:10255000F51422ED30E048E250E062E070E0CE0198 -:102560000E9464126AEF70E080E090E00E946713BE -:1025700022ED30E048E250E064E070E0CE010E94DD -:1025800064126DE770E080E090E0DF91CF910C94F1 -:102590006713CF93DF93EC0188E494E00E944A161E -:1025A00088E494E099838883CE010E94A212CE0130 -:1025B0000E94670FCE01DF91CF910C948A0F8EEDB0 -:1025C00093E00C9496110F9300E020E040E060E06F -:1025D00089E394E00E94A7160F9108951F920F922D -:1025E0000FB60F9211242F933F938F939F93AF9326 -:1025F000BF938091400490914104A0914204B09116 -:10260000430430913F0423E0230F2D3720F401963B -:10261000A11DB11D05C026E8230F0296A11DB11D05 -:1026200020933F048093400490934104A09342047C -:10263000B09343048091440490914504A0914604D2 -:10264000B09147040196A11DB11D8093440490935D -:102650004504A0934604B0934704BF91AF919F9166 -:102660008F913F912F910F900FBE0F901F90189553 -:102670002FB7F89460914004709141048091420416 -:10268000909143042FBF08953FB7F894809144047C -:1026900090914504A0914604B091470426B5A89BAB -:1026A00005C02F3F19F00196A11DB11D3FBF662740 -:1026B000782F892F9A2F620F711D811D911D42E085 -:1026C000660F771F881F991F4A95D1F70895CF92FB -:1026D000DF92EF92FF92CF93DF936B017C010E9418 -:1026E0004413EB01C114D104E104F10489F00E9408 -:1026F000731B0E9444136C1B7D0B683E734090F368 -:1027000081E0C81AD108E108F108C851DC4FEACFCE -:10271000DF91CF91FF90EF90DF90CF9008958230BE -:10272000910538F0880F991F880F991F0597019719 -:10273000F1F70895789484B5826084BD84B5816092 -:1027400084BD85B5826085BD85B5816085BDEEE6B9 -:10275000F0E0808181608083E1E8F0E01082808198 -:1027600082608083808181608083E0E8F0E0808106 -:1027700081608083E1E9F0E08081826080838081F4 -:1027800081608083E0E9F0E0808181608083E1EC1A -:10279000F0E080818460808380818260808380819A -:1027A00081608083E3ECF0E0808181608083E0ECF5 -:1027B000F0E0808182608083E2ECF0E080818160E3 -:1027C0008083EAE7F0E0808184608083808182609A -:1027D0008083808181608083808180688083089588 -:1027E000823108F08251E82FF0E0E45FFE4FE4917F -:1027F00080917B00E3FB222720F930E095E0220F57 -:10280000331F9A95E1F78F7D822B80937B00E770D1 -:1028100080910D0120E4829FC0011124E82BE093F8 -:102820007C0080917A00806480937A0080917A00A5 -:1028300086FDFCCF809178002091790090E0922B6A -:1028400008951F93CF93DF93182FEB0161E00E944F -:10285000F514209711F460E004C0CF3FD10539F49E -:1028600061E0812FDF91CF911F910C942E15E12F04 -:10287000F0E0E85EFE4F449150E0FA013197EF300E -:10288000F10508F06CC0E859FF4F0C94141D84B595 -:10289000806884BDC7BD68C084B5806284BDC8BD82 -:1028A00063C080918000806880938000D09389000D -:1028B000C093880059C0809180008062809380001E -:1028C000D0938B00C0938A004FC0809180008860B5 -:1028D00080938000D0938D00C0938C0045C0809180 -:1028E0009000806880939000D0939900C0939800E6 -:1028F0003BC080919000806280939000D0939B00B9 -:10290000C0939A0031C080919000886080939000BD -:10291000D0939D00C0939C0027C08091C000806828 -:102920008093C0008091C0008F7B8093C000C093D3 -:10293000CF001AC08091C00080628093C000C09315 -:10294000D00012C08091C20088608093C200809144 -:10295000C2008B7F8093C200C093D20005C0C038F4 -:10296000D1050CF07DCF77CFDF91CF911F910895E6 -:1029700090E0FC013197EF30F105B0F5E958FF4FD9 -:102980000C94141D809180008F7703C0809180008B -:102990008F7D80938000089580918000877FF9CF9C -:1029A00084B58F7702C084B58F7D84BD08958091F2 -:1029B00090008F7707C0809190008F7D03C0809139 -:1029C0009000877F8093900008958091C0008F775A -:1029D00003C08091C0008F7D8093C00008958091D6 -:1029E000C200877F8093C2000895CF93DF9390E069 -:1029F000FC01EA5CFE4F2491FC01EC5AFE4F8491ED -:102A0000882349F190E0880F991FFC01E257FE4F9F -:102A1000A591B49180589E4FFC01C591D4919FB768 -:102A2000611108C0F8948C91209582238C93888141 -:102A300082230AC0623051F4F8948C91322F309581 -:102A400083238C938881822B888304C0F8948C9193 -:102A5000822B8C939FBFDF91CF9108950F931F938B -:102A6000CF93DF931F92CDB7DEB7282F30E0F90167 -:102A7000E85EFE4F8491F901EA5CFE4F1491F90182 -:102A8000EC5AFE4F04910023C9F0882321F069839A -:102A90000E94B8146981E02FF0E0EE0FFF1FE058AC -:102AA000FE4FA591B4919FB7F8948C91611103C02A -:102AB0001095812301C0812B8C939FBF0F90DF91D4 -:102AC000CF911F910F910895CF93DF93282F30E07E -:102AD000F901E85EFE4F8491F901EA5CFE4FD49162 -:102AE000F901EC5AFE4FC491CC2391F081110E9460 -:102AF000B814EC2FF0E0EE0FFF1FEE58FE4FA5913B -:102B0000B4912C912D2381E090E021F480E002C06B -:102B100080E090E0DF91CF910895CF93DF931F92F3 -:102B2000CDB7DEB76983DC01ED91FC910280F381C2 -:102B3000E02D41E050E0BE016F5F7F4F09950F909F -:102B4000DF91CF910895CF93DF93EC018C859D8524 -:102B500097FF05C082E00E9459189D878C878C855D -:102B60009D85DF91CF91089583E00C94AE1AFC010E -:102B70008485958597FD06C082E00E94011890E04B -:102B80000196089582E00E94011890E00895FC01EA -:102B90008485958597FD05C02FEF3FEF3587248706 -:102BA000089582E00C945918CF93DF93EC01809143 -:102BB0001501882331F083E00E948A18181619063F -:102BC00034F081E090E09B838A8380E090E0DF91A5 -:102BD000CF910895FC0120812E5F208342E450E0D4 -:102BE0006CE971E080E80C942519FC0181819081E9 -:102BF000913A59F4813209F03CC047E050E06EE070 -:102C000071E080E00E94251943C0913291F5803235 -:102C100039F467E070E08EE091E00E94561906C03A -:102C2000823209F035C082818093150180910E01B6 -:102C300090910F01A0911001B0911101803B94403F -:102C4000A105B105C1F48091150180FD14C087E78D -:102C500097E790930108809300082BE088E190E0CB -:102C60000FB6F894A895809360000FBE2093600083 -:102C70000FC080E0089588E10FB6F894809360005B -:102C8000109260000FBEA8951092010810920008E3 -:102C900081E008952FEF3FEFFC01358724870895E9 -:102CA00010924B0410924A0488EE93E0A0E0B0E04A -:102CB00080934C0490934D04A0934E04B0934F0422 -:102CC00084ED91E090934904809348048FEF9FEF47 -:102CD00090935504809354040895AF92BF92CF927D -:102CE000DF92EF92FF920F931F93CF93DF936C01CC -:102CF0007B01C0E0D0E000E010E0F601EC0FFD1F2A -:102D00004AE050E06281C7010E9481175C016EE2D7 -:102D1000C7010E9414178A0D9B1D080F191F2196C9 -:102D2000C330D10551F74AE050E0F6016581C70193 -:102D30000E948117800F911FDF91CF911F910F91FA -:102D4000FF90EF90DF90CF90BF90AF9008950F93DA -:102D5000FC0184EE91E0918380836283438324832A -:102D600005830F91089584EE91E0909399048093E8 -:102D7000980410929A0410929B0410929C04109252 -:102D80009D04089508950E949A130E94C2168EE928 -:102D900094E00E940E1B0E948906C0E0D0E00E94D1 -:102DA000A6092097E1F30E940000F9CFCF92DF92AD -:102DB000EF92FF920F931F93CF93DF936C017A01F1 -:102DC000EB01E60EF71E00E010E0CE15DF0561F026 -:102DD0006991D601ED91FC910190F081E02DC60141 -:102DE0000995080F191FF1CFC801DF91CF911F91ED -:102DF0000F91FF90EF90DF90CF90089561157105CE -:102E000081F0DB010D900020E9F7AD01415051093F -:102E1000461B570BDC01ED91FC910280F381E02D04 -:102E2000099480E090E00895DC01ED91FC9101901F -:102E3000F081E02D09948F929F92AF92BF92CF9232 -:102E4000DF92EF92FF920F931F93CF93DF93CDB753 -:102E5000DEB7A1970FB6F894DEBF0FBECDBF7C01E1 -:102E6000C42EE52FCB01D22E19A221E02D1510F092 -:102E70002AE0D22E8E010F5D1F4F8D2C912CA12C9C -:102E8000B12C6C2D7E2FA50194010E94D31C8C2D9A -:102E9000D29E80191124015011098A3014F4805DEA -:102EA00001C0895CF8018083211531054105510578 -:102EB00021F0C22EE32FCA01E4CFB801C7010E945E -:102EC000FE16A1960FB6F894DEBF0FBECDBFDF9100 -:102ED000CF911F910F91FF90EF90DF90CF90BF9017 -:102EE000AF909F908F9008952115310541F4DC013A -:102EF000ED91FC910190F081E02D642F09940C94E8 -:102F00001B179A01462F50E060E070E00C94741794 -:102F10004091A2045091A3042091A0043091A104F7 -:102F200042175307B4F49091E8009570E1F3909143 -:102F3000E80092FD19C08093F1008091A204909165 -:102F4000A30401968F739927892B19F48EEF809330 -:102F5000E8008091A2049091A30401969093A304A9 -:102F60008093A20481E0089580E00895CF92DF92DB -:102F7000FF920F931F93CF93DF931F92CDB7DEB7CE -:102F8000082F162F862F880F8E5F99830E9488172F -:102F900083E00E948817F02EC02E9981D92E8C2DA7 -:102FA0008F19811778F4F60184910E948817082FF1 -:102FB00080E00E9488178023FFEFCF1ADF0A81117B -:102FC000EECF01C081E00F90DF91CF911F910F9163 -:102FD000FF90DF90CF900895615030F02091F10084 -:102FE000FC0120830196F8CF289884E68093A504FD -:102FF00008952FB7FC012083F89467706093E9006F -:103000000895CF93DF931F92CDB7DEB7682FCE011F -:1030100001960E94F9178091F20099819FBF0F904D -:10302000DF91CF910895FF920F931F93CF93DF937A -:1030300000D0CDB7DEB7F62E8A019091A404992373 -:1030400011F057FF03C08FEF9FEF2BC0682FCE0109 -:1030500001967A830E94F9178091F20090E0A8010E -:103060007A81801791070CF4AC01EF2DF72FF40E45 -:1030700084E6FE1639F028988093A5049091F1001B -:103080009193F7CF4115510521F08091F2008823EB -:1030900021F089818FBFCA0104C08BE68093E800CC -:1030A000F8CF0F900F90DF91CF911F910F91FF906C -:1030B0000895CF93DF931F92CDB7DEB741E050E084 -:1030C000BE016F5F7F4F0E941318019719F4898129 -:1030D00090E002C08FEF9FEF0F90DF91CF910895A6 -:1030E000CF93DF931F92CDB7DEB7682FCE01019645 -:1030F0000E94F9179091E800892F807295FF04C013 -:103100009091F20080E4891B99819FBF0F90DF911D -:10311000CF9108956F927F928F929F92AF92BF92BC -:10312000CF92DF92EF92FF920F931F93CF93DF9393 -:103130001F92CDB7DEB7782E7B01C42EB52E8091BD -:10314000A404882369F0042F152F8AEFD82E872D29 -:103150008072982E9AE3A92E872D8074882E11C034 -:103160008FEF9FEF57C0872D0E947018682E811136 -:103170000CC0DA94A9F361E070E080E090E00E9476 -:1031800067130115110579F73BC0282F30E00217AE -:1031900013070CF4602E672DCE0101960E94F917DB -:1031A0008091E80085FF29C0262D30E0021B130B1B -:1031B000992039F06A948FEF6816B1F01092F100FF -:1031C000F9CFF701862D77FE07C0815058F0949112 -:1031D0009093F1003196F9CF815020F09191909326 -:1031E000F100FACFE20EF31E8091E80085FF0FC0D8 -:1031F0000115110511F481100AC089818FBFC1CF5B -:103200005D9884E68093A6048C2D9B2D03C0A0922C -:10321000E800F3CF0F90DF91CF911F910F91FF90B6 -:10322000EF90DF90CF90BF90AF909F908F907F9066 -:103230006F9008951092E9001092A3041092A204D6 -:103240009093A1048093A0040895CF92DF92FF92FF -:103250000F931F93CF93DF9300D0CDB7DEB7F82E37 -:103260008A016B0101151105B1F0F601F7FE02C0EC -:10327000849101C0808149835A830E94881701503C -:103280001109FFEFCF1ADF0A49815A818111EACF74 -:103290008FEF9FEF01C0CA010F900F90DF91CF9188 -:1032A0001F910F91FF90DF90CF9008951F93CF93C0 -:1032B000DF931F92CDB7DEB7162F2091E80022FFD3 -:1032C000FCCF612F79830E94EC178BEF8093E8008D -:1032D000812F7981972F0F90DF91CF911F910895C2 -:1032E000CF93DF931F92CDB7DEB71982CE0101963F -:1032F0000E94EA15CE0101960E94921B898190E0FE -:103300000F90DF91CF9108951F920F920FB60F92F9 -:103310001124EF92FF920F931F932F933F934F939C -:103320005F936F937F938F939F93AF93BF93EF932D -:10333000FF93CF93DF93CDB7DEB76297DEBFCDBFEC -:103340001092E9008091E80083FFEBC068E0CE01B5 -:103350000A960E94EC1782EF8093E8009A8597FF07 -:1033600005C08091E80080FFFCCF03C08EEF809302 -:10337000E800892F807609F0B9C08B85811105C0DE -:103380001092F1001092F100C5C0282F2D7F21303E -:1033900009F4C0C0853049F48091E80080FFFCCF7B -:1033A0008C8580688093E300B5C0863009F076C0D4 -:1033B0002D85E888F988223071F580E090E02A8B2D -:1033C0000E941A190E94701999E08E010F5F1F4F19 -:1033D000F801392F11923A95E9F799832A892A83BE -:1033E00091E09E8390E898879AEF99872091A204B4 -:1033F0003091A304275F3F4F3C832B838D83C7010C -:103400000E941A1949E050E0B80180E00E94251995 -:103410000E9470197FC0C7012A8B0E941A192A893D -:10342000223241F482E290E00E949D1B892B09F038 -:1034300071C074C0213069F488899989089711F4A2 -:1034400020939F0480919F04811118C065EF71E063 -:103450001AC0233009F062C08C85882391F0823035 -:1034600021F460E183E192E006C0813009F056C0AA -:103470006BE087E092E00E94B6174AC063EE71E00D -:1034800002C064E272E06115710509F447C0FB01F6 -:10349000449150E080E80E9425193CC0873009F42F -:1034A0003DC0883021F481E08093F10033C0893041 -:1034B00089F5937099F5EFEDF1E081E021E096E375 -:1034C0008093E9002093EB0034913093EC009093CB -:1034D000ED008F5F3196853099F78EE78093EA0093 -:1034E0001092EA008C858093A40414C0888999897D -:1034F0000E941A198E85811105C0CE010A960E947C -:10350000F51506C0823051F4CE010A960E94C51B03 -:10351000882321F08EEF8093E80003C081E280933E -:10352000EB0062960FB6F894DEBF0FBECDBFDF9101 -:10353000CF91FF91EF91BF91AF919F918F917F912B -:103540006F915F914F913F912F911F910F91FF903C -:10355000EF900F900FBE0F901F9018958093E90089 -:103560008091F200882319F08AE38093E80008959F -:103570001F920F920FB60F9211242F933F934F93E8 -:103580005F936F937F938F939F93AF93BF93EF93CB -:10359000FF938091E1001092E10083FF0FC0109231 -:1035A000E90091E09093EB001092EC0092E390938D -:1035B000ED001092A40498E09093F00082FF1DC0EB -:1035C00083E00E94AE1A8091A604882339F080918E -:1035D000A60481508093A604882369F08091A504F5 -:1035E000882359F08091A50481508093A50481110E -:1035F00004C0289A02C05D9AF1CFFF91EF91BF916C -:10360000AF919F918F917F916F915F914F913F917A -:103610002F910F900FBE0F901F9018951092A40439 -:1036200081E08093D70080EA8093D80082E189BD51 -:1036300009B400FEFDCF61E070E080E090E00E9400 -:10364000671380E98093D8008CE08093E2001092A9 -:10365000E000559A209A08954F925F926F927F9260 -:10366000AF92BF92CF92DF92EF92FF920F931F9390 -:10367000CF93DF93CDB7DEB729013A01621B730BFD -:10368000840B950B29893A894B895C892A193B0956 -:103690004C095D09298B3A8B4B8B5C8B9B01AC01F0 -:1036A00069897A898B899C890E94B71CE418F5087E -:1036B00006091709A80197010E94F51C2A0D3B1D58 -:1036C0004C1D5D1DCA01B901DF91CF911F910F9172 -:1036D000FF90EF90DF90CF90BF90AF907F906F9072 -:1036E0005F904F9008950895FF920F931F93CF938B -:1036F000DF93EC01F62EE881F9810480F581E02D5D -:1037000009958C01E881F9810680F781E02D6F2D04 -:10371000CE010995C8019927DF91CF911F910F9193 -:10372000FF900895FC0120812F5F208349E150E044 -:1037300068EA72E080E80C94251945E650E061ECF7 -:1037400072E080E80C942519EF92FF920F931F937B -:10375000CF93DF931F92CDB7DEB789838B017A01B8 -:1037600041E050E0BE016F5F7F4F84E00E948A1805 -:10377000A701B80184E40E948A180F90DF91CF91CD -:103780001F910F91FF90EF900895FC01918180812E -:10379000813A31F481E0913091F0933089F411C095 -:1037A000813271F49B3021F482818093170105C02E -:1037B0009A3031F482818093160181E00895089552 -:1037C00080E0089548E050E082E00C94A41BCF9381 -:1037D000DF93DC01683818F0E8E7E60F25C0E62F34 -:1037E000F0E067FF11C0E058F10981E090E001C00E -:1037F000880FEA95EAF714969C911497982B1496E3 -:103800009C931497E0E010C0E85DFD4FE491EE2337 -:1038100009F440C0E7FF08C014968C9114978260A9 -:1038200014968C931497EF7716968C9116978E17A3 -:1038300041F117968C9117978E1719F118968C9164 -:1038400018978E17F1F019968C9119978E17C9F069 -:103850001A968C911A978E17A1F01B968C911B9734 -:103860008E1779F080E090E0ED01C80FD91F2E810E -:10387000211102C0EE8305C0019686309105A1F7A3 -:1038800009C0BD016C5F7F4FCD010E94E21B81E04A -:1038900090E008C081E090E013969C938E9312977D -:1038A00080E090E0DF91CF910895683818F0E8E764 -:1038B000E60F25C0E62FF0E067FF12C0E058F109DF -:1038C00021E030E001C0220FEA95EAF72095DC0103 -:1038D00014963C911497322314963C93E0E00FC069 -:1038E000E85DFD4FE491EE2329F1E7FF08C0DC011C -:1038F00014962C9114972D7F14962C93EF7720E03B -:1039000030E0EE2351F0DC01A20FB31F16964C916C -:1039100016974E1302C016961C922F5F3F4F26300B -:10392000310579F7BC016C5F7F4F0E94E21B81E09B -:1039300090E0089580E090E00895FC0116821782DF -:1039400010861186128613861482BC016C5F7F4F2D -:103950000C94E21B1092B3041092AA041092A904D2 -:103960008AEE91E09093A8048093A7040895DB0168 -:103970008F939F930E941A1DBF91AF91A29F800DBC -:10398000911DA39F900DB29F900D11240895991B36 -:1039900079E004C0991F961708F0961B881F7A9546 -:1039A000C9F780950895A1E21A2EAA1BBB1BFD0141 -:1039B0000DC0AA1FBB1FEE1FFF1FA217B307E4070E -:1039C000F50720F0A21BB30BE40BF50B661F771F66 -:1039D000881F991F1A9469F7609570958095909546 -:1039E0009B01AC01BD01CF010895052E97FB1EF48C -:1039F00000940E940C1D57FD07D00E94D31C07FCA9 -:103A000003D04EF40C940C1D5095409530952195A3 -:103A10003F4F4F4F5F4F08959095809570956195FA -:103A20007F4F8F4F9F4F0895EE0FFF1F0590F4912A -:103A3000E02D09940E94251DA59F900DB49F900D27 -:103A4000A49F800D911D11240895A29FB001B39FE2 -:103A5000C001A39F700D811D1124911DB29F700D97 -:103A6000811D1124911D0895CF93DF93823091051C -:103A700010F482E090E0E091B604F091B70420E009 -:103A800030E0A0E0B0E0309739F140815181481733 -:103A90005907B8F04817590771F48281938110973C -:103AA00029F013969C938E9312972CC09093B70491 -:103AB0008093B60427C02115310531F04217530712 -:103AC00018F0A901DB0101C0EF019A01BD01DF017E -:103AD0000280F381E02DD7CF21153105F9F0281BA5 -:103AE000390B2430310580F48A819B816115710581 -:103AF00021F0FB019383828304C09093B7048093E9 -:103B0000B604FE01329644C0FE01E20FF31F81931A -:103B1000919322503109398328833AC02091B4040B -:103B20003091B504232B41F420910201309103011F -:103B30003093B5042093B404209100013091010129 -:103B40002115310541F42DB73EB740910401509144 -:103B50000501241B350BE091B404F091B504E21784 -:103B6000F307A0F42E1B3F0B2817390778F0AC01A0 -:103B70004E5F5F4F2417350748F04E0F5F1F50937D -:103B8000B5044093B4048193919302C0E0E0F0E067 -:103B9000CF01DF91CF910895CF93DF93009709F480 -:103BA00087C0FC01329713821282C091B604D09173 -:103BB000B704209781F420813181280F391F80912B -:103BC000B4049091B5048217930779F5F093B50486 -:103BD000E093B4046DC0DE0120E030E0AE17BF0713 -:103BE00050F412964D915C9113979D01411551052A -:103BF00009F1DA01F3CFB383A28340815181840FAD -:103C0000951F8A179B0771F48D919C911197840FD2 -:103C1000951F02969183808312968D919C911397A4 -:103C2000938382832115310529F4F093B704E0933F -:103C3000B6043EC0D9011396FC93EE9312974D91B2 -:103C40005D91A40FB51FEA17FB0779F4808191817C -:103C5000840F951F0296D90111969C938E938281B1 -:103C6000938113969C938E931297E0E0F0E08A8103 -:103C70009B81009719F0FE01EC01F9CFCE0102966D -:103C800028813981820F931F2091B4043091B504AB -:103C90002817390769F4309729F41092B704109265 -:103CA000B60402C013821282D093B504C093B40448 -:103CB000DF91CF910895FB01DC014150504048F065 -:103CC00001900D920020C9F701C01D924150504053 -:103CD000E0F70895FC0181E090E00190061609F4F8 -:103CE000CF010020D1F701970895FB015191552391 -:103CF000A9F0BF01DC014D9145174111E1F759F4DD -:103D0000CD010190002049F04D9140154111C9F3BA -:103D1000FB014111EFCF81E090E001970895F89405 -:023D2000FFCFD3 -:103D22000000B804800001000000FF13000100E160 -:103D320000000000000001014D6178207365727679 -:103D42006F7320617474616368656400556E6B6E95 -:103D52006F776E2070696E206D6F646500537461B9 -:103D62006E646172644669726D6174612E696E6F10 -:103D7200004932433A20546F6F206D616E792062A0 -:103D8200797465732072656365697665640049328A -:103D9200433A20546F6F20666577206279746573A9 -:103DA2002072656365697665640031302D626974DD -:103DB2002061646472657373696E67206E6F74202C -:103DC200737570706F7274656400746F6F206D61CB -:103DD2006E7920717565726965730000000000A636 -:103DE2000C790C4E0C560C690C780C2E637070001A -:103DF200000000008D15D415B715C715A315B4150D -:103E0200000000006D1600000000741BD616E71BB0 -:043E1200551C9D1C82 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/lilypad-usb/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/lilypad-usb/Blink.cpp.hex deleted file mode 100644 index f3e1b0c3..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/lilypad-usb/Blink.cpp.hex +++ /dev/null @@ -1,289 +0,0 @@ -:100000000C94E2000C940A010C940A010C940A016D -:100010000C940A010C940A010C940A010C940A0134 -:100020000C940A010C940A010C9491060C9423057B -:100030000C940A010C940A010C940A010C940A0114 -:100040000C940A010C940A010C940A010C940A0104 -:100050000C940A010C940A010C940A010C942401DA -:100060000C940A010C940A010C940A010C940A01E4 -:100070000C940A010C940A010C940A010C940A01D4 -:100080000C940A010C940A010C940A010C940A01C4 -:100090000C940A010C940A010C940A010C940A01B4 -:1000A0000C940A010C940A010C940A0139023C02D6 -:1000B0002B022F0235025D025D025D024002440206 -:1000C00048024E0252025D0258020000000200097E -:1000D0000F0000030401000C0000000000000000FD -:1000E0000000000000000000000408020110408031 -:1000F000401020408040800802040180402010020F -:10010000011080102040402004040404040304056E -:1001100002020202040302020202060606060606A4 -:100120000404020202040400000000250028002B41 -:10013000002E00310000000000240027002A002DBE -:1001400000300012010002EF0201404F1B08920034 -:10015000010102030112010002000000404F1B08D0 -:1001600092000101020301537061726B46756E00CB -:100170004C696C79506164205553420004030904B2 -:10018000080B000202020100090400000102020043 -:1001900000052400100105240101010424020605C4 -:1001A0002406000107058103100040090401000234 -:1001B0000A00000007050202400000070583024014 -:1001C0000000220811241FBECFEFDAE0DEBFCDBF52 -:1001D00011E0A0E0B1E0E4ECF1E102C005900D9285 -:1001E000A432B107D9F721E0A4E2B1E001C01D9229 -:1001F000A539B207E1F711E0C4ECD1E004C02297C1 -:10020000FE010E94DC08C23CD107C9F70E94CE0261 -:100210000C94E0080C94000061E08DE00C945E0208 -:1002200061E08DE00E94970268EE73E080E090E06C -:100230000E94910160E08DE00E94970268EE73E0F9 -:1002400080E090E00C9491011F920F920FB60F92F4 -:1002500011242F933F938F939F93AF93BF938091DC -:10026000250190912601A0912701B091280130919C -:10027000240126E0230F2D3720F40296A11DB11D85 -:1002800005C029E8230F0396A11DB11D2093240169 -:100290008093250190932601A0932701B093280114 -:1002A0008091290190912A01A0912B01B0912C01FC -:1002B0000196A11DB11D8093290190932A01A0935D -:1002C0002B01B0932C01BF91AF919F918F913F91E2 -:1002D0002F910F900FBE0F901F9018953FB7F89475 -:1002E0008091290190912A01A0912B01B0912C01BC -:1002F00026B5A89B05C02F3F19F00196A11DB11D81 -:100300003FBF6627782F892F9A2F620F711D811D9D -:10031000911D43E0660F771F881F991F4A95D1F7FB -:1003200008958F929F92AF92BF92CF92DF92EF92F9 -:10033000FF926B017C010E946E014B015C01C114B4 -:10034000D104E104F104F1F00E94E1020E946E0187 -:10035000681979098A099B09683E734081059105EE -:1003600070F321E0C21AD108E108F10888EE880E86 -:1003700083E0981EA11CB11CC114D104E104F10456 -:1003800029F7DDCFFF90EF90DF90CF90BF90AF9037 -:100390009F908F900895789484B5826084BD84B5D1 -:1003A000816084BD85B5826085BD85B5816085BD70 -:1003B000EEE6F0E0808181608083E1E8F0E0108289 -:1003C000808182608083808181608083E0E8F0E0CA -:1003D000808181608083E1E9F0E0808182608083B8 -:1003E000808181608083E0E9F0E0808181608083AA -:1003F000E1ECF0E080818460808380818260808392 -:10040000808181608083E3ECF0E080818160808383 -:10041000E0ECF0E0808182608083E2ECF0E08081BB -:1004200081608083EAE7F0E080818460808380815E -:100430008260808380818E7F8083808180688083DA -:10044000089590E0FC013197EF30F105B0F5EA5ADC -:10045000FF4F0C94DA08809180008F7703C0809161 -:1004600080008F7D80938000089580918000877F39 -:10047000F9CF84B58F7702C084B58F7D84BD089590 -:10048000809190008F7707C0809190008F7D03C08E -:1004900080919000877F8093900008958091C000A4 -:1004A0008F7703C08091C0008F7D8093C000089536 -:1004B0008091C200877F8093C2000895CF93DF931D -:1004C00090E0FC01E751FF4F2491FC01E85FFE4FF3 -:1004D0008491882349F190E0880F991FFC01EB5C1F -:1004E000FE4FA591B491895D9E4FFC01C591D491B9 -:1004F0009FB7611108C0F8948C91209582238C934A -:10050000888182230AC0623051F4F8948C91322F92 -:10051000309583238C938881822B888304C0F89440 -:100520008C91822B8C939FBFDF91CF9108950F9375 -:100530001F93CF93DF931F92CDB7DEB7282F30E004 -:10054000F901E653FF4F8491F901E751FF4F1491F0 -:10055000F901E85FFE4F04910023C9F0882321F0E0 -:1005600069830E9421026981E02FF0E0EE0FFF1FF6 -:10057000E95DFE4FA591B4919FB7F8948C916111FC -:1005800003C01095812301C0812B8C939FBF0F90D6 -:10059000DF91CF911F910F91089508950E94CB0193 -:1005A0000E94CD028DE291E00E9414070E940C018E -:1005B000C0E0D0E00E9410012097E1F30E9400000B -:1005C000F9CF0895615030F02091F100FC012083B3 -:1005D0000196F8CF289884E68093360108954091DB -:1005E00031015091320120912F0130913001421799 -:1005F0005307B4F49091E8009570E1F39091E8000E -:1006000092FD19C08093F1008091310190913201E7 -:1006100001968F739927892B19F48EEF8093E80048 -:100620008091310190913201019690933201809333 -:10063000310181E0089580E00895CF92DF92EF923A -:10064000FF920F931F93CF93DF931F92CDB7DEB727 -:10065000082F162FF42E862F880F8E5F99830E9405 -:10066000EF0283E00E94EF02E02EC02E9981D92E86 -:100670008C2D8E19811798F4F601F7FE02C0849133 -:1006800001C080810E94EF02082F80E00E94EF02EB -:100690008023FFEFCF1ADF0A8111EACF01C081E08A -:1006A0000F90DF91CF911F910F91FF90EF90DF900E -:1006B000CF9008958091D70081608093D70080EA21 -:1006C0008093D80089B58F7E89BD89B5826089BD48 -:1006D00009B400FEFDCF61E070E080E090E00E9490 -:1006E00091018091D8008F7C80618093D8008091A7 -:1006F000E000807F8093E0000895CF93DF931F9206 -:10070000CDB7DEB71982CE0101960E948E070E94F6 -:10071000C608BE016F5F7F4F0E943F0889810F901E -:10072000DF91CF9108952FB7FC012083F894677073 -:100730006093E9000895CF93DF931F92CDB7DEB7A2 -:10074000682FCE0101960E9493038091F200998157 -:100750009FBF0F90DF91CF910895FF920F931F934A -:10076000CF93DF9300D0CDB7DEB7F62E8A019091FC -:100770003501992311F057FF03C08FEF9FEF2BC076 -:10078000682FCE0101967A830E9493038091F20034 -:1007900090E0A8017A81801791070CF4AC01EF2D4D -:1007A000F72FF40E84E6FE1639F028988093360170 -:1007B0009091F1009193F7CF4115510521F080916F -:1007C000F200882321F089818FBFCA0104C08BE623 -:1007D0008093E800F8CF0F900F90DF91CF911F9199 -:1007E0000F91FF900895CF93DF931F92CDB7DEB79F -:1007F00041E050E0BE016F5F7F4F0E94AD03019763 -:1008000019F4898190E002C08FEF9FEF0F90DF9184 -:10081000CF910895CF93DF931F92CDB7DEB7682FA6 -:10082000CE0101960E9493039091E800892F807277 -:1008300095FF04C09091F20080E4891B99819FBFCD -:100840000F90DF91CF9108956F927F928F929F9238 -:10085000AF92BF92CF92DF92EF92FF920F931F93CE -:10086000CF93DF931F92CDB7DEB7782E7B01C42ED6 -:10087000B52E80913501882369F0042F152F8AEF5A -:10088000D82E872D8072982E9AE3A92E872D8074FA -:10089000882E11C08FEF9FEF57C0872D0E940A044A -:1008A000682E81110CC0DA94A9F361E070E080E059 -:1008B00090E00E9491010115110579F73BC0282FA6 -:1008C00030E0021713070CF4602E672DCE0101965D -:1008D0000E9493038091E80085FF29C0262D30E017 -:1008E000021B130B992039F06A948FEF6816B1F050 -:1008F0001092F100F9CFF701862D77FE07C08150E5 -:1009000058F094919093F1003196F9CF815020F0F6 -:1009100091919093F100FACFE20EF31E8091E800DE -:1009200085FF0FC00115110511F481100AC08981DE -:100930008FBFC1CF5D9884E6809337018C2D9B2DAE -:1009400003C0A092E800F3CF0F90DF91CF911F91E9 -:100950000F91FF90EF90DF90CF90BF90AF909F905E -:100960008F907F906F9008951092E900109232015D -:10097000109231019093300180932F010895CF920E -:10098000DF92FF920F931F93CF93DF9300D0CDB7E9 -:10099000DEB7F82E8A016B0101151105B1F0F601E1 -:1009A000F7FE02C0849101C0808149835A830E946E -:1009B000EF0201501109FFEFCF1ADF0A49815A8176 -:1009C0008111EACF8FEF9FEF01C0CA010F900F9006 -:1009D000DF91CF911F910F91FF90DF90CF900895FD -:1009E000BF92CF92DF92EF92FF920F931F93CF931C -:1009F000DF936C018B01EB013BEFB32E2097C1F02D -:100A00007E01C134D1051CF020E4E22EF12C80914E -:100A1000E80082FFFCCFC8018C1B9D0B6E2D8C0D56 -:100A20009D1D0E94E202B092E800CE19DF09E6CFD8 -:100A3000C801DF91CF911F910F91FF90EF90DF9050 -:100A4000CF90BF9008951F920F920FB60F9211246E -:100A5000DF92EF92FF920F931F932F933F934F9349 -:100A60005F936F937F938F939F93AF93BF93EF9316 -:100A7000FF93CF93DF93CDB7DEB76C97DEBFCDBFCB -:100A80001092E9008091E80083FF23C168E0CE0165 -:100A900045960E94E20282EF8093E8003D8937FF8D -:100AA00005C08091E80080FFFCCF03C08EEF8093EB -:100AB000E800832F807609F0F0C02E894F89D88C0A -:100AC00021110CC0303829F4809134018093F10059 -:100AD00002C01092F1001092F100F4C0842F90E057 -:100AE0009D29213049F43111EDC0019709F0EAC088 -:100AF000809134018D7F0AC0233059F43111E2C056 -:100B0000019709F0DFC08091340182608093340145 -:100B1000D9C0253041F48091E80080FFFCCF4068C7 -:100B20004093E300CFC0263009F08DC0EB8CFC8CE5 -:100B300022E0D2122CC080E090E00E94B4040E9417 -:100B40007D0399E08E010F5F1F4FF801292F11924D -:100B50002A95E9F79983DA8291E09E8390EA988753 -:100B60009AEF99872091310130913201275F3F4FF1 -:100B70003C832B838D83C7010E94B40449E050E07D -:100B8000B80180E00E94BF040E947D039BC0C701A2 -:100B90000E94B4040E94C608BE016B5E7F4F0E9493 -:100BA0006808009719F00CF08DC090C081E0D81251 -:100BB0000EC08B8D9C8D089719F481E080932E01D7 -:100BC00080912E0181112FC065E571E031C0E3E015 -:100BD000DE127CC08F89882349F1823029F440E8F5 -:100BE0006BE080E791E01CC0813029F440E868E0C8 -:100BF00087E691E015C0833009F068C00E94C608FE -:100C00008E010F5F1F4FB8010E948708F801019005 -:100C10000020E9F73197E01BF10B40E06E2FC8018F -:100C20000E941D034DC063E471E002C06CE771E0F7 -:100C30006115710509F44AC0FB01449150E080E858 -:100C40000E94BF043FC0273009F440C0283021F47F -:100C500081E08093F10036C02930A1F53370B1F501 -:100C6000E1E0F1E081E021E036E39081992361F059 -:100C70008093E9002093EB0091919093EC003093E6 -:100C8000ED008F5F873089F78EE78093EA0010923E -:100C9000EA008F898093350115C08B8D9C8D0E9451 -:100CA000B404898D811105C0CE0145960E94990733 -:100CB00007C00E94C608BE016B5E7F4F0E94A60857 -:100CC000882321F08EEF8093E80003C081E28093B7 -:100CD000EB006C960FB6F894DEBF0FBECDBFDF9170 -:100CE000CF91FF91EF91BF91AF919F918F917F91A4 -:100CF0006F915F914F913F912F911F910F91FF90B5 -:100D0000EF90DF900F900FBE0F901F90189580937B -:100D1000E9008091F200882319F08AE38093E800CB -:100D200008951F920F920FB60F9211242F933F93A5 -:100D30004F935F936F937F938F939F93AF93BF93E3 -:100D4000CF93EF93FF93C091E1008091E100837F07 -:100D50008093E1008093E100C3FF0FC01092E9008F -:100D600081E08093EB001092EC0082E38093ED0031 -:100D70001092350188E08093F000C2FF19C083E033 -:100D80000E94870680913701882339F080913701CE -:100D9000815080933701882389F18091360188231F -:100DA00039F080913601815080933601882341F1DA -:100DB000C4FF10C08091E2008E7E81608093E200CB -:100DC0008091E1008F7E8093E100809133018E7EDF -:100DD000806111C0C0FF16C08091E2008E7E8061EC -:100DE0008093E2008091E1008E7E8093E10080910B -:100DF00033018E7E81608093330104C05D9ACDCF34 -:100E0000289AD6CFFF91EF91CF91BF91AF919F914B -:100E10008F917F916F915F914F913F912F910F90A3 -:100E20000FBE0F901F90189510923501109234014B -:100E3000109233010E945A038091E1008E7E8093CC -:100E4000E1008DE08093E200559A209AEEEFFFE7F3 -:100E5000859194918B3F9C4D19F481E0809388019A -:100E60000895CF93DF931F92CDB7DEB76983DC017E -:100E7000ED91FC910280F381E02D41E050E0BE0154 -:100E80006F5F7F4F09950F90DF91CF910895CF93BA -:100E9000DF93EC018C859D8597FF05C082E00E9461 -:100EA000F3039D878C878C859D85DF91CF91089575 -:100EB00083E00C948706FC018485958597FD06C028 -:100EC00082E00E949B0390E00196089582E00E94D8 -:100ED0009B0390E00895FC018485958597FD05C0EE -:100EE0002FEF3FEF35872487089582E00C94F303BA -:100EF000CF93DF93EC0180911201882331F083E0DE -:100F00000E9424041816190634F081E090E09B83B7 -:100F10008A8380E090E0DF91CF910895FC012081E9 -:100F20002E5F208342E450E060E871E080E80C949A -:100F3000BF04FC0121818081813A59F4213209F0FA -:100F40004BC047E050E06BE071E080E00E94BF04DE -:100F50005EC0813209F040C0233289F4838190E081 -:100F6000982F88273281832BA0E0B0E0809307017F -:100F700090930801A0930901B0930A010FC0203299 -:100F800039F467E070E08BE091E00E94F00409C062 -:100F9000223221F482818093120103C02D7F2032FE -:100FA000B1F580918801811103C0E0E0F8E002C052 -:100FB000EEEFFAE080910B0190910C01A0910D01F0 -:100FC000B0910E01803B9440A105B10511F58091CF -:100FD000120180FF03C01DC080E00895EE3F2AE0AB -:100FE000F20731F0808191819093FF0A8093FE0A8D -:100FF00087E797E7918380832BE088E190E00FB645 -:10100000F894A895809360000FBE2093600081E063 -:10101000089588E10FB6F894809360001092600004 -:101020000FBEA895EE3F8AE0F80739F08091FE0ADE -:101030009091FF0A91838083EACF1092FF0A109269 -:10104000FE0AE5CF10923B0110923A0188EE93E040 -:10105000A0E0B0E080933C0190933D01A0933E015D -:10106000B0933F0187E191E090933901809338017B -:101070008FEF9FEF90934501809344010895EF9285 -:10108000FF920F931F93CF93DF937B01FC01C281EB -:10109000D38100E010E0209781F0E881F98102809F -:1010A000F381E02DB701CE01099597FD08C0080F27 -:1010B000191F0884D985C02DEECFC80102C08FEF5B -:1010C0009FEFDF91CF911F910F91FF90EF900895C7 -:1010D0000F931F93CF93DF938B01FC01C281D381C8 -:1010E000209771F0E881F9810480F581E02DB80145 -:1010F000CE010995009731F40884D985C02DF0CF31 -:1011000080E090E0DF91CF911F910F9108950F93B0 -:101110001F93CF93DF938B01FC01C281D381209772 -:1011200071F0E881F9810680F781E02DB801CE01E8 -:101130000995080F111D0884D985C02DF0CFF8013D -:101140001082DF91CF911F910F9108950F931F93FC -:10115000CF93DF938B01FC01C281D381209771F083 -:10116000E881F9810190F081E02DB801CE01099567 -:10117000811106C00884D985C02DF0CF80E001C060 -:1011800081E0DF91CF911F910F91089580918D01A2 -:1011900081110DC082E08093890184E080938A01EF -:1011A00010928C0110928B0181E080938D0189E86F -:1011B00091E00895EE0FFF1F0590F491E02D099442 -:0411C000F894FFCFD1 -:1011C40000C18081000000FFFFFFFF00E10000007C -:1011D40000000000000000310778075B076B074739 -:0411E40007580700A1 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/lilypad-usb/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/lilypad-usb/StandardFirmata.cpp.hex deleted file mode 100644 index 61b494db..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/lilypad-usb/StandardFirmata.cpp.hex +++ /dev/null @@ -1,1070 +0,0 @@ -:100000000C9416010C943E010C943E010C943E019C -:100010000C943E010C943E010C943E010C943E0164 -:100020000C943E010C94E9120C945A1D0C94EC1B98 -:100030000C943E010C943E010C943E010C943E0144 -:100040000C943E010C94B9090C943E010C943E01B1 -:100050000C943E010C943E010C943E010C946313ED -:100060000C943E010C9409180C943B180C943E011E -:100070000C943E010C943E010C943E010C943E0104 -:100080000C943E010C943E010C943E010C943E01F4 -:100090000C94D70D0C943E010C943E010C943E013F -:1000A0000C943E010C943E010C943E01FF081B0988 -:1000B0003F081B09B0081B091D08CC071B091B09B9 -:1000C0001B091B091B09E3061B09B2071B090408CE -:1000D000CC14D114D614E014EA14341534153415A4 -:1000E000F414FE14081512151F153415271555158F -:1000F000581547154B1551157915791579155C1556 -:10010000601564156A156E157915741507060504D2 -:100110000100080A0B0C0D090000000200090F0085 -:1001200000030401000C00000000000000000000BB -:100130000000000000000004080201104080401090 -:1001400020408040800802040180402010020110FD -:10015000801020404020040404040403040502022B -:100160000202040302020202060606060606040450 -:100170000202020404000000002300260029002CD3 -:10018000002F0000000000250028002B002E003169 -:100190000000000000240027002A002D0030000885 -:1001A0000B0002020201000904000001020200002B -:1001B0000524001001052401010104240206052480 -:1001C0000600010705810310004009040100020A2E -:1001D00000000007050202400000070583024000FE -:1001E0000012010002EF0201404F1B0892000101C2 -:1001F00002030112010002000000404F1B089200A0 -:100200000101020301537061726B46756E004C6907 -:100210006C79506164205553420004030904480678 -:10022000ED0CDA12DE1209176B18F41811241FBE38 -:10023000CFEFDAE0DEBFCDBF12E0A0E0B1E0E6E94B -:10024000F1E402C005900D92A033B107D9F726E082 -:10025000A0E3B2E001C01D92A433B207E1F712E0BF -:10026000CCE2D2E004C02297FE010E94501FCE31A2 -:10027000D107C9F70E94421E0C94C9200C940000BB -:100280001F93CF93DF93162F843008F06CC0982F04 -:10029000990F990F990F985F9F3108F09EE1D82F21 -:1002A000DD0FDD0FDD0F8D2FC0E041E08917C8F4B1 -:1002B000E82FF0E0DF01A45FBC4F2C91223070F4F6 -:1002C000C42BEE0FFF1FE453FD4F21E030E0542F0D -:1002D000512311F420E030E031832083440F8F5FFD -:1002E000E5CFC0FF05C0612F61708D2F0E94B3154F -:1002F000C1FF06C0612F627081E08D0F0E94B315AF -:10030000C2FF06C0612F647082E08D0F0E94B3159A -:10031000C3FF06C0612F687083E08D0F0E94B31584 -:10032000C4FF06C0612F607184E08D0F0E94B31579 -:10033000C5FF06C0612F607285E08D0F0E94B31566 -:10034000C6FF06C0612F607486E08D0F0E94B31552 -:10035000C7FF09C0612F607887E08D0FDF91CF91D3 -:100360001F910C94B315DF91CF911F9108950F93B6 -:100370001F93CF93DF93EB018E3178F5082F10E0B8 -:10038000F801E45FFC4F9081933089F0943029F5B7 -:10039000F801E15CFD4F208130E0C901880F991F11 -:1003A000820F931F835A9D4F0E94540B0FC08330BE -:1003B00051F09BEF980F923030F097EF980F9330F9 -:1003C00010F08D3019F4BE010E94A614F801EE0F52 -:1003D000FF1FE453FD4FD183C083DF91CF911F9165 -:1003E0000F910895CF93C82F8C3058F54091320368 -:1003F0005091330321E030E0082E02C0220F331F5A -:100400000A94E2F7672B49F420953095242335238D -:10041000309333032093320314C0242B352B3093B5 -:100420003303209332038091300281110AC08C2F54 -:100430000E947514AC016C2F8AE194E0CF910C946A -:100440007F10CF910895DB019A01909131029C3089 -:10045000D0F540913202682F70E0442369F0E42F18 -:10046000F0E0EE5CFD4F8081FB01E15CFD4F80839D -:1004700041504093320207C0FB01E15CFD4F908385 -:100480009F5F90933102FB01E15CFD4F1A161B0642 -:100490007CF41216130664F4408150E0CA01880F00 -:1004A000991F840F951FAD01835A9D4F0C94910A9B -:1004B000208130E0C901880F991F820F931F835A52 -:1004C0009D4F0C940F0B61E271E08AE194E00C9473 -:1004D0001111CF93DF93C82FD0E0C15CDD4F28818D -:1004E00030E0C901880F991F820F931F835A9D4FD7 -:1004F0000E94150B888190913102891306C08823D0 -:1005000079F08150809331020BC0992349F0E0913A -:100510003202EF5FE0933202F0E0EE5CFD4F808349 -:100520008FEF8883DF91CF9108951F93CF93DF934F -:10053000162FC82FD0E0FE01E85FFC4F90811923F1 -:10054000C65DDC4F411103C09881911741F0412FE6 -:1005500050E0682F8AE194E00E9498101883DF91A0 -:10056000CF911F910895EF92FF920F931F93CF9316 -:10057000DF93E82E83E08E1508F475C02E2D30E051 -:10058000F901E25DFC4F6083672B09F46CC0F9014F -:10059000E85FFC4FF0800E2D000F000F000FF0FE03 -:1005A00052C0802F0E94E915892B09F44CC011E03C -:1005B000C02FD0E0F1FE07C081E0800F0E94E91556 -:1005C000892B09F042C0F2FE06C082E0800F0E9433 -:1005D000E915892BE1F5F3FE06C083E0800F0E9448 -:1005E000E915892BB1F5F4FE06C084E0800F0E9466 -:1005F000E915892B81F5F5FE06C085E0800F0E9484 -:10060000E915892B51F5C831D10541F0F6FE06C038 -:1006100086E0800F0E94E915892B09F5679744F45D -:10062000F7FE06C087E0800F0E94E915892BC9F408 -:1006300041E0612F8E2DDF91CF911F910F91FF909F -:10064000EF900C94950210E0B3CF1260BCCF146011 -:10065000C2CF1860C8CF1061CECF1062D4CF106463 -:10066000DDCF1068E5CFDF91CF911F910F91FF9003 -:10067000EF900895CF93DF9380912E03882309F4A0 -:1006800048C0D0910803D0FF1DC180E00E94E91549 -:10069000892B09F417C1C1E0D1FF06C081E00E9497 -:1006A000E915892B09F010C1D2FF06C082E00E9433 -:1006B000E915892B09F00AC1D3FF06C083E00E9427 -:1006C000E915892B09F004C1D4FF06C084E00E941B -:1006D000E915892B09F0FEC0D5FF06C085E00E9410 -:1006E000E915892B09F0F8C0D6FF06C086E00E9404 -:1006F000E915892B09F0F2C0D7FF06C087E00E94F8 -:10070000E915892B09F0ECC040E06C2F80E00E94D5 -:10071000950280912F03882309F448C0D0910903E2 -:10072000D0FFE0C088E00E94E915892B09F4DAC007 -:10073000C1E0D1FF06C089E00E94E915892B09F0CC -:10074000D3C0D2FF06C08AE00E94E915892B09F0C8 -:10075000CDC0D3FF06C08BE00E94E915892B09F0BC -:10076000C7C0D4FF06C08CE00E94E915892B09F0B0 -:10077000C1C0D5FF06C08DE00E94E915892B09F0A4 -:10078000BBC0D6FF06C08EE00E94E915892B09F098 -:10079000B5C0D7FF06C08FE00E94E915892B09F08C -:1007A000AFC040E06C2F81E00E9495028091300341 -:1007B000882309F448C0D0910A03D0FFA3C080E188 -:1007C0000E94E915892B09F49DC0C1E0D1FF06C044 -:1007D00081E10E94E915892B09F096C0D2FF06C07D -:1007E00082E10E94E915892B09F090C0D3FF06C071 -:1007F00083E10E94E915892B09F08AC0D4FF06C065 -:1008000084E10E94E915892B09F084C0D5FF06C058 -:1008100085E10E94E915892B09F07EC0D6FF06C04C -:1008200086E10E94E915892B09F078C0D7FF06C040 -:1008300087E10E94E915892B09F072C040E06C2F16 -:1008400082E00E94950280913103882309F476C0EA -:10085000D0910B03D0FF66C088E10E94E915892B77 -:1008600009F460C0C1E0D1FF06C089E10E94E9152A -:10087000892B09F059C0D2FF06C08AE10E94E91510 -:10088000892B09F053C0D3FF06C08BE10E94E91504 -:10089000892B09F04DC0D4FF06C08CE10E94E915F8 -:1008A000892B09F047C0D5FF06C08DE10E94E915EC -:1008B000892B09F041C040E06C2F83E0DF91CF919C -:1008C0000C949502C0E0E8CEC260EECEC460F4CED7 -:1008D000C860FACEC06100CFC06206CFC0640CCF42 -:1008E000C06812CFC0E025CFC2602BCFC46031CF2B -:1008F000C86037CFC0613DCFC06243CFC06449CF2D -:10090000C0684FCFC0E062CFC26068CFC4606ECF16 -:10091000C86074CFC0617ACFC06280CFC06486CF18 -:10092000C0688CCFC0E09FCFC260A5CFC460ABCF02 -:10093000C860B1CFC061B7CFC062BDCFDF91CF91EA -:100940000895109283028FEF80930A010895CF9249 -:10095000DF92EF92FF920F931F93CF93DF93182FA5 -:10096000EB01E82EF12CC701845F9C4F6C01FC0168 -:1009700080818F3709F4EEC0863051F48091830274 -:10098000882331F06630710509F4E0C00E94A104AB -:100990001E31A8F4C430D10591F0F701E15CFD4FA0 -:1009A00020812C3060F430E0C901880F991F820F3C -:1009B000931F835A9D4F0E94B90B8111B4C00EEE54 -:1009C000010F0C3058F461E070E0C230D10511F035 -:1009D00060E070E0802F0E94F20102C01E31D0F46E -:1009E000E12FE695E695E695812F8770F0E0E85FC8 -:1009F000FC4F21E030E0082E01C0220F0A94EAF7F4 -:100A0000209721F48081822B808304C020958081EF -:100A100028232083F701EE0FFF1FE453FD4F1182BF -:100A20001082C230D10579F02CF42097C9F02197BB -:100A300029F16BC0C430D10509F445C064F1269793 -:100A400009F45BC062C00C3008F084C060E0812F04 -:100A50000E947A1560E0812F0E94B31582E052C097 -:100A60001E3108F077C060E0812F0E947A1560E0A7 -:100A7000812F0E94B315F60110826CC01E3108F060 -:100A800069C060E0812F0E94B31561E0812F0E9450 -:100A90007A1581E037C0133059F08BEF810F823027 -:100AA00038F087EF810F833018F01D3009F052C005 -:100AB00061E0812F0E947A1560E070E0812F0E9432 -:100AC000A61483E01FC01E3108F044C084E0F60184 -:100AD0008083F701E15CFD4F80818F3F41F190E021 -:100AE0009C01220F331F280F391FC901835A9D4FC4 -:100AF0000E94B90B81112EC01AC08EEF810F823077 -:100B000048F586E0F601808325C065E371E08AE15F -:100B100094E0DF91CF911F910F91FF90EF90DF90C4 -:100B2000CF900C941111812F0E94690248CF4FEF92 -:100B30005FEF6FEF7FEF812FDF91CF911F910F91CB -:100B4000FF90EF90DF90CF900C9423021E3108F4B9 -:100B500024CF35CFDF91CF911F910F91FF90EF9070 -:100B6000DF90CF900895CF93C0E08EEF8C0F82304E -:100B700028F466E070E08C2F0E94A704CF5FCE318E -:100B8000A1F781E0809383028AE593E0CF910C94F2 -:100B90005F0C0F931F93CF93DF9381E0809330021C -:100BA0008091830281110E94A104EEE2F3E0C8E08B -:100BB000D3E0AAE2B3E0119219921D9283E0E233EE -:100BC000F807C9F7CFE3D2E010E00FEF8EEE810F08 -:100BD0008C3018F462E070E002C061E070E0812FB8 -:100BE0000E94A70409931F5F1E3181F710923303FF -:100BF000109232031092320210923102109230029F -:100C0000DF91CF911F910F91089525E042E066E4B6 -:100C100071E08AE194E00E94A60F47EB51E060EE9C -:100C20008AE194E00E941F1140E451E060E98AE10A -:100C300094E00E941F1142EF51E060EC8AE194E0E1 -:100C40000E941F1143EB52E060ED8AE194E00E94A4 -:100C50001F1147EA54E064EF8AE194E00E941F11FB -:100C60004FEC56E060EF8AE194E00E944F1149ECAE -:100C700055E06FEF8AE194E00E94471140E051EEA9 -:100C800060E070E08AE194E00E94C4120C94C9050F -:100C9000CF93DF93CDE5D2E0CE010E94750A239673 -:100CA00082E0C138D807C1F7DF91CF910895682F4E -:100CB0008AE593E00C94200C8AE593E00E94D00B27 -:100CC0000895DF92EF92FF920F931F93CF93DF93DC -:100CD000F82EEB01D42E6F3F8FEF7807A9F06F2D20 -:100CE0008AE593E00E94690C8C2F0E9457068AE5E2 -:100CF00093E00E94EA0C8091810290918202009719 -:100D000029F00E94161402C0C0E0D0E04D2D6F2DD6 -:100D10008AE593E00E94E70C0D2D10E08AE593E050 -:100D20000E94C80B081719071CF46BE871E009C092 -:100D30008AE593E00E94C80B8017910734F468EAB3 -:100D400071E08AE194E00E941111F0928402C09354 -:100D5000850286E8E82E82E0F82EC0E0D0E0C017D9 -:100D6000D10784F042E04D0D24E832E067E78AE1E4 -:100D700094E0DF91CF911F910F91FF90EF90DF9062 -:100D80000C94C6108AE593E00E94C80B892B51F39E -:100D90000E945C06F70181937F012196E0CFEF92DC -:100DA000FF920F931F93CF93DF93162FEA0190E0EA -:100DB000FC01E956F109E231F10508F03CC2EA5ABA -:100DC000FF4F0C944E1F8981982F987185FF03C0A7 -:100DD00064EC71E056C08881983071F148F491114B -:100DE0002AC2682F8AE593E00E94690C02E007C0DE -:100DF000903109F440C0983109F471C01CC2011748 -:100E000068F4FE01E00FF11D9181808120E8929F3E -:100E1000801911240E9457060E5FF1CF8AE593E0F6 -:100E20000E94EA0C86E490E0DF91CF911F910F9130 -:100E3000FF90EF900C9416144A816B81163069F480 -:100E400030E8639FB0011124640F711D9D814C81B6 -:100E500050E8959F4019112406C090E8699F4019F9 -:100E600011246FEF7FEFDF91CF911F910F91FF90D2 -:100E7000EF900C946106E0910A01E73064F064EEB3 -:100E800071E08AE194E0DF91CF911F910F91FF9083 -:100E9000EF900C9411119A812B81F0E8663061F487 -:100EA0002F9F90011124290F311D4D819C8150E805 -:100EB000459F9019112405C02F9F901911242FEFE1 -:100EC0003FEFEF5FE0930A0144E0E402F0011124F8 -:100ED000EC55FD4F8083328321839383ACC15091C5 -:100EE0000A01151634F440E0252F332727FD3095ED -:100EF0000EC08FEF80930A019EC1EE0FFF1FEE0F11 -:100F0000FF1FEC55FD4F9081981719F14F5FE42FAB -:100F1000F0E02E173F078CF740E01BC04830C0F4CC -:100F2000DF01AA0FBB1FAA0FBB1FA855BD4F8C9195 -:100F3000EE0FFF1FEE0FFF1FEC55FD4F8083119644 -:100F40008D919C9112979283818313968C918383C8 -:100F50004F5FE42FF0E02E173F0704F751505093F6 -:100F60000A0169C12881898150E8859FC001112447 -:100F7000820F911D009721F090938202809381024D -:100F800080918302811157C1DF91CF911F910F9101 -:100F9000FF90EF900C94B305653008F44CC11881B4 -:100FA0000981FA80EB80CC811E3108F044C1E12F29 -:100FB000F0E0E15CFD4FE081EC3060F4F0E0CF0167 -:100FC000880F991F8E0F9F1F835A9D4F0E94B90B48 -:100FD00081112DC180E8C89FA00111244E0D511D23 -:100FE00090E8F99EB0011124600F711D812F0E94BD -:100FF000230264E070E0812FDF91CF911F910F9168 -:10100000FF90EF900C94A704623008F414C128817B -:101010008981E0E88E9FC0011124820F911D909379 -:101020000C0180930B010A9708F005C18AE090E05B -:1010300090930C0180930B01FEC0623008F4FBC05A -:10104000698170E0123091F08A81F0E88F9FC001D1 -:101050001124682B792B133049F08B8190E090E4B8 -:10106000899F902D88271124682B792B8881DF9107 -:10107000CF911F910F91FF90EF900C94B70160EF0B -:101080008AE194E00E9415116CE68AE194E00E94E6 -:101090001511C0E060E08AE194E00E94151161E062 -:1010A0008AE194E00E94151161E08AE194E00E94D7 -:1010B000151161E08AE194E00E9415118EEE8C0F0B -:1010C0008C3058F462E08AE194E00E9415116AE0E5 -:1010D0008AE194E00E9415110DC0C33059F463E019 -:1010E0008AE194E00E94151168E08AE194E00E9490 -:1010F00015110AC08BEF8C0F823088F387EF8C0FAD -:10110000833068F3CD3059F364E08AE194E00E94C3 -:1011100015116EE08AE194E00E9415118EEF8C0F9C -:10112000823050F466E08AE194E00E94151161E09B -:101130008AE194E00E9415116FE78AE194E00E9431 -:101140001511CF5FCE3109F0A5CF67EF8AE194E0AA -:10115000DF91CF911F910F91FF90EF900C9415119B -:10116000662309F468C0C88160EF8AE194E00E94B8 -:1011700015116EE68AE194E00E9415116C2F8AE148 -:1011800094E00E941511CE3100F7D0E0FE01E45F3B -:10119000FC4F60818AE194E00E941511CC0FDD1FA5 -:1011A0008E0104531D4FF80160816F778AE194E04E -:1011B0000E941511F80160817181CB018078892B23 -:1011C00049F0660F672F661F770B6F778AE194E00F -:1011D0000E941511C453DD4F68817981CB018827A6 -:1011E000907C892B09F4B1CF770F660B770F762FA0 -:1011F000661F6F778AE194E00E941511A6CF60EF19 -:101200008AE194E00E9415116AE68AE194E00E9466 -:101210001511CEEECC3010F06FE701C06C2F8AE1D3 -:1012200094E00E941511CF5FCC30A1F78ECF812FB3 -:101230000E946902CFCEDF91CF911F910F91FF9055 -:10124000EF9008958F929F92AF92BF92CF92DF92CC -:10125000EF92FF920F931F93CF93DF930E943A0375 -:101260008AE194E00E940610892B29F08AE194E03B -:101270000E943612F5CF0E94AD136093C80270939E -:10128000C9028093CA029093CB02C090C402D0904E -:10129000C502E090C602F090C70240910B01509148 -:1012A0000C014A01A12CB12C8B019C010C191D09C8 -:1012B0002E093F0980169106A206B30608F04CC01D -:1012C000D501C4018C0D9D1DAE1DBF1D8093C402B0 -:1012D0009093C502A093C602B093C702CCE0D3E0BE -:1012E0001EEE1C30C0F488818230A9F420913203B4 -:1012F00030913303012E02C0359527950A94E2F709 -:1013000020FF09C0812F0E947514AC01612F8AE172 -:1013100094E00E947F101F5F21961C3011F780918E -:101320000A0187FD19C0C0E0EC2FF0E080910A01AE -:10133000992787FD90958E179F0774F0EE0FFF1F7A -:10134000EE0FFF1FEC55FD4F61817281438180815B -:101350000E946106CF5FE8CFDF91CF911F910F917F -:10136000FF90EF90DF90CF90BF90AF909F908F90C5 -:1013700008951F920F920FB60F9211242F933F934F -:101380004F935F936F937F938F939F93AF93BF938D -:10139000EF93FF938091350387FF05C0109285007E -:1013A000109284001AC020913503332727FD309511 -:1013B0008091340390E0281739077CF4809135033D -:1013C000992787FD9095FC01EE0FFF1FE80FF91F8D -:1013D000EA5CFC4F808186FD15C0809135038F5FEC -:1013E0008093350320913503332727FD3095809175 -:1013F000340390E028173907BCF4809135038C3012 -:101400005CF112C080913503992787FD9095FC010E -:10141000EE0FFF1FE80FF91FEA5CFC4F808160E0D0 -:101420008F730E94B315D9CF80918400909185006D -:10143000049680329E4418F480E29EE405C08091B8 -:101440008400909185000496909389008093880091 -:101450008FEF8093350338C0209184003091850050 -:1014600080913503992787FD9095FC01EE0FFF1FB2 -:10147000E80FF91FEA5CFC4F81819281820F931F74 -:10148000909389008093880080913503992787FD88 -:101490009095FC01EE0FFF1FE80FF91FEA5CFC4F6F -:1014A000808186FF11C080913503992787FD909533 -:1014B000FC01EE0FFF1FE80FF91FEA5CFC4F808173 -:1014C00061E08F730E94B315FF91EF91BF91AF91CF -:1014D0009F918F917F916F915F914F913F912F914C -:1014E0000F900FBE0F901F901895209134032C3051 -:1014F000A0F431E0320F30933403FC012083822FBB -:1015000090E0FC01EE0FFF1FE80FF91FEA5CFC4FB3 -:101510008CED95E09283818308952FEFFC01208369 -:101520000895DF92EF92FF920F931F93CF93DF9373 -:10153000EC01D62E7A01890188818C3008F066C0D2 -:1015400061E08D2D0E947A158881A82FB0E0FD0101 -:10155000EE0FFF1FEA0FFB1FEA5CFC4F2D2D2F73D0 -:101560009081907C922B908360E272E06E197F09EB -:1015700077FF02C06D5F7F4F75956795759567958D -:10158000698340E659E0401B510B57FF02C04D5F95 -:101590005F4F55954795559547954A836CE00E9456 -:1015A000011F9CE0899FB001112420E030E0A901D7 -:1015B000460F571FFA01EE0FFF1FE40FF51FEA5CFD -:1015C000FC4F908196FD16C02F5F3F4F2C303105A8 -:1015D00071F781110FC01092800082E0809381002A -:1015E0001092850010928400B19A80916F00826001 -:1015F00080936F00888190E0FC01EE0FFF1FE80FE1 -:10160000F91FEA5CFC4F8081806480838881DF91D0 -:10161000CF911F910F91FF90EF90DF90089520E6FA -:1016200039E040E252E00C94910AFC01808190E0A4 -:10163000FC01EE0FFF1FE80FF91FEA5CFC4F8081F1 -:101640008F7B80830895FC0180818C3060F59181CF -:1016500028E830E0291B310997FD3395220F331F0D -:10166000220F331F621773077CF0928128E532E066 -:10167000291B310997FD3395220F331F220F331F8A -:10168000621773070CF49B014FB7F89490E0225057 -:101690003109FC01EE0FFF1FE80FF91FEA5CFC4F58 -:1016A000328321834FBF08954F925F926F927F9252 -:1016B000AF92BF92CF92DF92EF92FF920F931F9360 -:1016C000CF93DF93EC01603282E078070CF040C0EA -:1016D00077FD06C0653B71052CF064EB70E002C03D -:1016E00060E070E0898128E830E0281B310987FD3F -:1016F0003395220F331F220F331F5901CC24B7FC1F -:10170000C094DC2C882777FD8095982F2A8148E5A6 -:1017100052E0421B510927FD5395440F551F440FBA -:10172000551F2A01662457FC6094762C7F926F9295 -:101730005F924F9214EBE12EF12C00E010E020E0DC -:1017400030E0A9010E94FA1D0F900F900F900F90AA -:10175000CE01DF91CF911F910F91FF90EF90DF901D -:10176000CF90BF90AF907F906F905F904F900C9410 -:10177000230BFC01808190E0FC01EE0FFF1FE80FBE -:10178000F91FEA5CFC4F808186FB882780F9089569 -:1017900080918A0390E020918B03821B9109089528 -:1017A00020918B0380918A03281750F4E22FF0E0F8 -:1017B000E457FC4F808190E02F5F20938B030895C6 -:1017C0008FEF9FEF0895E0918B0380918A03E817D4 -:1017D00030F4F0E0E457FC4F808190E008958FEF03 -:1017E0009FEF08950895CF92DF92EF92FF920F93AB -:1017F0001F93CF93DF937C01CB018A012091660375 -:10180000222389F0EB016B01C40ED51ECC15DD053A -:1018100069F06991D701ED91FC910190F081E02D83 -:10182000C7010995F3CF642F0E94AE0DC801DF9167 -:10183000CF911F910F91FF90EF90DF90CF9008957F -:10184000CF93DF931F92CDB7DEB7698320916603F4 -:101850002223D1F020916703203240F021E030E0D4 -:10186000FC013383228380E090E015C080916803FF -:10187000E82FF0E0E759FC4F998190838F5F8093C8 -:1018800068038093670305C061E0CE0101960E9462 -:10189000AE0D81E090E00F90DF91CF910895FC01B3 -:1018A0001382128248EE53E060E070E04483558377 -:1018B0006683778389EF91E0918380830895109206 -:1018C0008B0310928A0310926803109267030C94A2 -:1018D000F10C81E0809366036093890310926803A2 -:1018E0001092670308950F93062F21E0409167033C -:1018F00069E673E0809189030E94570D1092680396 -:1019000010926703109266030F9108958F929F9231 -:10191000AF92BF92CF92DF92EF92FF920F931F93FD -:10192000CF93DF93EC01F62ED42E48015901EE201F -:1019300019F10E94690C1E2D143008F013E01150AB -:10194000B8F0E881F98128E0129FB0011124A501C7 -:10195000940104C056954795379527956A95D2F717 -:10196000CA01B9010190F081E02DCE010995E7CFC0 -:1019700060E0CE010E94730C4D2D413208F040E230 -:101980002C2D6CE873E08F2D0E940F0D10928B03AD -:1019900080938A03DF91CF911F910F91FF90EF9079 -:1019A000DF90CF90BF90AF909F908F900895CF928F -:1019B000EF920F931F93C22EE12C00E010E09801EC -:1019C0000E94860C1F910F91EF90CF90089521E017 -:1019D0000C94D70C61E00C94730C8AE593E00C94A2 -:1019E0004F0C1092190481E0809317041092160492 -:1019F00061E082E00E94B31561E083E00E94B315CC -:101A0000E9EBF0E080818E7F808380818D7F808311 -:101A100080E28093B80085E48093BC000895413251 -:101A200008F043C0909119049111FCCF91E090937C -:101A30001904209317042FEF2093AC031092F103A5 -:101A4000240F2093F0039093180490911804880FAA -:101A5000892B8093180480911604813061F41092D0 -:101A60001604809118048093BB008091BC0083FD14 -:101A7000F8CF85EC01C085EE8093BC0080911904FD -:101A80008130E1F38091F103841710F44091F10368 -:101A900022EF33E0FB01D9018A2F821B841718F44F -:101AA0008D918193F9CF842F089580E008950F934D -:101AB000413208F04AC0909119049111FCCF92E094 -:101AC00090931904009317049FEF9093AC03109226 -:101AD000F1034093F003FB0162EF73E0DB019A2F07 -:101AE000961B941718F491919D93F9CF10921804B6 -:101AF00090911804880F892B809318048091160404 -:101B0000813061F410921604809118048093BB0018 -:101B10008091BC0083FDF8CF85EC01C085EE8093F9 -:101B2000BC00222321F0809119048230E1F38091DE -:101B3000AC038F3F61F08091AC03803251F0809113 -:101B4000AC03803341F483E007C081E005C080E04E -:101B500003C082E001C084E00F910895613298F4DF -:101B600020911904243089F46093CE03FC0180EDA8 -:101B700093E0DC012A2F281B261718F421912D93BE -:101B8000F9CF80E0089581E0089582E0089585ED21 -:101B90008093BC008091BC0084FDFCCF109219049E -:101BA000089585EC8093BC001092190408951F924B -:101BB0000F920FB60F9211242F933F934F935F9381 -:101BC0006F937F938F939F93AF93BF93EF93FF9305 -:101BD0008091B900887F803609F49EC078F58832FC -:101BE00009F45DC090F4803109F456C038F48823BC -:101BF00009F4F5C0883009F44FC0F5C0883109F404 -:101C00004EC0803209F45FC0EEC0803409F46AC06F -:101C100058F4803309F457C0883309F0E4C0809346 -:101C2000AC030E94D10DDFC0803509F44FC0883568 -:101C300009F45DC0883409F0D6C0D3C0883909F4EE -:101C4000C4C0A8F4883709F467C038F4883609F4AA -:101C500063C0803709F460C0C6C0883809F4B5C0D5 -:101C6000803909F45FC0803809F0BDC05BC0803B9B -:101C700009F483C038F4803A09F466C0883A09F45C -:101C80007CC0B1C0803C09F4A4C0883C09F4A1C068 -:101C9000883B09F487C0A7C08091180410C09091B8 -:101CA000F1038091F003981770F5E091F10381E062 -:101CB0008E0F8093F103F0E0EE50FC4F8081809313 -:101CC000BB0085EC83C08093AC038BC0E091F10333 -:101CD00081E08E0F8093F1038091BB00F0E0EE5025 -:101CE000FC4F80839091F1038091F0036BC0E091F1 -:101CF000F10381E08E0F8093F1038091BB00F0E04F -:101D0000EE50FC4F80838091170481116AC081E0FE -:101D10008093160484EA5EC083E0809319041092D5 -:101D2000AD03CFCF8091AD03803208F04EC0E0917B -:101D3000AD0381E08E0F8093AD038091BB00F0E096 -:101D4000E255FC4F8083BDCF0E94D10D8091AD0341 -:101D5000803230F4E091AD03F0E0E255FC4F1082A8 -:101D60006091AD0370E0E0911204F09113048EEAEB -:101D700093E009951092AD0336C084E08093190476 -:101D80001092CF031092CE03E0911404F091150449 -:101D900009958091CE03811105C081E08093CE0327 -:101DA0001092D003E091CF0381E08E0F8093CF0398 -:101DB000F0E0E053FC4F80818093BB009091CF0313 -:101DC0008091CE03981708F47CCF85E88093BC00FF -:101DD0000AC085EC8093BC001092190404C01092D4 -:101DE000AC030E94C70DFF91EF91BF91AF919F91FE -:101DF0008F917F916F915F914F913F912F910F90B4 -:101E00000FBE0F901F9018950F931F93CF93DF93E2 -:101E1000EC018B0188819981DC01ED91FC916F7758 -:101E20000190F081E02D099588819981DC01ED9187 -:101E3000FC91B801660F672F661F770B6F770190D3 -:101E4000F081E02DDF91CF911F910F910994DC017A -:101E50008D919C91DC01ED91FC910190F081E02D40 -:101E600060EF0994DC018D919C91DC01ED91FC9176 -:101E70000190F081E02D67EF0994CF93DF93EC019F -:101E800088819981DC01ED91FC910190F081E02D38 -:101E900069EF099588819981DC01ED91FC910190B0 -:101EA000F081E02D62E0099588819981DC01ED9156 -:101EB000FC910190F081E02D65E0DF91CF910994D4 -:101EC0001F93CF93DF93EC018A818823D9F1CE0150 -:101ED0000E94270F88819981DC01ED91FC9101908E -:101EE000F081E02D69E7099588819981DC01ED9108 -:101EF000FC91AB81BC810190F081E02D6C91099542 -:101F000088819981DC01ED91FC91AB81BC810190CC -:101F1000F081E02D11966C91099512E08A811817D5 -:101F200058F4EB81FC81E10FF11D608170E0CE017E -:101F30000E94040F1F5FF2CFCE01DF91CF911F915E -:101F40000C94320FDF91CF911F910895CF92DF92C1 -:101F5000EF92FF920F931F93CF93DF938C01EB01CE -:101F6000C42ED22E65E072E0CE010E94AF207C012B -:101F70006FE270E0CE010E94A420009739F46CE576 -:101F800070E0CE010E94A420009711F0EC01219690 -:101F9000E114F10451F4FE0101900020E9F7EC1B7B -:101FA000EF5FD8011296EC9306C0EC1AFD0AE39499 -:101FB000E394F801E282D80113968D919C911497D5 -:101FC0000E940620F801E280F12CC70101960E94D0 -:101FD0006E1FD80114969C938E931397FC01EE0DFF -:101FE000FF1D1082FC01C082D18212964C9150E0FC -:101FF00042505109BE010296DF91CF911F910F917E -:10200000FF90EF90DF90CF900C949520DC018D91A4 -:102010009C91DC01ED91FC910480F581E02D099407 -:102020000F931F93CF93DF93FC012085213749F055 -:10203000293709F049C0DF91CF911F910F910C947E -:10204000600FFC01ED54FF4F0190F081E02D3097BF -:1020500009F450C0DC01A75BBF4F4D915C919A0120 -:102060002150310937FD9A01B90175956795062F01 -:1020700040E050E020E030E04E5F5F4F2017A0F4DA -:10208000EC01C40FD51F1F81DC01A20FB31F1896EE -:102090001C931897C885D0E8CD9F10191124189665 -:1020A0001C932F5F3F4FE8CFDC01A60FB11D1796A1 -:1020B0002C911797222311F018961C920896DF9105 -:1020C000CF911F910F910994FC01EB54FF4F0190A8 -:1020D000F081E02D309771F0AC01475F5F4FDC017C -:1020E000A75BBF4F6C916150822FDF91CF911F9101 -:1020F0000F910994DF91CF911F910F9108950F9344 -:102100001F93CF93DF93EC018A0188819981DC01D1 -:10211000ED91FC916F70606E0190F081E02D09955A -:10212000B801CE01DF91CF911F910F910C94040F54 -:102130000F931F93CF93DF93EC018A0188819981DC -:10214000DC01ED91FC916F7060690190F081E02DF0 -:10215000099588819981DC01ED91FC91602F6F7761 -:102160000190F081E02D099588819981DC01ED9144 -:10217000FC91B801660F672F661F770B0190F08105 -:10218000E02DDF91CF911F910F910994CF92DF92B3 -:10219000EF92FF920F931F93CF93DF9300D01F9284 -:1021A000CDB7DEB78C01F42E2A833B8369830E946E -:1021B000270FD8018D919C91DC01ED91FC9101904C -:1021C000F081E02D698109952A81E22EC22E3B81A2 -:1021D000D32E8C2D8E198F1540F4F60161916F016D -:1021E00070E0C8010E94040FF4CFC8010F900F9057 -:1021F0000F90DF91CF911F910F91FF90EF90DF90A3 -:10220000CF900C94320F9A01613751F4FA0101908A -:102210000020E9F73197E41BF50B4E2F0C94C61004 -:102220000895AB0161E70C940311DC018D919C9141 -:10223000DC01ED91FC910190F081E02D0994603D6D -:10224000C1F028F4603969F0603C79F00895643F8A -:10225000A1F0653FB1F0603EC9F4FC01EB55FF4FC2 -:1022600013C0FC01E955FF4F0FC0FC01E755FF4FBC -:102270000BC0FC01E555FF4F07C0FC01E355FF4FC4 -:1022800003C0FC01E155FF4F5183408308956F3F28 -:1022900029F4FC01EF54FF4F5183408308958B5480 -:1022A0009F4FFC01518340830895FC0115821682E3 -:1022B000178280E090E0DF01A80FB91F18961C92EA -:1022C000019680349105B9F7DF01A85BBF4F1C92DE -:1022D00011961D921C92EF54FF4F0190F081E02D5A -:1022E000309709F009940895FC01E954FF4F1082DA -:1022F000FC011282148213820C945511CF93DF9348 -:10230000EC01FC01E85BFF4F80818823A1F0673F6F -:1023100031F41082CE01DF91CF910C941010FE01A8 -:10232000E75BFF4F80819181C80FD91F68870196B5 -:102330009183808398C08D81882309F452C067FD02 -:1023400050C081508D83FE01E80FF11D608781111F -:102350008AC08E81882309F486C0803DA1F140F4B3 -:10236000803981F0803CD9F5FE01E755FF4F2EC042 -:10237000843FC9F0853FD9F0803E89F5FE01EB55D9 -:10238000FF4F03C0FE01E955FF4F0190F081E02DA2 -:10239000309729F18885698570E090E8899F600D04 -:1023A000711D11241AC0FE01E355FF4F03C0FE0149 -:1023B000E155FF4F0190F081E02D309781F0688565 -:1023C00070E089850BC0FE01E555FF4F0190F0815B -:1023D000E02D309721F0688570E08F8109951E828D -:1023E00042C0862F603F28F4807F90E06F706F833B -:1023F00001C090E0803F910549F17CF4803C91055B -:1024000009F124F480399105D9F02DC0803D910562 -:10241000C9F0803E9105A1F026C0893F9105E9F001 -:102420003CF49C01245F31092230310548F01BC087 -:102430008F3F9105C1F4CE01DF91CF910C945511DE -:1024400092E001C091E09D838E830DC081E0808386 -:10245000C75BDF4F1982188206C08AE194E0DF91E2 -:10246000CF910C943D0FDF91CF910895CF93DF93DF -:10247000EC0188819981DC01ED91FC910680F78166 -:10248000E02D09958F3FBFEF9B0731F0682FCE01FC -:10249000DF91CF910C947E11DF91CF9108957F92BF -:1024A0008F929F92AF92BF92CF92DF92EF92FF9264 -:1024B0000F931F93CF93DF93762EEA01680110E00C -:1024C000EE24D7FCE094FE2C4901AA2497FCA094AA -:1024D000BA2C212F30E02C173D0794F4C701B60128 -:1024E0000E94DC1361E0872D0E94B315C501B40181 -:1024F0000E94DC1360E0872D0E94B3151F5FE9CFB7 -:10250000DF91CF911F910F91FF90EF90DF90CF90CF -:10251000BF90AF909F908F907F9008950F931F93DF -:10252000CF93DF93EC01FC01E954FF4F80818111CF -:1025300026C061E08DE00E947A1502ED10E028E2ED -:1025400030E042E050E06DE0CE010E944F126AEFB1 -:1025500070E080E090E00E94DC1328E230E045E08B -:1025600050E06DE0CE010E944F126DE770E080E018 -:1025700090E0DF91CF911F910F910C94DC13DF91CC -:10258000CF911F910F910895CF93DF93EC0185E2D6 -:1025900095E00E94031785E295E099838883CE0138 -:1025A0000E948E12CE010E943D0FCE01DF91CF918D -:1025B0000C94600F8AE194E00C9474110F9300E086 -:1025C00020E040E060E082ED94E00E94E8180F9186 -:1025D00008951F920F920FB60F9211242F933F93DD -:1025E0004F935F936F937F938F939F93AF93BF931B -:1025F000EF93FF93E0911A05F0911B05309709F4D2 -:1026000051C0868DA685B785958581FF04C08C91C4 -:10261000892329F447C08C91892309F043C0A389F9 -:10262000B4899C918589809589238C938689978923 -:102630000197F1F7208D318DA685B785758558E016 -:1026400040E0C9010197F1F7842F90E095958795B7 -:10265000482F6C91672309F04068515091F7868D9F -:1026600081FD40958091D90490E001968F73992760 -:102670002091D804281749F0A091D904B0E0A652BF -:10268000BB4F4C938093D90403C0868D8160868FA5 -:10269000828D938D0197F1F7A389B4898C919589E7 -:1026A000892B8C93FF91EF91BF91AF919F918F9167 -:1026B0007F916F915F914F913F912F910F900FBE3E -:1026C0000F901F9018951F920F920FB60F92112422 -:1026D0002F933F938F939F93AF93BF9380911D054B -:1026E00090911E05A0911F05B091200530911C0509 -:1026F00026E0230F2D3720F40296A11DB11D05C041 -:1027000029E8230F0396A11DB11D20931C0580937A -:102710001D0590931E05A0931F05B0932005809181 -:10272000210590912205A0912305B09124050196E1 -:10273000A11DB11D8093210590932205A09323052F -:10274000B0932405BF91AF919F918F913F912F91AD -:102750000F900FBE0F901F9018952FB7F8946091AF -:102760001D0570911E0580911F05909120052FBFBA -:1027700008953FB7F8948091210590912205A0918A -:102780002305B091240526B5A89B05C02F3F19F05D -:102790000196A11DB11D3FBF6627782F892F9A2F63 -:1027A000620F711D811D911D43E0660F771F881F09 -:1027B000991F4A95D1F708958F929F92AF92BF9239 -:1027C000CF92DF92EF92FF926B017C010E94B913CE -:1027D0004B015C01C114D104E104F104F1F00E9449 -:1027E000551E0E94B913681979098A099B09683E28 -:1027F00073408105910570F321E0C21AD108E10808 -:10280000F10888EE880E83E0981EA11CB11CC1144B -:10281000D104E104F10429F7DDCFFF90EF90DF90C0 -:10282000CF90BF90AF909F908F9008958330910587 -:1028300028F0880F991F04970197F1F7089578946D -:1028400084B5826084BD84B5816084BD85B58260B5 -:1028500085BD85B5816085BDEEE6F0E08081816053 -:102860008083E1E8F0E01082808182608083808153 -:1028700081608083E0E8F0E0808181608083E1E92D -:10288000F0E0808182608083808181608083E0E9E4 -:10289000F0E0808181608083E1ECF0E08081846001 -:1028A0008083808182608083808181608083E3EC8B -:1028B000F0E0808181608083E0ECF0E080818260E4 -:1028C0008083E2ECF0E0808181608083EAE7F0E0E1 -:1028D00080818460808380818260808380818E7F1C -:1028E00080838081806880830895823108F08251DE -:1028F000E82FF0E0E45FFE4FE49180917B00E3FB82 -:10290000222720F930E095E0220F331F9A95E1F756 -:102910008F7D822B80937B00E77080910D0120E4F6 -:10292000829FC0011124E82BE0937C0080917A0003 -:10293000806480937A0080917A0086FDFCCF80913C -:1029400078002091790090E0922B08951F93CF9307 -:10295000DF93182FEB0161E00E947A15209711F4A4 -:1029600060E004C0CF3FD10539F461E0812FDF91F1 -:10297000CF911F910C94B315E12FF0E0E85EFE4F6C -:10298000449150E0FA013197EF30F10508F06CC046 -:10299000E859FF4F0C944E1F84B5806884BDC7BDB5 -:1029A00068C084B5806284BDC8BD63C0809180006A -:1029B000806880938000D0938900C093880059C0BC -:1029C00080918000806280938000D0938B00C093C0 -:1029D0008A004FC080918000886080938000D093EF -:1029E0008D00C0938C0045C08091900080688093DA -:1029F0009000D0939900C09398003BC080919000C4 -:102A0000806280939000D0939B00C0939A0031C065 -:102A100080919000886080939000D0939D00C09337 -:102A20009C0027C08091C00080688093C000809186 -:102A3000C0008F7B8093C000C093CF001AC08091EC -:102A4000C00080628093C000C093D00012C080910B -:102A5000C20088608093C2008091C2008B7F809307 -:102A6000C200C093D20005C0C038D1050CF07DCFA4 -:102A700077CFDF91CF911F91089590E0FC013197BE -:102A8000EF30F105B0F5E958FF4F0C944E1F8091DF -:102A900080008F7703C0809180008F7D80938000BD -:102AA000089580918000877FF9CF84B58F7702C029 -:102AB00084B58F7D84BD0895809190008F7707C085 -:102AC000809190008F7D03C080919000877F8093DC -:102AD000900008958091C0008F7703C08091C0005E -:102AE0008F7D8093C00008958091C200877F80937E -:102AF000C2000895CF93DF9390E0FC01E95CFE4FA4 -:102B00002491FC01EA5AFE4F8491882349F190E018 -:102B1000880F991FFC01EF56FE4FA591B4918D5778 -:102B20009E4FFC01C591D4919FB7611108C0F894E4 -:102B30008C91209582238C93888182230AC06230F5 -:102B400051F4F8948C91322F309583238C938881A3 -:102B5000822B888304C0F8948C91822B8C939FBF26 -:102B6000DF91CF9108950F931F93CF93DF931F921F -:102B7000CDB7DEB7282F30E0F901E85EFE4F849133 -:102B8000F901E95CFE4F1491F901EA5AFE4F0491F4 -:102B90000023C9F0882321F069830E943D156981D3 -:102BA000E02FF0E0EE0FFF1FED57FE4FA591B4911F -:102BB0009FB7F8948C91611103C01095812301C0D7 -:102BC000812B8C939FBF0F90DF91CF911F910F911D -:102BD0000895CF93DF93282F30E0F901E85EFE4F90 -:102BE0008491F901E95CFE4FD491F901EA5AFE4F54 -:102BF000C491CC2391F081110E943D15EC2FF0E09F -:102C0000EE0FFF1FEB58FE4FA591B4912C912D2391 -:102C100081E090E021F480E002C080E090E0DF916C -:102C2000CF910895CF93DF931F92CDB7DEB769831D -:102C3000DC01ED91FC910280F381E02D41E050E058 -:102C4000BE016F5F7F4F09950F90DF91CF9108957F -:102C5000CF93DF93EC018C859D8597FF05C082E0C3 -:102C60000E94BC1A9D878C878C859D85DF91CF91B2 -:102C7000089583E00C94501DFC018485958597FD93 -:102C800006C082E00E94641A90E00196089582E0F6 -:102C90000E94641A90E00895FC018485958597FD53 -:102CA00005C02FEF3FEF35872487089582E00C940D -:102CB000BC1ACF93DF93EC0180911901882331F086 -:102CC00083E00E94ED1A1816190634F081E090E0B6 -:102CD0009B838A8380E090E0DF91CF910895FC018F -:102CE00020812E5F208342E450E06FE971E080E8AC -:102CF0000C94881BFC0121818081813A59F4213296 -:102D000009F04BC047E050E062E171E080E00E94D2 -:102D1000881B5EC0813209F040C0233289F4838170 -:102D200090E0982F88273281832BA0E0B0E0809339 -:102D30000E0190930F01A0931001B09311010FC0E9 -:102D4000203239F467E070E082E191E00E94B91B23 -:102D500009C0223221F482818093190103C02D7FA2 -:102D60002032B1F580917505811103C0E0E0F8E0F3 -:102D700002C0EEEFFAE08091120190911301A09150 -:102D80001401B0911501803B9440A105B10511F5E6 -:102D90008091190180FF03C01DC080E00895EE3FBF -:102DA0002AE0F20731F0808191819093FF0A8093AD -:102DB000FE0A87E797E7918380832BE088E190E024 -:102DC0000FB6F894A895809360000FBE2093600022 -:102DD00081E0089588E10FB6F89480936000109226 -:102DE00060000FBEA895EE3F8AE0F80739F08091A9 -:102DF000FE0A9091FF0A91838083EACF1092FF0A26 -:102E00001092FE0AE5CF2FEF3FEFFC0135872487B4 -:102E10000895109228051092270588EE93E0A0E00F -:102E2000B0E08093290590932A05A0932B05B093D9 -:102E30002C058EE092E090932605809325058FEF78 -:102E40009FEF90933205809331050895FC01818DA9 -:102E5000228D90E0805C9F4F821B91098F73992790 -:102E60000895FC01918D828D981731F0828DE80FC5 -:102E7000F11D858D90E008958FEF9FEF0895FC017F -:102E8000918D828D981761F0828DDF01A80FB11DA1 -:102E90005D968C91928D9F5F9F73928F90E00895C5 -:102EA0008FEF9FEF089581E698E1892B49F080E04C -:102EB00090E0892B29F00E94611881110C94000088 -:102EC0000895FC01848DDF01A80FB11DA35ABF4FE7 -:102ED0002C91848D90E001968F739927848FA68919 -:102EE000B7892C93A089B1898C9180648C93938D40 -:102EF000848D981306C00288F389E02D80818F7D30 -:102F000080830895CF93DF93EC01888D8823C9F0E7 -:102F1000EA89FB89808185FD05C0A889B9898C91E2 -:102F200086FD0FC00FB607FCF5CF808185FFF2CF7D -:102F3000A889B9898C9185FFEDCFCE010E946117D8 -:102F4000E7CFDF91CF910895CF92DF92FF920F9359 -:102F50001F93CF93DF931F92CDB7DEB76C0181E053 -:102F6000D60158968C9358975B969C915B975C968C -:102F70008C915C97981307C05096ED91FC915197F6 -:102F8000808185FD2EC0F601038D10E00F5F1F4F7D -:102F90000F731127F02EF601848DF81211C00FB6B1 -:102FA00007FCF9CFD6015096ED91FC9151978081A5 -:102FB00085FFF1CFC60169830E9461176981EBCF5C -:102FC000838DE80FF11DE35AFF4F6083D6015B96B6 -:102FD0000C935B975296ED91FC91539780818062A0 -:102FE0000CC0D6015696ED91FC9157976083509690 -:102FF000ED91FC91519780818064808381E090E025 -:103000000F90DF91CF911F910F91FF90DF90CF90A4 -:1030100008951F920F920FB60F9211242F938F9342 -:103020009F93EF93FF93E0918605F0918705808150 -:10303000E0918C05F0918D0582FD12C09081809108 -:103040008F058F5F8F7320919005821751F0E0916B -:103050008F05F0E0EA58FA4F958F80938F0501C0F5 -:103060008081FF91EF919F918F912F910F900FBED3 -:103070000F901F9018951F920F920FB60F92112468 -:103080002F933F934F935F936F937F938F939F9370 -:10309000AF93BF93EF93FF9386E795E00E9461178C -:1030A000FF91EF91BF91AF919F918F917F916F9120 -:1030B0005F914F913F912F910F900FBE0F901F90F6 -:1030C000189586E795E00E94261721E0892B09F4E0 -:1030D00020E0822F0895109279051092780588EEED -:1030E00093E0A0E0B0E080937A0590937B05A093F5 -:1030F0007C05B0937D058EE192E0909377058093F7 -:1031000076058DEC90E090938305809382058CEC9E -:1031100090E0909385058093840588EC90E09093EF -:1031200087058093860589EC90E0909389058093CC -:1031300088058AEC90E090938B0580938A058EEC4D -:1031400090E090938D0580938C0510928F051092DE -:10315000900510929105109292050895AF92BF923A -:10316000CF92DF92EF92FF920F931F93CF93DF9353 -:103170006C017B01C0E0D0E000E010E0F601EC0F54 -:10318000FD1F4AE050E06281C7010E94A4195C0162 -:103190006EE2C7010E9441198A0D9B1D080F191F7D -:1031A0002196C330D10551F74AE050E0F601658120 -:1031B000C7010E94A419800F911FDF91CF911F9129 -:1031C0000F91FF90EF90DF90CF90BF90AF90089558 -:1031D0000F93FC018EE292E09183808362834383AC -:1031E000248305830F9108958EE292E09093140654 -:1031F0008093130610921506109216061092170669 -:10320000109218060895CF92DF92EF92FF920F93DB -:103210001F93CF93DF937C016A01EB0100E010E084 -:103220000C151D0571F06991D701ED91FC9101908C -:10323000F081E02DC7010995892B19F00F5F1F4F11 -:10324000EFCFC801DF91CF911F910F91FF90EF90C9 -:10325000DF90CF9008956115710581F0DB010D902D -:103260000020E9F7AD0141505109461B570BDC0125 -:10327000ED91FC910280F381E02D099480E090E0D3 -:103280000895DC01ED91FC910190F081E02D09940D -:103290008F929F92AF92BF92DF92EF92FF920F9325 -:1032A0001F93CF93DF93CDB7DEB7A1970FB6F894F6 -:1032B000DEBF0FBECDBF7C01F42FD52ECB0119A2EE -:1032C000223008F42AE08E010F5D1F4F822E912CD0 -:1032D000A12CB12C6F2F7D2DA50194010E940D1FF3 -:1032E000F22FD32ECA01015011096A3014F4E0E321 -:1032F00001C0E7E3E60FD801EC93232B242B252B09 -:1033000049F7B801C7010E942B19A1960FB6F8948E -:10331000DEBF0FBECDBFDF91CF911F910F91FF9008 -:10332000EF90DF90BF90AF909F908F900895211500 -:10333000310541F4DC01ED91FC910190F081E02D2B -:10334000642F09940C9448199A01462F50E060E0CC -:1033500070E00C949719615030F02091F100FC015D -:1033600020830196F8CF289884E68093220608955A -:1033700040911D0650911E0620911B0630911C069F -:1033800042175307B4F49091E8009570E1F39091DF -:10339000E80092FD19C08093F10080911D06909184 -:1033A0001E0601968F739927892B19F48EEF80934F -:1033B000E80080911D0690911E06019690931E06CE -:1033C00080931D0681E0089580E00895CF92DF92FA -:1033D000EF92FF920F931F93CF93DF931F92CDB77E -:1033E000DEB7082F162FF42E862F880F8E5F998355 -:1033F0000E94B81983E00E94B819E02EC02E99816E -:10340000D92E8C2D8E19811798F4F601F7FE02C083 -:10341000849101C080810E94B819082F80E00E9429 -:10342000B8198023FFEFCF1ADF0A8111EACF01C05C -:1034300081E00F90DF91CF911F910F91FF90EF905E -:10344000DF90CF9008958091D70081608093D7005E -:1034500080EA8093D80089B58F7E89BD89B5826066 -:1034600089BD09B400FEFDCF61E070E080E090E02E -:103470000E94DC138091D8008F7C80618093D800FB -:103480008091E000807F8093E0000895CF93DF93E8 -:103490001F92CDB7DEB71982CE0101960E946F163A -:1034A0000E94DD1EBE016F5F7F4F0E94561E898104 -:1034B0000F90DF91CF9108952FB7FC012083F894EE -:1034C00067706093E9000895CF93DF931F92CDB7A3 -:1034D000DEB7682FCE0101960E945C1A8091F2003F -:1034E00099819FBF0F90DF91CF910895FF920F9325 -:1034F0001F93CF93DF9300D0CDB7DEB7F62E8A01AE -:1035000090912106992311F057FF03C08FEF9FEF91 -:103510002BC0682FCE0101967A830E945C1A80919D -:10352000F20090E0A8017A81801791070CF4AC01B9 -:10353000EF2DF72FF40E84E6FE1639F028988093CD -:1035400022069091F1009193F7CF4115510521F09A -:103550008091F200882321F089818FBFCA0104C0C5 -:103560008BE68093E800F8CF0F900F90DF91CF911A -:103570001F910F91FF900895CF93DF931F92CDB7C6 -:10358000DEB741E050E0BE016F5F7F4F0E94761AC8 -:10359000019719F4898190E002C08FEF9FEF0F909F -:1035A000DF91CF910895CF93DF931F92CDB7DEB710 -:1035B000682FCE0101960E945C1A9091E800892F35 -:1035C000807295FF04C09091F20080E4891B99817C -:1035D0009FBF0F90DF91CF9108956F927F928F924E -:1035E0009F92AF92BF92CF92DF92EF92FF920F9392 -:1035F0001F93CF93DF931F92CDB7DEB7782E7B0159 -:10360000C42EB52E80912106882369F0042F152F32 -:103610008AEFD82E872D8072982E9AE3A92E872DB7 -:103620008074882E11C08FEF9FEF57C0872D0E94A6 -:10363000D31A682E81110CC0DA94A9F361E070E00E -:1036400080E090E00E94DC130115110579F73BC082 -:10365000282F30E0021713070CF4602E672DCE01DF -:1036600001960E945C1A8091E80085FF29C0262DF2 -:1036700030E0021B130B992039F06A948FEF681623 -:10368000B1F01092F100F9CFF701862D77FE07C057 -:10369000815058F094919093F1003196F9CF815078 -:1036A00020F091919093F100FACFE20EF31E8091F9 -:1036B000E80085FF0FC00115110511F481100AC043 -:1036C00089818FBFC1CF5D9884E6809323068C2DBE -:1036D0009B2D03C0A092E800F3CF0F90DF91CF9114 -:1036E0001F910F91FF90EF90DF90CF90BF90AF9020 -:1036F0009F908F907F906F9008951092E9001092A4 -:103700001E0610921D0690931C0680931B060895BA -:10371000CF92DF92FF920F931F93CF93DF9300D04E -:10372000CDB7DEB7F82E8A016B0101151105B1F096 -:10373000F601F7FE02C0849101C0808149835A835B -:103740000E94B81901501109FFEFCF1ADF0A498111 -:103750005A818111EACF8FEF9FEF01C0CA010F900C -:103760000F90DF91CF911F910F91FF90DF90CF903D -:103770000895BF92CF92DF92EF92FF920F931F9323 -:10378000CF93DF936C018B01EB013BEFB32E2097BE -:10379000C1F07E01C134D1051CF020E4E22EF12CF1 -:1037A0008091E80082FFFCCFC8018C1B9D0B6E2D21 -:1037B0008C0D9D1D0E94AB19B092E800CE19DF0957 -:1037C000E6CFC801DF91CF911F910F91FF90EF904D -:1037D000DF90CF90BF9008951F920F920FB60F9277 -:1037E0001124DF92EF92FF920F931F932F933F9339 -:1037F0004F935F936F937F938F939F93AF93BF93F9 -:10380000EF93FF93CF93DF93CDB7DEB76C97DEBF17 -:10381000CDBF1092E9008091E80083FF23C168E0EA -:10382000CE0145960E94AB1982EF8093E8003D8956 -:1038300037FF05C08091E80080FFFCCF03C08EEF0A -:103840008093E800832F807609F0F0C02E894F899D -:10385000D88C21110CC0303829F480912006809337 -:10386000F10002C01092F1001092F100F4C0842F18 -:1038700090E09D29213049F43111EDC0019709F004 -:10388000EAC0809120068D7F0AC0233059F431119F -:10389000E2C0019709F0DFC080912006826080932A -:1038A0002006D9C0253041F48091E80080FFFCCF8C -:1038B00040684093E300CFC0263009F08DC0EB8C08 -:1038C000FC8C22E0D2122CC080E090E00E947D1B94 -:1038D0000E94461A99E08E010F5F1F4FF801292FB1 -:1038E00011922A95E9F79983DA8291E09E8390EA12 -:1038F00098879AEF998720911D0630911E06275FC1 -:103900003F4F3C832B838D83C7010E947D1B49E081 -:1039100050E0B80180E00E94881B0E94461A9BC0BC -:10392000C7010E947D1B0E94DD1EBE016B5E7F4FA2 -:103930000E947F1E009719F00CF08DC090C081E0AE -:10394000D8120EC08B8D9C8D089719F481E080935E -:103950001A0680911A0681112FC063EF71E031C001 -:10396000E3E0DE127CC08F89882349F1823029F49C -:1039700040E86BE08EE092E01CC0813029F440E822 -:1039800068E085E092E015C0833009F068C00E94CD -:10399000DD1E8E010F5F1F4FB8010E949E1EF801B1 -:1039A00001900020E9F73197E01BF10B40E06E2F0A -:1039B000C8010E94E6194DC061EE71E002C06AE1E3 -:1039C00072E06115710509F44AC0FB01449150E0B1 -:1039D00080E80E94881B3FC0273009F440C028308F -:1039E00021F481E08093F10036C02930A1F53370D5 -:1039F000B1F5EBE1F1E081E021E036E3908199233C -:103A000061F08093E9002093EB0091919093EC009A -:103A10003093ED008F5F873089F78EE78093EA005F -:103A20001092EA008F898093210615C08B8D9C8DA2 -:103A30000E947D1B898D811105C0CE0145960E9493 -:103A40007A1607C00E94DD1EBE016B5E7F4F0E948A -:103A5000BD1E882321F08EEF8093E80003C081E231 -:103A60008093EB006C960FB6F894DEBF0FBECDBF0F -:103A7000DF91CF91FF91EF91BF91AF919F918F9186 -:103A80007F916F915F914F913F912F911F910F9176 -:103A9000FF90EF90DF900F900FBE0F901F90189542 -:103AA0008093E9008091F200882319F08AE38093E3 -:103AB000E80008951F920F920FB60F9211242F93D2 -:103AC0003F934F935F936F937F938F939F93AF93A6 -:103AD000BF93CF93EF93FF93C091E1008091E100FA -:103AE000837F8093E1008093E100C3FF0FC01092B9 -:103AF000E90081E08093EB001092EC0082E3809378 -:103B0000ED001092210688E08093F000C2FF19C0FA -:103B100083E00E94501D80912306882339F0809114 -:103B20002306815080932306882389F18091220601 -:103B3000882339F0809122068150809322068823C1 -:103B400041F1C4FF10C08091E2008E7E81608093BD -:103B5000E2008091E1008F7E8093E10080911F065A -:103B60008E7E806111C0C0FF16C08091E2008E7E03 -:103B700080618093E2008091E1008E7E8093E1007D -:103B800080911F068E7E816080931F0604C05D9A1F -:103B9000CDCF289AD6CFFF91EF91CF91BF91AF9122 -:103BA0009F918F917F916F915F914F913F912F9155 -:103BB0000F900FBE0F901F90189510922106109233 -:103BC000200610921F060E94231A8091E1008E7E2B -:103BD0008093E1008DE08093E200559A209AEEEF09 -:103BE000FFE7859194918B3F9C4D19F481E0809380 -:103BF000750508954F925F926F927F92AF92BF9238 -:103C0000CF92DF92EF92FF920F931F93CF93DF93A8 -:103C1000CDB7DEB729013A01621B730B840B950BFC -:103C200029893A894B895C892A193B094C095D0924 -:103C3000298B3A8B4B8B5C8B9B01AC0169897A8910 -:103C40008B899C890E94F11EE418F5080609170962 -:103C5000A80197010E942F1F2A0D3B1D4C1D5D1DC1 -:103C6000CA01B901DF91CF911F910F91FF90EF90A1 -:103C7000DF90CF90BF90AF907F906F905F904F900C -:103C8000089508950E941F140E94411E89E196E044 -:103C90000E94DD1D0E940506C3E5D7E10E942209AE -:103CA0002097E1F30E945317F9CF0895EF92FF9206 -:103CB0000F931F93CF93DF937B01FC01C281D381CC -:103CC00000E010E0209781F0E881F9810280F38123 -:103CD000E02DB701CE01099597FD08C0080F191F07 -:103CE0000884D985C02DEECFC80102C08FEF9FEFA9 -:103CF000DF91CF911F910F91FF90EF9008950F9357 -:103D00001F93CF93DF938B01FC01C281D381209756 -:103D100071F0E881F9810480F581E02DB801CE01D0 -:103D20000995009731F40884D985C02DF0CF80E043 -:103D300090E0DF91CF911F910F9108950F931F9302 -:103D4000CF93DF938B01FC01C281D381209771F067 -:103D5000E881F9810680F781E02DB801CE0109954F -:103D6000080F111D0884D985C02DF0CFF8011082ED -:103D7000DF91CF911F910F9108950F931F93CF93D0 -:103D8000DF938B01FC01C281D381209771F0E88120 -:103D9000F9810190F081E02DB801CE0109958111E2 -:103DA00006C00884D985C02DF0CF80E001C081E035 -:103DB000DF91CF911F910F91089580912806811175 -:103DC0000DC082E08093240684E080932506109243 -:103DD00027061092260681E08093280684E296E06A -:103DE0000895DB018F939F930E94541FBF91AF9161 -:103DF000A29F800D911DA39F900DB29F900D112445 -:103E00000895991B79E004C0991F961708F0961B36 -:103E1000881F7A95C9F780950895A1E21A2EAA1BEA -:103E2000BB1BFD010DC0AA1FBB1FEE1FFF1FA2176A -:103E3000B307E407F50720F0A21BB30BE40BF50B67 -:103E4000661F771F881F991F1A9469F760957095F0 -:103E5000809590959B01AC01BD01CF010895052E81 -:103E600097FB1EF400940E94461F57FD07D00E9446 -:103E70000D1F07FC03D04EF40C94461F509540953F -:103E8000309521953F4F4F4F5F4F08959095809506 -:103E9000709561957F4F8F4F9F4F0895EE0FFF1FD5 -:103EA0000590F491E02D09940E945F1FA59F900D4D -:103EB000B49F900DA49F800D911D11240895A29F81 -:103EC000B001B39FC001A39F700D811D1124911DEE -:103ED000B29F700D811D1124911D0895CF93DF9322 -:103EE0008230910510F482E090E0E0913206F0918A -:103EF000330620E030E0A0E0B0E0309739F14081B7 -:103F0000518148175907B8F04817590771F4828151 -:103F10009381109729F013969C938E9312972CC03F -:103F2000909333068093320627C02115310531F076 -:103F30004217530718F0A901DB0101C0EF019A01F4 -:103F4000BD01DF010280F381E02DD7CF21153105BE -:103F5000F9F0281B390B2430310580F48A819B81CC -:103F60006115710521F0FB019383828304C0909356 -:103F7000330680933206FE01329644C0FE01E20F02 -:103F8000F31F8193919322503109398328833AC0DA -:103F90002091300630913106232B41F4209102010B -:103FA00030910301309331062093300620910001B7 -:103FB000309101012115310541F42DB73EB74091F3 -:103FC000040150910501241B350BE0913006F0915E -:103FD0003106E217F307A0F42E1B3F0B2817390711 -:103FE00078F0AC014E5F5F4F2417350748F04E0F55 -:103FF0005F1F50933106409330068193919302C026 -:10400000E0E0F0E0CF01DF91CF910895CF93DF930F -:10401000009709F487C0FC01329713821282C09185 -:104020003206D0913306209781F420813181280F08 -:10403000391F80913006909131068217930779F5E8 -:10404000F0933106E09330066DC0DE0120E030E0F1 -:10405000AE17BF0750F412964D915C9113979D01D6 -:104060004115510509F1DA01F3CFB383A2834081F1 -:104070005181840F951F8A179B0771F48D919C9134 -:104080001197840F951F02969183808312968D91CC -:104090009C911397938382832115310529F4F09322 -:1040A0003306E09332063EC0D9011396FC93EE939B -:1040B00012974D915D91A40FB51FEA17FB0779F494 -:1040C00080819181840F951F0296D90111969C934E -:1040D0008E938281938113969C938E931297E0E046 -:1040E000F0E08A819B81009719F0FE01EC01F9CF85 -:1040F000CE01029628813981820F931F20913006CC -:10410000309131062817390769F4309729F4109255 -:1041100033061092320602C013821282D093310607 -:10412000C0933006DF91CF910895FB01DC0141502F -:10413000504048F001900D920020C9F701C01D9237 -:1041400041505040E0F70895FC0181E090E001907B -:10415000061609F4CF010020D1F701970895FB015D -:1041600051915523A9F0BF01DC014D914517411133 -:10417000E1F759F4CD010190002049F04D9140152F -:104180004111C9F3FB014111EFCF81E090E00197AC -:064190000895F894FFCF32 -:1041960000003406800001000000FF130001FFFF4D -:1041A600FFFF00E100000000000000C18081000068 -:1041B600004D617820736572766F73206174746147 -:1041C6006368656400556E6B6E6F776E2070696EFE -:1041D600206D6F6465002F746D702F617672706943 -:1041E6007A7A612F30646330333634302D6261342D -:1041F600312D313165362D613737642D35623264A4 -:1042060066313233653563632F736B657463682F6C -:10421600736B657463682E696E6F004932433A208A -:10422600546F6F206D616E792062797465732072A8 -:1042360065636569766564004932433A20546F6F59 -:104246002066657720627974657320726563656997 -:104256007665640031302D6269742061646472652C -:104266007373696E67206E6F7420737570706F72EA -:1042760074656400746F6F206D616E792071756569 -:10428600726965730000000000200CF30BC80BD0A8 -:104296000BE30BF20B2E6370700000000000121689 -:1042A60059163C164C162816391600000000A4179D -:1042B600031926173F173117821700000000AE18A2 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/mega/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/mega/Blink.cpp.hex deleted file mode 100644 index d377149f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/mega/Blink.cpp.hex +++ /dev/null @@ -1,104 +0,0 @@ -:1000000001C100001FC100001DC100001BC1000094 -:1000100019C1000017C1000015C1000013C1000084 -:1000200011C100000FC100000DC100000BC1000094 -:1000300009C1000007C1000005C1000003C10000A4 -:1000400001C10000FFC00000FDC00000FBC00000B7 -:10005000F9C00000F7C00000F5C000000AC10000B0 -:10006000F1C00000EFC00000EDC00000EBC00000D8 -:10007000E9C00000E7C00000E5C00000E3C00000E8 -:10008000E1C00000DFC00000DDC00000DBC00000F8 -:10009000D9C00000D7C00000D5C00000D3C0000008 -:1000A000D1C00000CFC00000CDC00000CBC0000018 -:1000B000C9C00000C7C00000C5C00000C3C0000028 -:1000C000C1C00000BFC00000BDC00000BBC0000038 -:1000D000B9C00000B7C00000B5C00000B3C0000048 -:1000E000B1C0000000002100240027002A002D00DC -:1000F0003000330001010000040107010A01000083 -:100100002200250028002B002E00310034000201BF -:100110000000050108010B0100002000230026005B -:1001200029002C002F00320000010000030106010D -:10013000090105050505070508080808020202026D -:100140000A0A080804040404010101010101010173 -:100150000303030303030303040707070C0C0C0C3E -:100160000C0C0C0C02020202060606060606060627 -:100170000B0B0B0B0B0B0B0B0102102020080810B4 -:100180002040102040800201020108040201010207 -:1001900004081020408080402010080402018004E0 -:1001A000020180402010080402010804020101023B -:1001B0000408102040800102040810204080000044 -:1001C000090A02080B0C0D070603040100000000D9 -:1001D000000000000000000000000000000000001F -:1001E0000000000000000000000011100F000000DF -:1001F00000000000000000000000000000000000FF -:100200000000000011241FBECFEFD1E2DEBFCDBF42 -:1002100000E00CBF12E0A0E0B2E0EEE5F6E000E0A6 -:100220000BBF02C007900D92A230B107D9F71BBED9 -:1002300012E0A2E0B2E001C01D92AB30B107E1F7DD -:1002400000D20BC2DDCE8091000261E0C8D168EE21 -:1002500073E080E090E055D08091000260E0BFD173 -:1002600068EE73E080E090E04CC08091000261E0B5 -:1002700003C11F920F920FB60F9211242F933F9339 -:100280008F939F93AF93BF93809106029091070243 -:10029000A0910802B091090230910A020196A11DB5 -:1002A000B11D232F2D5F2D3720F02D570196A11D55 -:1002B000B11D20930A028093060290930702A09337 -:1002C0000802B09309028091020290910302A0916A -:1002D0000402B09105020196A11DB11D8093020296 -:1002E00090930302A0930402B0930502BF91AF91D3 -:1002F0009F918F913F912F910F900FBE0F901F9064 -:1003000018959B01AC017FB7F894809102029091FF -:100310000302A0910402B091050266B5A89B05C036 -:100320006F3F19F00196A11DB11D7FBFBA2FA92FF4 -:10033000982F8827860F911DA11DB11D62E0880F9F -:10034000991FAA1FBB1F6A95D1F7BC012DC0FFB72B -:10035000F8948091020290910302A0910402B0915E -:100360000502E6B5A89B05C0EF3F19F00196A11D57 -:10037000B11DFFBFBA2FA92F982F88278E0F911D6F -:10038000A11DB11DE2E0880F991FAA1FBB1FEA95AE -:10039000D1F7861B970B885E9340C8F221503040FE -:1003A0004040504068517C4F2115310541055105B1 -:1003B00071F60895789484B5826084BD84B58160B7 -:1003C00084BD85B5826085BD85B5816085BDEEE65D -:1003D000F0E0808181608083E1E8F0E0108280813C -:1003E00082608083808181608083E0E8F0E08081AA -:1003F00081608083E1EBF0E0808184608083E0EBCA -:10040000F0E0808181608083E1E9F0E080818260BA -:100410008083808181608083E0E9F0E08081816079 -:100420008083E1EAF0E08081826080838081816066 -:100430008083E0EAF0E0808181608083E1E2F1E0A6 -:10044000808182608083808181608083E0E2F1E04E -:10045000808181608083EAE7F0E08081846080832E -:1004600080818260808380818160808380818068D8 -:1004700080831092C1000895CF93DF93482F50E0FE -:10048000CA0188589E4FFC0134914E5C5E4FFA01C0 -:100490008491882369F190E0880F991FFC01EC5149 -:1004A000FF4FA591B491FC01E250FF4FC591D4914B -:1004B000662351F42FB7F8948C91932F909589234C -:1004C0008C93888189230BC0623061F42FB7F89434 -:1004D0008C91932F909589238C938881832B88838B -:1004E0002FBF06C09FB7F8948C91832B8C939FBF2E -:1004F000DF91CF910895893009F449C08A30A0F482 -:10050000843051F1853040F4823079F1833000F548 -:10051000813009F063C026C0873079F1883098F5C2 -:10052000863009F05BC025C08D3009F442C08E30A2 -:1005300028F48B30B1F18C30C0F52DC0803109F436 -:1005400042C0813109F445C08F3009F047C037C03F -:10055000809180008F7703C0809180008F7D809391 -:100560008000089584B58F7702C084B58F7D84BDE7 -:1005700008958091B0008F7703C08091B0008F7D87 -:100580008093B0000895809190008F7707C080918C -:1005900090008F7D03C080919000877F80939000B2 -:1005A00008958091A0008F7707C08091A0008F7D73 -:1005B00003C08091A000877F8093A0000895809160 -:1005C00020018F7703C0809120018F7D80932001CF -:1005D000089580912001877F809320010895FF92E4 -:1005E0000F931F93F62E482F50E0CA0182549E4F5E -:1005F000FC012491CA0188589E4FFC0114914E5C65 -:100600005E4FFA0104910023C1F0222311F0822FE2 -:1006100072DFE02FF0E0EE0FFF1FE250FF4FA591D9 -:10062000B4919FB7F894FF2021F48C911095812309 -:1006300002C08C91812B8C939FBF1F910F91FF90D3 -:100640000895CF93DF93B6DE10DEC0E0D0E0FBDD8F -:0E0650002097E9F30E940000FACFF894FFCF44 -:02065E000D008D -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/mega/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/mega/StandardFirmata.cpp.hex deleted file mode 100644 index 1c9f90b9..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/mega/StandardFirmata.cpp.hex +++ /dev/null @@ -1,985 +0,0 @@ -:1000000005C1000030C100002EC100002CC100005D -:100010002AC1000028C1000026C1000024C1000040 -:1000200022C1000020C100001EC100001CC1000050 -:100030001AC1000018C1000016C1000014C1000060 -:1000400012C100000C942F0D0EC100000CC1000065 -:100050000AC1000008C1000006C100000C9452153E -:1000600002C100000C9494180C94D819FCC0000034 -:10007000FAC00000F8C00000F6C00000F4C00000A4 -:100080000C94020DF0C00000EEC00000ECC00000B7 -:100090000C94D4180C94171AE6C000000C94F00EBF -:1000A000E2C00000E0C000000C94D50CDCC00000F1 -:1000B000DAC00000D8C00000D6C000000C94A80C24 -:1000C000D2C00000D0C00000CEC000000C941419B3 -:1000D0000C94561AC8C000000C9454190C94951A2C -:1000E000C2C0000000002100240027002A002D00CB -:1000F0003000330001010000040107010A01000083 -:100100002200250028002B002E00310034000201BF -:100110000000050108010B0100002000230026005B -:1001200029002C002F00320000010000030106010D -:10013000090105050505070508080808020202026D -:100140000A0A080804040404010101010101010173 -:100150000303030303030303040707070C0C0C0C3E -:100160000C0C0C0C02020202060606060606060627 -:100170000B0B0B0B0B0B0B0B0102102020080810B4 -:100180002040102040800201020108040201010207 -:1001900004081020408080402010080402018004E0 -:1001A000020180402010080402010804020101023B -:1001B0000408102040800102040810204080000044 -:1001C000090A02080B0C0D070603040100000000D9 -:1001D000000000000000000000000000000000001F -:1001E0000000000000000000000011100F000000DF -:1001F00000000000000000000000000000000000FF -:10020000000000009701960D2112041C11241FBE4E -:10021000CFEFD1E2DEBFCDBF00E00CBF12E0A0E027 -:10022000B2E0EEE9FCE300E00BBF02C007900D92E4 -:10023000A03EB107D9F71BBE18E0A0EEB2E001C0A6 -:100240001D92A73EB107E1F712E0CCE0D2E004C076 -:100250002297FE010E94491EC430D107C9F70E94AF -:100260003A1D0C944D1ECCCEFB01DC014150504098 -:1002700048F001900D920020C9F701C01D92415035 -:100280005040E0F70895FC0181E090E001900616EF -:1002900009F4CF010020D1F701970895FB01519196 -:1002A0005523A9F0BF01DC014D9145174111E1F73C -:1002B00059F4CD010190002049F04D9140154111B4 -:1002C000C9F3FB014111EFCF81E090E00197089560 -:1002D000482F803118F52091E0023091E102672B20 -:1002E00081F481E090E002C0880F991F4A95E2F7FF -:1002F00080959095282339233093E1022093E002E2 -:10030000089581E090E002C0880F991F4A95E2F7B6 -:10031000282B392B3093E1022093E0020895893095 -:1003200028F4E82FF0E0EE51FD4F60830895CF935D -:10033000DF93C2E1D4E0CE010E942F0A239684E02D -:10034000C23AD807C1F7DF91CF910895EF92FF929B -:100350000F931F93CF93DF93062F893008F078C057 -:1003600090E00196682F660F660F660F019767345D -:1003700008F066E423E0880F991F2A95E1F7F82E2C -:10038000482FEE2451E0A02FB0E0C1E0D0E01EC025 -:10039000842F82508434C0F4242F30E0F901EC50D3 -:1003A000FD4F8081823080F4E52AF901EE0FFF1FB6 -:1003B000ED5BFC4F11821082852F90E08A239B23F6 -:1003C000892B11F0D183C083550F4F5F461700F37F -:1003D0001E2DE0FE05C0602F61708F2D0E94321827 -:1003E00011FF06C0602F62708F2D8F5F0E94321840 -:1003F00012FF06C0602F64708F2D8E5F0E9432182E -:1004000013FF06C0602F68708F2D8D5F0E94321819 -:1004100014FF06C0602F60718F2D8C5F0E94321810 -:1004200015FF06C0602F60728F2D8B5F0E943218FF -:1004300016FF06C0602F60748F2D8A5F0E943218ED -:10044000E7FE06C000788F2D895F602F0E9432186A -:10045000DF91CF911F910F91FF90EF9008950F932F -:100460001F93CF93DF93982F8B01863450F5C82FBD -:10047000D0E0FE01EC50FD4FE081E33091F0E4303C -:1004800001F592509033B8F49E0122503040C901DA -:10049000880F991F820F931F8E5E9B4F0E94CA0A7E -:1004A0000AC082508C3018F08A52833020F4892F91 -:1004B000B8010E94A116CC0FDD1FCD5BDC4F198364 -:1004C0000883DF91CF911F910F910895AF92BF9252 -:1004D000DF92EF92FF920F931F93DF93CF930F92D0 -:1004E000CDB7DEB7D82E7B01082F10E0F801EC5015 -:1004F000FD4F8081863061F480910F04882341F0A4 -:100500006630710529F010920F048FEF8093B802C6 -:100510009D2D925099839033B0F4E4E0EE16F104EF -:1005200091F0C80102975C01AA0CBB1CA80EB91E71 -:1005300082E194E0A80EB91EC5010E94B80A882382 -:1005400011F0C501A6D74D2D46534031B8F4209186 -:10055000E0023091E10292E0E916F10409F0D4C022 -:1005600081E090E0042E02C0880F991F0A94E2F700 -:10057000282B392B3093E1022093E002E981E43407 -:1005800030F5ED2DE695E695E695980127703070EB -:10059000E114F10471F4F0E0E65CFC4F81E090E0DE -:1005A00002C0880F991F2A95E2F72081282B20830B -:1005B0000EC0F0E0E65CFC4F81E090E002C0880FE6 -:1005C000991F2A95E2F78095208182238083F80184 -:1005D000EE0FFF1FED5BFC4F11821082F2E0EF1671 -:1005E000F104E1F083E0E816F1044CF4E114F104C5 -:1005F00039F191E0E916F10409F07FC032C0E4E07E -:10060000EE16F10409F452C0F4E0EF16F104CCF157 -:1006100086E0E816F10409F070C064C0403108F0CB -:1006200080C09981943440F48D2D60E00E947F1742 -:100630008D2D60E00E9432180C501D4F82E05AC090 -:10064000F981F43408F06DC08D2D60E00E947F17B1 -:100650008D2D60E00E9432180C501D4FF801108261 -:1006600060C0F981F43408F05CC08D2D60E00E9418 -:1006700032188D2D61E00E947F170C501D4F81E0D4 -:1006800039C0F981FC3028F08D2D8C52833008F070 -:1006900048C08D2D61E00E947F178D2D60E070E0D5 -:1006A0000E94A1160C501D4F83E024C0F981F03345 -:1006B000C0F5F801EC50FD4F84E08083C80102973B -:1006C0007C01EE0CFF1CE80EF91E82E194E0E80EBE -:1006D000F91EC7014DD7882321F5C701B8010E9433 -:1006E000E10B1FC09CEED90EE1E0ED15D0F00C50EF -:1006F0001D4F86E0F801808314C087EF95E060E02D -:1007000072E00E949D120DC081E090E0042E02C0B4 -:10071000880F991F0A94E2F7809590952823392332 -:1007200029CF0F90CF91DF911F910F91FF90EF9004 -:10073000DF90BF90AF9008951F9380910F0488239E -:1007400029F010920F048FEF8093B80280E090E0C0 -:10075000FC01EE51FD4F1082FC01E65CFC4F108263 -:10076000FC01E551FD4F108201968930910581F71A -:1007700010E0812F8653803120F4812F62E070E0F9 -:1007800003C0812F61E070E0A1DE1F5F163489F79E -:100790001092E1021092E0021F9108950F931F93AF -:1007A00007EF15E0C80161E172E042E023E00E943A -:1007B0009113C80160EE4FE252E00E94DD11C801C2 -:1007C00060E946EA51E00E94DD11C80160EC48E6AC -:1007D00051E00E94DD11C80160ED4FE851E00E9438 -:1007E000DD11C80164EF46E652E00E94DD11C80148 -:1007F00060EF47EE57E00E940112C8016FEF4CE92D -:1008000053E00E94FB11C80140E051EE60E070E04F -:100810000E94041491DF1F910F9108951F9310E01F -:10082000812F8451823020F4812F66E070E04EDE0B -:100830001F5F1634A9F781E080930F048DE795E0E0 -:100840000E942E0E1F9108951F93CF93DF93282FA0 -:10085000162FC82FD0E0FE01E65CFC4F80811823E4 -:10086000442331F4FE01E551FD4F8081811751F0A1 -:1008700087EF95E0622F412F50E00E946F11C55124 -:10088000DD4F1883DF91CF911F910895FF920F9351 -:100890001F938091E2028823C1F1F0903A030F2D5B -:1008A000F2FE8CC282E00E946418892B09F486C291 -:1008B00014E003FF06C083E00E946418892B09F04E -:1008C000186004FF06C084E00E946418892B09F0B8 -:1008D000106105FF06C085E00E946418892B09F0AD -:1008E000106206FF06C086E00E946418892B09F09A -:1008F0001064F7FE06C087E00E946418892B09F097 -:10090000106880E0612F40E09FDF8091E302882340 -:1009100009F448C0F0903B030F2DF0FE51C288E06F -:100920000E946418892B09F44BC211E001FF06C034 -:1009300089E00E946418892B09F0126002FF06C04A -:100940008AE00E946418892B09F0146003FF06C036 -:100950008BE00E946418892B09F0186004FF06C020 -:100960008CE00E946418892B09F0106105FF06C015 -:100970008DE00E946418892B09F0106206FF06C002 -:100980008EE00E946418892B09F01064F7FE06C0FF -:100990008FE00E946418892B09F0106881E0612FB4 -:1009A00040E052DF8091E402882309F448C0F090CF -:1009B0003C030F2DF0FE06C280E10E946418892BD3 -:1009C00009F400C211E001FF06C081E10E94641831 -:1009D000892B09F0126002FF06C082E10E946418B0 -:1009E000892B09F0146003FF06C083E10E9464189C -:1009F000892B09F0186004FF06C084E10E94641886 -:100A0000892B09F0106105FF06C085E10E9464187A -:100A1000892B09F0106206FF06C086E10E94641867 -:100A2000892B09F01064F7FE06C087E10E94641864 -:100A3000892B09F0106882E0612F40E005DF80918A -:100A4000E502882309F448C0F0903D030F2DF0FE25 -:100A5000BBC188E10E946418892B09F4B5C111E07B -:100A600001FF06C089E10E946418892B09F0126019 -:100A700002FF06C08AE10E946418892B09F0146005 -:100A800003FF06C08BE10E946418892B09F01860EF -:100A900004FF06C08CE10E946418892B09F01061E4 -:100AA00005FF06C08DE10E946418892B09F01062D1 -:100AB00006FF06C08EE10E946418892B09F01064BD -:100AC000F7FE06C08FE10E946418892B09F01068B8 -:100AD00083E0612F40E0B8DE8091E602882309F4CC -:100AE00048C0F0903E030F2DF0FE70C180E20E94DE -:100AF0006418892B09F46AC111E001FF06C081E284 -:100B00000E946418892B09F0126002FF06C082E27D -:100B10000E946418892B09F0146003FF06C083E269 -:100B20000E946418892B09F0186004FF06C084E253 -:100B30000E946418892B09F0106105FF06C085E248 -:100B40000E946418892B09F0106206FF06C086E235 -:100B50000E946418892B09F01064F7FE06C087E232 -:100B60000E946418892B09F0106884E0612F40E02E -:100B70006BDE8091E702882309F448C0F0903F03C0 -:100B80000F2DF0FE25C188E20E946418892B09F41C -:100B90001FC111E001FF06C089E20E946418892B81 -:100BA00009F0126002FF06C08AE20E946418892BD5 -:100BB00009F0146003FF06C08BE20E946418892BC1 -:100BC00009F0186004FF06C08CE20E946418892BAB -:100BD00009F0106105FF06C08DE20E946418892BA0 -:100BE00009F0106206FF06C08EE20E946418892B8D -:100BF00009F01064F7FE06C08FE20E946418892B8A -:100C000009F0106885E0612F40E01EDE8091E80267 -:100C1000882309F448C0F09040030F2DF0FEDAC09D -:100C200080E30E946418892B09F4D4C011E001FF0D -:100C300006C081E30E946418892B09F0126002FF4C -:100C400006C082E30E946418892B09F0146003FF38 -:100C500006C083E30E946418892B09F0186004FF22 -:100C600006C084E30E946418892B09F0106105FF17 -:100C700006C085E30E946418892B09F0106206FF04 -:100C800006C086E30E946418892B09F01064F7FE01 -:100C900006C087E30E946418892B09F0106886E07B -:100CA000612F40E0D1DD8091E902882309F448C03A -:100CB000F09041030F2DF0FE8FC088E30E9464186E -:100CC000892B09F489C011E001FF06C089E30E9465 -:100CD0006418892B09F0126002FF06C08AE30E94A3 -:100CE0006418892B09F0146003FF06C08BE30E948F -:100CF0006418892B09F0186004FF06C08CE30E9479 -:100D00006418892B09F0106105FF06C08DE30E946D -:100D10006418892B09F0106206FF06C08EE30E945A -:100D20006418892B09F01064F7FE06C08FE30E9457 -:100D30006418892B09F0106887E0612F40E084DD9A -:100D40008091EA02882309F44BC080914203082F66 -:100D500080FF44C080E40E946418892B09F43EC0DF -:100D600011E001FF06C081E40E946418892B09F09C -:100D7000126002FF06C082E40E946418892B09F009 -:100D8000146003FF06C083E40E946418892B09F0F5 -:100D9000186004FF06C084E40E946418892B09F0DF -:100DA000106105FF06C085E40E946418892B09F0D4 -:100DB000106288E0612F40E047DD12C010E079CD7D -:100DC00010E0B4CD10E0FFCD10E04ACE10E095CE9B -:100DD00010E0E0CE10E02BCF10E076CF10E0C1CFD6 -:100DE0001F910F91FF900895EF92FF920F931F9321 -:100DF000CF93DF93F82EEB01E42E8FEF6F3F780750 -:100E000019F4C0E0D0E013C08DE795E06F2D54D603 -:100E10008DE795E06C2FD1D68DE795E00FD78091C7 -:100E2000100490911104009711F00E9401168DE7B3 -:100E300095E06F2D4E2D10D70E2D10E08DE795E02B -:100E400045D60817190789F4F092EF03C093F00311 -:100E5000C1EFD3E00C0F1D1F04C08DE795E03FD616 -:100E60008993C017D107C9F711C08DE795E02ED639 -:100E7000801791072CF487EF95E065E272E004C0DB -:100E800087EF95E06DE472E00E949D1282E0E80E2B -:100E900087EF95E067E74E2D2FEE33E00E94A1111A -:100EA000DF91CF911F910F91FF90EF900895AF9236 -:100EB000BF92CF92DF92EF92FF920F931F93CF9347 -:100EC000DF93E4DC04C087EF95E00E94E51287EF32 -:100ED00095E00E944911892BB1F70E949A15609301 -:100EE000CF037093D0038093D1039093D203A0904B -:100EF000D303B090D403C090D503D090D6032091F3 -:100F0000B6023091B70279010027F7FC0095102F47 -:100F10006A197B098C099D09E616F7060807190767 -:100F200008F04AC0EA0CFB1C0C1D1D1DE092D30307 -:100F3000F092D4030093D5031093D603C4EFD2E00C -:100F40001AEC1031C0F488818230A9F48091E0025B -:100F50009091E102012E02C0959587950A94E2F7DF -:100F600080FF09C0812F0E946D16AC0187EF95E0CC -:100F7000612F0E9455111F5F2196103111F780914A -:100F8000B80287FD19C010E00DC0F901EE0FFF1F78 -:100F9000E20FF31FE952FC4F6181808170E04281D2 -:100FA00023DF1F5F212F30E08091B802992787FD52 -:100FB0009095821793074CF7DF91CF911F910F9176 -:100FC000FF90EF90DF90CF90BF90AF900895BF92C9 -:100FD000CF92DF92EF92FF920F931F93CF93DF9305 -:100FE000162FEA018F3609F446C1803750F48B364C -:100FF00009F460C18D3609F4C1C1893609F025C2F2 -:101000000CC2863769F0873720F4803709F01DC29B -:10101000DFC0883709F4C3C08A3709F016C210C18F -:10102000898185FF05C087EF95E064E772E050C0D5 -:1010300068818871883041F1893018F4882341F043 -:1010400004C2803109F43CC0883109F0FEC160C09F -:101050008DE795E031D502E00DC0FE01E00FF11DF6 -:1010600061816795662767958081680F8DE795E0B8 -:10107000A4D50E5F011788F38DE795E0DFD586E4F0 -:1010800090E00E940116E1C19B818A81163071F4C3 -:10109000979599279795980F4D81479544274795A0 -:1010A0008C81480F862F692F70E008C0979599278B -:1010B0009795980F862F6FEF7FEF492F95DEC5C16B -:1010C0008091B80287303CF087EF95E060EA72E0EB -:1010D0000E949D12BAC18F5F8093B802992787FD45 -:1010E0009095FC01EE0FFF1FE80FF91FE952FC4F2E -:1010F00060838B818795882787959A81890F818363 -:101100008D818795882787959C81890F82839DC1D2 -:101110005091B802151634F420E0C52FDD27C7FD25 -:10112000D09511C08FEF8093B8028FC1FC01EE0FF4 -:10113000FF1FE80FF91FE952FC4F6083662311F08F -:10114000422F24C02F5F822F90E0C817D90774F771 -:1011500040E01CC04830C8F4C9010196D901AA0F6B -:10116000BB1FA20FB31FA952BC4FFC01EE0FFF1F04 -:10117000E80FF91FE952FC4F80818C938081119612 -:101180008C931197828112968C934F5F242F30E0BD -:10119000C217D307FCF651505093B80256C189814B -:1011A000682F70E07695762F66277795679588810A -:1011B000680F711D6115710521F070931104609322 -:1011C000100480910F04882309F03FC127DB3DC143 -:1011D000653008F43AC1F880C980EA80BB80DC80C1 -:1011E0008F2D8250803308F030C10F2D10E0C801E0 -:1011F0000297EC01CC0FDD1FC80FD91FCE5EDB4F6D -:10120000CE01B6D1882311F0CE0143D14E2D50E04E -:101210005695542F4427579547954C0D511D2D2D0C -:1012200030E03695322F2227379527952B0D311D2B -:10123000CE01B80116D28F2D64E070E047D905C108 -:10124000623008F402C1898190E09695982F882732 -:10125000979587952881820F911D9093B70280936F -:10126000B6020A970CF0F1C08AE090E09093B702C2 -:101270008093B602EAC0623008F4E7C08981682F23 -:1012800070E01230A1F08A8190E09695982F88271F -:1012900097958795682B792B133049F02B81922FE6 -:1012A0009295990F990F907C80E0682B792B88811B -:1012B000D6D8CBC087EF95E060EF0E94D11187EFC1 -:1012C00095E06CE60E94D1110EEF16C00434A0F434 -:1012D00087EF95E060E00E94D11187EF95E061E033 -:1012E0000E94D11187EF95E061E00E94D11187EF54 -:1012F00095E061E00E94D111802F8453803150F439 -:1013000087EF95E062E00E94D11187EF95E06AE0F7 -:101310000E94D1110C3020F0802F8A52833050F47B -:1013200087EF95E063E00E94D11187EF95E068E0D8 -:101330000E94D111003350F487EF95E064E00E94E1 -:10134000D11187EF95E06EE00E94D111802F82517C -:10135000823050F487EF95E066E00E94D11187EF6C -:1013600095E061E00E94D11187EF95E06FE70E9460 -:10137000D1110F5F043409F0A9CF63C0662309F4CB -:1013800064C0088187EF95E060EF0E94D11187EF7C -:1013900095E06EE60E94D11187EF95E0602F0E94E4 -:1013A000D111063408F04DC0C02FD0E0FE01EC5042 -:1013B000FD4F87EF95E06081F4D78E01000F111F7C -:1013C0000D5B1C4FF80160816F7787EF95E0E9D7DF -:1013D000F80160817181CB018078892B41F0660F23 -:1013E000672F661F770B6F7787EF95E0DAD7CC0F03 -:1013F000DD1FCD5BDC4F28813981C9018070907C75 -:10140000892BF9F0330F220B330F322F221F622F5B -:101410006F7787EF95E0C5D714C087EF95E060EF51 -:10142000C0D787EF95E06AE6BCD70AEC003110F030 -:101430006FE701C0602F87EF95E0B3D70F5F0031F2 -:10144000A9F787EF95E067EFACD7DF91CF911F91B8 -:101450000F91FF90EF90DF90CF90BF900895FC0127 -:101460008091A204803390F482838F5F8093A204E2 -:10147000815090E0FC01EE0FFF1FE80FF91FED55C2 -:10148000FB4F88EB9BE09283818308958FEF8283EB -:101490000895DC0112968C91129790E0FC01EE0FFA -:1014A000FF1FE80FF91FED55FB4F80818F7B808375 -:1014B00012968C916CE00E94D71D90E0AC01440F15 -:1014C000551F480F591F440F551F440F551F20E04B -:1014D00030E0C901840F951FFC01EE0FFF1FE80FDC -:1014E000F91FED55FB4F808186FD05C02F5F3F4FF3 -:1014F0002C30310571F70895FC0122812033B8F5B5 -:101500008081992787FD909548E850E0481B590B4A -:10151000440F551F440F551F6417750784F08181D0 -:10152000992787FD909548E552E0481B590B440FD9 -:10153000551F440F551F641775070CF4AB0142503B -:101540005040CA01AA2797FDA095BA2F880F991F6E -:10155000AA1FBB1F4FB7F89430E0F901EE0FFF1F31 -:10156000E20FF31FED55FB4F928381834FBF089528 -:10157000FC01828190E0FC01EE0FFF1FE80FF91FD4 -:10158000ED55FB4F8081829586958695817009F097 -:1015900081E00895AF92BF92CF92DF92EF92FF92D7 -:1015A0000F931F93CF93DF93EC019B0182E0603296 -:1015B00078070CF048C077FF03C020E030E005C09A -:1015C000653B710514F024EB30E000D00F92B901B7 -:1015D000882777FD8095982F2881332727FD309520 -:1015E000E8E8AE2EB12CA21AB30AAA0CBB1CAA0CB6 -:1015F000BB1CCC24B7FCC094DC2CE981FF27E7FDA1 -:10160000F09528E532E02E1B3F0B220F331F220FEF -:10161000331F442737FD4095542FEDB7FEB7218384 -:1016200032834383548320E030E040E050E004EB19 -:10163000E02EF12C012D112D0E94711D9B010F90A8 -:101640000F900F900F90CE01B90156DFDF91CF912F -:101650001F910F91FF90EF90DF90CF90BF90AF90D0 -:101660000895CF92DF92EF92FF921F93CF93DF9373 -:10167000EC01162F7A0169018A81803308F093C04A -:10168000862F61E00E947F178A8190E0FC01EE0FB7 -:10169000FF1FE80FF91FED55FB4F1F738081807C02 -:1016A000812B808380E292E08E199F0964E070E0D4 -:1016B0000E94E31D688380E699E08C199D0964E02F -:1016C00070E00E94E31D6983AA818A2F6CE00E946A -:1016D000D71D682F70E0AB01440F551F460F571FF1 -:1016E000440F551F440F551F20E030E0C901840FFF -:1016F000951FFC01EE0FFF1FE80FF91FED55FB4F83 -:10170000808186FD44C02F5F3F4F2C30310571F73B -:1017100053C01092800082E0809381001092850077 -:1017200010928400B19A80916F00826080936F0064 -:101730002EC06230710569F41092900082E08093AF -:101740009100109295001092940088BB80937100D4 -:101750001EC06330710569F41092A00082E080938E -:10176000A1001092A5001092A40089BB8093720082 -:101770000EC0672B61F41092200182E0809321015A -:1017800010922501109224018ABB809373008A2F46 -:1017900090E0FC01EE0FFF1FE80FF91FED55FB4F26 -:1017A0008081806480838A81DF91CF911F91FF9037 -:1017B000EF90DF90CF9008956130710509F0B9CFB7 -:1017C000A8CF40E252E020E639E04BCFEF92FF9203 -:1017D0000F931F93CF93DF938B017A01EC01DC0110 -:1017E000AD5CBA4F8C9187FF04C0FB01118210825F -:1017F00037C0AE01440F551F4C0F5D1F440F551FDE -:10180000440F551F2C91332727FD3095240F351F8A -:101810008091A20490E02817390714F58C9199273C -:1018200087FD9095840F951FFC01EE0FFF1FE80FB9 -:10183000F91FED55FB4F808186FF12C08C919927CF -:1018400087FD9095840F951FFC01EE0FFF1FE80F99 -:10185000F91FED55FB4F80818F7360E00E943218B5 -:10186000DE01AD5CBA4F8C918F5F8C93AE01440F5B -:10187000551F4C0F5D1F440F551F440F551F2C91D2 -:10188000332727FD3095240F351F8091A20490E067 -:10189000281739070CF04DC08C918C300CF049C0E2 -:1018A000F801208131818C91992787FD9095840FD3 -:1018B000951FFC01EE0FFF1FE80FF91FED55FB4FC1 -:1018C00081819281280F391FF701318320838C9108 -:1018D000992787FD9095840F951FFC01EE0FFF1F40 -:1018E000E80FF91FED55FB4F808186FF2AC08C91D0 -:1018F000992787FD9095840F951FFC01EE0FFF1F20 -:10190000E80FF91FED55FB4F80818F7361E00E9456 -:10191000321817C080E49CE904C0F80180819181ED -:101920000496F70191838083CD5CDA4F8FEF888333 -:1019300008C0F80180819181049680549C4950F33D -:10194000ECCFDF91CF911F910F91FF90EF90089511 -:101950001F920F920FB60F920BB60F9211242F9376 -:101960003F934F935F936F937F938F939F93AF9327 -:10197000BF93EF93FF9380E090E064E271E048E270 -:1019800051E024DFFF91EF91BF91AF919F918F9133 -:101990007F916F915F914F913F912F910F900BBE6F -:1019A0000F900FBE0F901F9018951F920F920FB6B9 -:1019B0000F920BB60F9211242F933F934F935F9387 -:1019C0006F937F938F939F93AF93BF93EF93FF9307 -:1019D00083E090E064EA70E048EA50E0F7DEFF91CF -:1019E000EF91BF91AF919F918F917F916F915F9197 -:1019F0004F913F912F910F900BBE0F900FBE0F9004 -:101A00001F9018951F920F920FB60F920BB60F9260 -:101A100011242F933F934F935F936F937F938F93F3 -:101A20009F93AF93BF93EF93FF9382E090E064E9BD -:101A300070E048E950E0CADEFF91EF91BF91AF91AD -:101A40009F918F917F916F915F914F913F912F91D6 -:101A50000F900BBE0F900FBE0F901F9018951F9206 -:101A60000F920FB60F920BB60F9211242F933F9344 -:101A70004F935F936F937F938F939F93AF93BF9396 -:101A8000EF93FF9381E090E064E870E048E850E075 -:101A90009DDEFF91EF91BF91AF919F918F917F91CB -:101AA0006F915F914F913F912F910F900BBE0F90CF -:101AB0000FBE0F901F90189581E080937C05609376 -:101AC000590510927A0510927B05089520915805CA -:101AD00030E080915705281B3109C90108954091D4 -:101AE000570580915805481718F02FEF3FEF0AC0AF -:101AF000E42FF0E0E95CFA4F8081282F30E04F5F5F -:101B000040935705C9010895E09157058091580504 -:101B1000E81718F0EFEFFFEF06C0F0E0E95CFA4FCE -:101B20008081E82FF0E0CF0108950895109280059C -:101B300010927F0588EE93E0A0E0B0E080938105ED -:101B400090938205A0938305B093840584EC92E082 -:101B500090937E0580937D050895CF92DF92EF925A -:101B6000FF920F931F93CF93DF937C016B018A0148 -:101B700080917C058823A1F0C0E0D0E00DC0D701A2 -:101B8000ED91FC91D601AC0FBD1F0190F081E02DCD -:101B9000C7016C9119952196C017D10780F303C036 -:101BA000CB01642F02D1C801DF91CF911F910F911A -:101BB000FF90EF90DF90CF900895DF93CF930F9237 -:101BC000CDB7DEB7FC01698380917C058823C9F01D -:101BD00080917B05803238F081E090E093838283AE -:101BE00020E030E014C080917A05E82FF0E0E65A5A -:101BF000FA4F998190838F5F80937A0580937B055C -:101C000004C0CE01019661E0D0D021E030E0C901EE -:101C10000F90CF91DF9108950F93062F8091590572 -:101C20006AE575E040917B0521E06AD010927A0563 -:101C300010927B0510927C050F91089561E0ECCF26 -:101C4000413208F040E2862F67E375E010D0109231 -:101C5000570580935805089521E0F2CF109257055B -:101C60001092580510927A0510927B054EC2382FBB -:101C7000413210F040E042C0809189058823E1F7AD -:101C800091E09093890520938B058FEF8093F60563 -:101C90001092B10541504093B2054F5F90938A0571 -:101CA00080918A05330F832B80938A0580918C0560 -:101CB000813041F410928C0580918A058093BB009D -:101CC00085EC01C085EE8093BC0080918905813050 -:101CD000E1F38091B105841710F44091B10520E043 -:101CE00030E00AC0FB01E20FF31FD901AF56BA4F33 -:101CF0008C9180832F5F3F4F2417A0F3842F08958A -:101D00000F931F93582F122F413210F081E04AC0D9 -:101D1000809189058823E1F782E08093890500930B -:101D20008B058FEF8093F6051092B1054093B205B5 -:101D3000A1E9B5E0FB0102C081918D938E2F861B36 -:101D40008417D0F310928A0580918A05550F852B50 -:101D500080938A0580918C05813041F410928C0526 -:101D600080918A058093BB0085EC01C085EE80934D -:101D7000BC00112321F0809189058230E1F380912C -:101D8000F6058F3F11F480E00DC08091F60580329A -:101D900011F482E007C08091F605803311F084E0F1 -:101DA00001C083E01F910F910895482F613210F018 -:101DB00081E0089580918905843011F082E00895D2 -:101DC0006093D405A3EBB5E0842F9C01F90102C018 -:101DD00081918D938E2F841B8617D0F380E0089518 -:101DE0001F920F920FB60F920BB60F9211242F93E2 -:101DF0003F934F935F936F937F938F939F93AF9393 -:101E0000BF93EF93FF938091B90090E0887F90702B -:101E10008036910509F4F2C081369105CCF58832FF -:101E2000910509F47BC089329105B4F480319105A4 -:101E300009F46FC0813191053CF4009709F447C162 -:101E4000089709F04FC165C08831910509F466C053 -:101E5000809709F047C182C08034910509F4A4C07D -:101E60008134910544F48033910509F482C0C89708 -:101E700009F038C189C08035910509F489C08835D9 -:101E8000910509F496C08834910509F02BC1AEC0C4 -:101E90008839910509F413C189399105ECF4883723 -:101EA000910509F4ABC0893791054CF4883691054A -:101EB00009F4A4C08037910509F014C19FC0883887 -:101EC000910509F4FCC08039910509F49DC0803862 -:101ED000910509F007C198C0803B910509F4C6C07F -:101EE000813B91054CF4803A910509F49FC0883AF2 -:101EF000910509F0F7C0BAC0803C910509F4E3C030 -:101F0000883C910509F4DFC0883B910509F0EAC0DF -:101F1000C2C080918A058093BB00CFC09091B1056B -:101F20008091B205981768F49091B105E92FF0E01F -:101F3000EF56FA4F80818093BB009F5F9093B1056D -:101F4000BCC080918B05882309F44BC085ED80933C -:101F5000BC008091BC0084FDFCCFC2C080E28093B5 -:101F6000F60585ED8093BC008091BC0084FDFCCF1C -:101F7000B7C080E38093F60585ED8093BC00809127 -:101F8000BC0084FDFCCFACC088E38093F6059BC009 -:101F90008091B1059091BB00E82FF0E0EF56FA4F29 -:101FA00090838F5F8093B1059091B1058091B205C8 -:101FB00082C08091B1059091BB00E82FF0E0EF5610 -:101FC000FA4F90838F5F8093B10580918B058823B2 -:101FD00041F085ED8093BC008091BC0084FDFCCF76 -:101FE0007FC081E080938C0584EA6EC085ED80938C -:101FF000BC008091BC0084FDFCCF72C083E0809364 -:1020000089051092F50559C08091F505803208F0D8 -:1020100056C08091F5059091BB00E82FF0E0EB529F -:10202000FA4F90838F5F8093F50547C08091F50547 -:10203000803230F4E091F505F0E0EB52FA4F108277 -:1020400085ED8093BC008091BC0084FDFCCF109294 -:1020500089056091F505E0918F05F091900585ED7A -:1020600095E070E019951092F5052DC084E08093FD -:1020700089051092D3051092D405E0918D05F09159 -:102080008E0519958091D405882329F481E08093E9 -:10209000D4051092B3059091D305E92FF0E0ED54EB -:1020A000FA4F80818093BB009F5F9093D3059091FE -:1020B000D3058091D405981710F485EC01C085E80C -:1020C0008093BC000FC085EC8093BC0009C01092C7 -:1020D000F60585ED8093BC008091BC0084FDFCCFAB -:1020E00010928905FF91EF91BF91AF919F918F91D0 -:1020F0007F916F915F914F913F912F910F900BBE08 -:102100000F900FBE0F901F9018951092890581E0D7 -:1021100080938B0510928C0584E161E0A3D785E163 -:1021200061E0A0D7E9EBF0E080818E7F8083808141 -:102130008D7F808388E48093B80085E48093BC0021 -:102140000895EF92FF920F931F937C018B01DC01A6 -:10215000ED91FC91A081B1816F772D913C91CF01E0 -:10216000F9011995D701ED91FC91A081B181000F82 -:10217000012F001F110B0F772D913C91CF01602F84 -:10218000F90119951F910F91FF90EF900895FC01AF -:102190000190F081E02DA081B1812D913C91CF0182 -:1021A00060EFF90119950895FC010190F081E02D8F -:1021B000A081B1812D913C91CF0167EFF901199573 -:1021C00008950F931F938C01DC01ED91FC91A08188 -:1021D000B1812D913C91CF0169EFF9011995D80199 -:1021E000ED91FC91A081B1812D913C91CF0162E0F4 -:1021F000F9011995D801ED91FC91A081B1812D9142 -:102200003C91CF0163E0F90119951F910F91089559 -:102210001F93CF93DF93EC018A818823B1F1CE0124 -:10222000B6DFE881F981A081B1812D913C91CF0188 -:1022300069E7F9011995E881F981A081B1812B81C4 -:102240003C814D915C91CF01F9016081FA011995B2 -:10225000E881F981A081B1812B813C814D915C9114 -:10226000CF01F9016181FA01199512E009C0EB81F2 -:10227000FC81E10FF11D6081CE0170E062DF1F5F24 -:102280008A811817A0F3CE018FDFDF91CF911F91C4 -:102290000895FC01A081B181ED91FC91119704801A -:1022A000F581E02DCD0119950895EF92FF920F93DE -:1022B0001F938C017A01DC01ED91FC91A081B18129 -:1022C0006F70606E2D913C91CF01F9011995C80195 -:1022D000B70137DF1F910F91FF90EF900895EF92B4 -:1022E000FF920F931F937C018A01DC01ED91FC9119 -:1022F000A081B1816F7060692D913C91CF01F9018E -:102300001995D701ED91FC91A081B181602F6F7774 -:102310002D913C91CF01F9011995D701ED91FC91D7 -:10232000A081B181000F012F001F110B2D913C9155 -:10233000CF01602FF90119951F910F91FF90EF9038 -:102340000895DF92EF92FF920F931F93CF93DF9345 -:10235000EC01162FD42E022FF32E19DFE881F9811C -:10236000A081B1812D913C91CF01612FF901199587 -:10237000202F3F2DC9017C0110E007C0F7016191BA -:102380007F01CE0170E0DDDE1F5F1D15B8F3CE01C9 -:102390000BDFDF91CF911F910F91FF90EF90DF90B6 -:1023A0000895FC010190F081E02DA081B1812D9173 -:1023B0003C91CF01F90119950895FC01603DA9F008 -:1023C000613D28F4603959F0603CA1F40BC0603ED7 -:1023D00019F0643F79F40CC054A743A7089556A799 -:1023E00045A7089550AB47A7089552AB41AB089558 -:1023F00054AB43AB0895FC016F3F11F456AB45ABB2 -:102400000895FC0152AF41AF0895FC011582168278 -:102410001782DC0180E018961C9218978F5F119646 -:102420008032C9F710A612A611A605A8F6A9E02DBC -:10243000309709F019950895FC01128214821382D5 -:10244000E4CF87EF95E0F8CF4F925F926F927F9243 -:102450008F929F92AF92BF92CF92DF92EF92FF92B4 -:102460000F93DF93CF930F920F92CDB7DEB72B016F -:102470007A013A8329838DE061E041D500E08981CA -:102480009A813C01882477FC8094982C5701CC24B5 -:10249000B7FCC094DC2C0DC0C401B30159D38DE04E -:1024A00061E0E0D5C601B50153D38DE060E0DAD537 -:1024B0000F5F802F90E08415950574F30F900F90B7 -:1024C000CF91DF910F91FF90EF90DF90CF90BF9071 -:1024D000AF909F908F907F906F905F904F900895F6 -:1024E0000F931F938C018DE061E009D5C80162E074 -:1024F00070E048E250E022ED30E0A6DF6AEF70E0E5 -:1025000080E090E025D3C80163E070E048E250E04D -:1025100022ED30E099DF6DE770E080E090E018D3C5 -:102520001F910F9108959A01FA0101900020E9F797 -:102530003197E41BF50B4E2F04CFAB0161E7F3CFCE -:102540001F93CF93DF93EC018885813729F089377A -:1025500079F5CE015DDE35C08FA998AD892B89F163 -:1025600089A59AA5019762E070E00E94E31D162FED -:10257000862F90E062D1AC01DC0121E030E011C097 -:10258000FE01E20FF11D90859C932F5FFE01E20F8B -:10259000F11D8085879588278795890F8D932F5FFB -:1025A0003F5F311768F3EFA9F8ADCA01199509C06B -:1025B000E9ADFAAD309729F069A561502996AE01D1 -:1025C0001995DF91CF911F910895CF93DF93EC017F -:1025D000A881B981ED91FC9111970680F781E02DDA -:1025E000CD011995AC0188A5882389F0473F510595 -:1025F00021F418A6CE01A4DF91C089A59AA5FE01F9 -:10260000E80FF91F408701969AA789A787C08D8197 -:10261000882309F446C0403851050CF042C081506F -:102620008D83FE01E80FF11D4087882309F076C0F5 -:102630008E81882309F472C0803D49F1813D28F4E0 -:10264000803959F0803C59F51FC0803E19F0843F15 -:1026500031F513C0EBA5FCA502C0EDA5FEA5309792 -:10266000F1F0688570E07695762F66277795679507 -:102670008985680F711D8F8111C0EBA9FCA9309766 -:1026800071F06885898509C0EFA5F8A902C0E9A99C -:10269000FAA9309721F068858F8170E019951E8224 -:1026A0003DC0403F510514F09A0106C09A01207FB9 -:1026B0003070842F8F708F83203E3105F1F0213EE2 -:1026C000310554F4203C3105D1F0203D3105B9F0FD -:1026D0002039310519F511C0243F310571F0253F2E -:1026E000310524F4203F3105C9F40DC0293F3105DF -:1026F00091F02F3F310591F40BC082E001C081E0E1 -:102700008D832E830BC081E088A71AA619A606C068 -:10271000CE017BDE03C087EF95E053DDDF91CF91E3 -:102720000895AF92BF92CF92DF92EF92FF920F93F4 -:102730001F93CF93DF938C01D62EC72EB42EA22EDB -:10274000862F972F61EB72E00E944E01EC018D2DD8 -:102750009C2D6FE270E00E944301209779F07C018C -:102760000894E11CF11CE114F10441F09E012E5F7C -:10277000822F8E19D80112968C930FC0AD2DBC2DCF -:10278000FD0101900020E9F7ED19EF5FD8011296E5 -:10279000EC932D2D3C2DC9017C01F801838194819E -:1027A000E9D0D80112968C9190E047D0FC01D80175 -:1027B00014969C938E93139712968C911297E80F10 -:1027C000F11D10821396ED91FC911497B08213962F -:1027D000ED91FC911497A18213968D919C91149781 -:1027E00012964C9150E0425050400296B7010E9420 -:1027F0003401DF91CF911F910F91FF90EF90DF9007 -:10280000CF90BF90AF900895EF92FF920F931F93D8 -:102810008C013BE5E32E38E0F32EC701C5D6F80165 -:10282000F182E082C8015CDEC801CBDCC801F0DCCB -:102830001F910F91FF90EF9008950F931F93CF93E7 -:10284000DF93BC018230910510F462E070E0E0910A -:10285000E508F091E608A0E0B0E040E050E024C0D8 -:102860008081918186179707D0F08617970771F4BA -:1028700082819381109729F013969C938E931297DF -:102880002CC09093E6088093E50827C041155105B8 -:1028900019F08417950718F4EF018D01AC01DF01E1 -:1028A000828193819C01F9013097D1F64115510540 -:1028B000F9F0CA01861B970B8430910580F48A8158 -:1028C0009B810115110521F0F8019383828304C0D7 -:1028D0009093E6088093E508FE01329645C0FE011C -:1028E000E80FF91F619371930297998388833CC025 -:1028F0008091E3089091E408892B41F48091BB0218 -:102900009091BC029093E4088093E3084091BD024B -:102910005091BE024115510541F44DB75EB780910B -:10292000B9029091BA02481B590B2091E3083091EB -:10293000E40824173507B0F4CA01821B930B8617ED -:10294000970780F0AB014E5F5F4F8417950750F0FB -:10295000420F531F5093E4084093E308F901619339 -:10296000719302C0E0E0F0E0CF01DF91CF911F91C1 -:102970000F910895CF93DF939C01009709F48FC0C6 -:10298000EC0122971B821A826091E5087091E6089B -:102990006115710581F488819981820F931F2091BF -:1029A000E3083091E4082817390739F5D093E40893 -:1029B000C093E30874C0DB0140E050E0AC17BD07F2 -:1029C00008F1BB83AA83FE0121913191E20FF31F2D -:1029D000AE17BF0779F48D919C911197280F391F7D -:1029E0002E5F3F4F3983288312968D919C911397C8 -:1029F0009B838A834115510571F4D093E608C093F7 -:102A0000E5084DC012968D919C911397AD010097EA -:102A100011F0DC01D3CFDA011396DC93CE93129739 -:102A2000FA0121913191E20FF31FCE17DF0769F40C -:102A300088819981280F391F2E5F3F4FFA0131831A -:102A400020838A819B8193838283E0E0F0E0DB0135 -:102A500012968D919C911397009719F0BC01FD017E -:102A6000F6CFAB014E5F5F4FDB018D919C91840FE0 -:102A7000951F2091E3083091E4082817390779F46D -:102A8000309729F41092E6081092E50802C01382EC -:102A90001282425050405093E4084093E308DF9183 -:102AA000CF9108951F920F920FB60F9211242F937A -:102AB0003F938F939F93AF93BF93809136069091EE -:102AC0003706A0913806B091390630913A06019642 -:102AD000A11DB11D232F2D5F2D3720F02D570196FD -:102AE000A11DB11D20933A068093360690933706B8 -:102AF000A0933806B0933906809132069091330640 -:102B0000A0913406B09135060196A11DB11D8093A8 -:102B1000320690933306A0933406B0933506BF91E6 -:102B2000AF919F918F913F912F910F900FBE0F907A -:102B30001F9018958FB7F89420913606309137067C -:102B400040913806509139068FBFB901CA010895E6 -:102B50009B01AC017FB7F8948091320690913306C7 -:102B6000A0913406B091350666B5A89B05C06F3FAD -:102B700019F00196A11DB11D7FBFBA2FA92F982F63 -:102B80008827860F911DA11DB11D62E0880F991F36 -:102B9000AA1FBB1F6A95D1F7BC012DC0FFB7F894DF -:102BA0008091320690913306A0913406B09135069B -:102BB000E6B5A89B05C0EF3F19F00196A11DB11D18 -:102BC000FFBFBA2FA92F982F88278E0F911DA11D07 -:102BD000B11DE2E0880F991FAA1FBB1FEA95D1F72C -:102BE000861B970B885E9340C8F2215030404040CE -:102BF000504068517C4F211531054105510571F652 -:102C00000895019739F0880F991F880F991F02972F -:102C10000197F1F70895789484B5826084BD84B5F6 -:102C2000816084BD85B5826085BD85B5816085BDC7 -:102C3000EEE6F0E0808181608083E1E8F0E01082E0 -:102C4000808182608083808181608083E0E8F0E021 -:102C5000808181608083E1EBF0E08081846080830B -:102C6000E0EBF0E0808181608083E1E9F0E0808149 -:102C700082608083808181608083E0E9F0E08081F0 -:102C800081608083E1EAF0E08081826080838081DE -:102C900081608083E0EAF0E0808181608083E1E20E -:102CA000F1E0808182608083808181608083E0E2C6 -:102CB000F1E0808181608083EAE7F0E080818460D8 -:102CC0008083808182608083808181608083808135 -:102CD000806880831092C1000895382F863308F0F1 -:102CE000365320917B00832F86958695869590E0BC -:102CF0008170907043E0880F991F4A95E1F7277F14 -:102D0000282B20937B0037708091BF028295880F1B -:102D1000880F807C832B80937C0080917A00806474 -:102D200080937A0080917A0086FDFCCF2091780014 -:102D300040917900942F80E030E0282B392BC90195 -:102D400008951F93CF93DF93182FEB0161E0D7D045 -:102D5000209709F4CAC0CF3FD10509F4C9C0E12FBB -:102D6000F0E0E254FE4F8491893009F466C08A3065 -:102D7000B0F48430F1F1853040F4823059F1833081 -:102D800070F5813009F0AEC020C0873009F443C02F -:102D9000883008F048C0863009F0A4C034C08D30B7 -:102DA00009F478C08E3038F48B3009F45AC08C3076 -:102DB00008F066C04CC0803109F480C0813109F44C -:102DC00087C08F3009F08EC06FC084B5806884BD25 -:102DD000C7BD91C084B5806284BDC8BD8CC08091E0 -:102DE0008000806880938000D0938900C093880021 -:102DF00082C080918000806280938000D0938B009D -:102E0000C0938A0078C08091B00080688093B00041 -:102E1000C093B30070C08091B00080628093B00016 -:102E2000C093B40068C08091900080688093900047 -:102E3000D0939900C09398005EC08091900080620A -:102E400080939000D0939B00C0939A0054C08091CF -:102E50009000886080939000D0939D00C0939C0068 -:102E60004AC08091A00080688093A0008091A0005B -:102E70008F7B8093A000D093A900C093A8003BC093 -:102E80008091A00080628093A000D093AB00C0939B -:102E9000AA0031C08091A00088608093A000D093E8 -:102EA000AD00C093AC0027C0809120018068809362 -:102EB0002001D0932901C09328011DC080912001D9 -:102EC000806280932001D0932B01C0932A0113C00C -:102ED00080912001886080932001D0932D01C093C0 -:102EE0002C0109C0C038D1051CF4812F60E002C05C -:102EF000812F61E0B7D0DF91CF911F910895CF93DB -:102F0000DF93482F50E0CA0188589E4FFC0134914E -:102F10004E5C5E4FFA018491882369F190E0880F3E -:102F2000991FFC01EC51FF4FA591B491FC01E250B7 -:102F3000FF4FC591D491662351F42FB7F8948C912B -:102F4000932F909589238C93888189230BC06230BD -:102F500061F42FB7F8948C91932F909589238C93DB -:102F60008881832B88832FBF06C09FB7F8948C91EC -:102F7000832B8C939FBFDF91CF910895893009F403 -:102F800049C08A30A0F4843051F1853040F4823059 -:102F900079F1833000F5813009F063C026C08730B5 -:102FA00079F1883098F5863009F05BC025C08D3006 -:102FB00009F442C08E3028F48B30B1F18C30C0F56A -:102FC0002DC0803109F442C0813109F445C08F30F1 -:102FD00009F047C037C0809180008F7703C080918F -:102FE00080008F7D80938000089584B58F7702C024 -:102FF00084B58F7D84BD08958091B0008F7703C024 -:103000008091B0008F7D8093B000089580919000F2 -:103010008F7707C0809190008F7D03C080919000D2 -:10302000877F8093900008958091A0008F7707C0DC -:103030008091A0008F7D03C08091A000877F809346 -:10304000A0000895809120018F7703C08091200116 -:103050008F7D80932001089580912001877F809348 -:1030600020010895FF920F931F93F62E482F50E0F2 -:10307000CA0182549E4FFC012491CA0188589E4F78 -:10308000FC0114914E5C5E4FFA0104910023C1F0E3 -:10309000222311F0822F72DFE02FF0E0EE0FFF1FEE -:1030A000E250FF4FA591B4919FB7F894FF2021F40F -:1030B0008C911095812302C08C91812B8C939FBFA2 -:1030C0001F910F91FF9008950F931F93482F50E089 -:1030D000CA0182549E4FFC012491CA0188589E4F18 -:1030E000FC0104914E5C5E4FFA011491112319F416 -:1030F00020E030E014C0222311F0822F3FDF812F27 -:1031000090E0880F991F885E9E4FFC01A591B491B5 -:103110008C9120E030E0802311F021E030E0C90103 -:103120001F910F91089508951F920F920FB60F925D -:103130000BB60F9211242F933F934F938F939F932E -:10314000EF93FF938091C00082FD1DC04091C600A7 -:1031500020917B0630917C062F5F3F4F2F7330709C -:1031600080917D0690917E062817390771F0E091D5 -:103170007B06F0917C06E55CF94F408330937C063A -:1031800020937B0602C08091C600FF91EF919F9132 -:103190008F914F913F912F910F900BBE0F900FBECB -:1031A0000F901F90189508951F920F920FB60F92CF -:1031B0000BB60F9211242F933F934F938F939F93AE -:1031C000EF93FF938091C80082FD1DC04091CE0017 -:1031D00020910307309104072F5F3F4F2F7330700A -:1031E00080910507909106072817390771F0E09143 -:1031F0000307F0910407ED53F94F40833093040720 -:103200002093030702C08091CE00FF91EF919F9120 -:103210008F914F913F912F910F900BBE0F900FBE4A -:103220000F901F90189508951F920F920FB60F924E -:103230000BB60F9211242F933F934F938F939F932D -:10324000EF93FF938091D00082FD1DC04091D60086 -:1032500020918B0730918C072F5F3F4F2F73307079 -:1032600080918D0790918E072817390771F0E091B2 -:103270008B07F0918C07E55BF84F408330938C0708 -:1032800020938B0702C08091D600FF91EF919F9110 -:103290008F914F913F912F910F900BBE0F900FBECA -:1032A0000F901F90189508951F920F920FB60F92CE -:1032B0000BB60F9211242F933F934F938F939F93AD -:1032C000EF93FF938091300182FD1DC04091360144 -:1032D00020911308309114082F5F3F4F2F733070E7 -:1032E00080911508909116082817390771F0E09120 -:1032F0001308F0911408ED52F84F408330931408EE -:103300002093130802C080913601FF91EF919F91A5 -:103310008F914F913F912F910F900BBE0F900FBE49 -:103320000F901F901895E0916708F0916808E05C95 -:10333000FF4F8191919120813181821B930B8F737B -:103340009070892B09F0EFDEE0918908F0918A08EE -:10335000E05CFF4F8191919120813181821B930B21 -:103360008F739070892B09F01EDFE091AB08F0910C -:10337000AC08E05CFF4F8191919120813181821BEB -:10338000930B8F739070892B09F04DDFE091CD087E -:10339000F091CE08E05CFF4F8191919120813181C5 -:1033A000821B930B8F739070892B09F07CCF08954B -:1033B0001F920F920FB60F920BB60F9211242F93FC -:1033C0003F938F939F93EF93FF932091BF0630918C -:1033D000C0068091C1069091C2062817390731F4C2 -:1033E0008091C1008F7D8093C10014C0E091C1061F -:1033F000F091C206E158F94F20818091C106909169 -:10340000C20601968F7390709093C2068093C10696 -:103410002093C600FF91EF919F918F913F912F9143 -:103420000F900BBE0F900FBE0F901F9018951F921C -:103430000F920FB60F920BB60F9211242F933F935A -:103440008F939F93EF93FF93209147073091480705 -:103450008091490790914A072817390731F48091E4 -:10346000C9008F7D8093C90014C0E0914907F09195 -:103470004A07E95FF84F20818091490790914A07F8 -:1034800001968F73907090934A0780934907209319 -:10349000CE00FF91EF919F918F913F912F910F90CF -:1034A0000BBE0F900FBE0F901F9018951F920F929A -:1034B0000FB60F920BB60F9211242F933F938F9359 -:1034C0009F93EF93FF932091CF073091D007809186 -:1034D000D1079091D2072817390731F48091D10094 -:1034E0008F7D8093D10014C0E091D107F091D20775 -:1034F000E157F84F20818091D1079091D207019632 -:103500008F7390709093D2078093D1072093D60049 -:10351000FF91EF919F918F913F912F910F900BBE53 -:103520000F900FBE0F901F9018951F920F920FB61D -:103530000F920BB60F9211242F933F938F939F936B -:10354000EF93FF93209157083091580880915908C4 -:1035500090915A082817390731F4809131018F7DF5 -:103560008093310114C0E0915908F0915A08E95E46 -:10357000F74F20818091590890915A0801968F73D6 -:10358000907090935A088093590820933601FF91C8 -:10359000EF919F918F913F912F910F900BBE0F90C4 -:1035A0000FBE0F901F901895AF92BF92DF92EF92CF -:1035B000FF920F931F93CF93DF93EC017A018B015E -:1035C000DD24403081EE580780E0680780E078070E -:1035D00011F0DD24D39491E0A92EB12CEC89FD8962 -:1035E000DD2069F0C50108A002C0880F991F0A9468 -:1035F000E2F7808360E079E08DE390E005C010821F -:1036000060E874E88EE190E0A8019701EFD22150C4 -:10361000304040405040569547953795279580E17A -:103620002030380720F0DD2011F0DD24D7CFE889E5 -:10363000F9893083EA89FB89208319A2EE89FF8901 -:10364000408121E030E0C9010C8C02C0880F991F35 -:103650000A94E2F7482B4083EE89FF894081C90133 -:103660000D8C02C0880F991F0A94E2F7482B408303 -:10367000EE89FF894081C9010E8C02C0880F991F15 -:103680000A94E2F7482B4083EE89FF8980810F8CF2 -:1036900002C0220F331F0A94E2F7209528232083CB -:1036A000DF91CF911F910F91FF90EF90DF90BF902E -:1036B000AF900895DC011C96ED91FC911D97E05CA4 -:1036C000FF4F2191319180819181281B390B2F73FC -:1036D0003070C9010895DC011C96ED91FC911D9795 -:1036E000E05CFF4F20813181E054F040DF01AE5BB0 -:1036F000BF4F8D919C9111972817390719F42FEF1F -:103700003FEF07C08D919C91E80FF91F8081282F12 -:1037100030E0C9010895DC011C96ED91FC911D97E4 -:10372000E05CFF4F20813181E054F040DF01AE5B6F -:10373000BF4F8D919C9111972817390719F42FEFDE -:103740003FEF10C08D919C911197E80FF91F2081D8 -:103750008D919C91119701968F73907011969C9307 -:103760008E9330E0C9010895DC0191968C91919778 -:10377000882339F05496ED91FC915597808186FF0E -:10378000F9CF91961C920895CF93DF93EC01EE85CB -:10379000FF85E05CFF4F20813181E054F0402F5FD6 -:1037A0003F4F2F733070DF01AE5BBF4F8D919C9107 -:1037B000119728173907D1F3E05CFF4F8081918181 -:1037C000E054F040E80FF91F6083EE85FF85E05C70 -:1037D000FF4F31832083EE89FF89208181E090E0D3 -:1037E0000F8C02C0880F991F0A94E2F7282B2083C0 -:1037F00081E089A3EC89FD8980818064808381E0F8 -:1038000090E0DF91CF9108951F9310925E0810927F -:103810005D0828EE33E040E050E020935F083093ED -:103820006008409361085093620864ED72E0709301 -:103830005C0860935B088BE396E090936808809344 -:1038400067088FE796E090936A088093690885EC93 -:1038500090E090936C0880936B0884EC90E09093D8 -:103860006E0880936D0880EC90E0909370088093D0 -:103870006F0881EC90E0909372088093710882EC5D -:1038800090E0909374088093730886EC90E0909396 -:1038900076088093750814E010937708B3E0B0932E -:1038A0007808A7E0A0937908F5E0F0937A08E1E0C2 -:1038B000E0937B081092800810927F082093810883 -:1038C00030938208409383085093840870937E0855 -:1038D00060937D0883EC96E090938A088093890832 -:1038E00087E097E090938C0880938B088DEC90E0B4 -:1038F00090938E0880938D088CEC90E090939008C4 -:1039000080938F0888EC90E09093920880939108C0 -:1039100089EC90E090939408809393088AEC90E06F -:1039200090939608809395088EEC90E09093980879 -:103930008093970810939908B0939A08A0939B08D6 -:10394000F0939C08E0939D081092A2081092A108A1 -:103950002093A3083093A4084093A5085093A60889 -:103960007093A00860939F088BE497E09093AC0855 -:103970008093AB088FE897E09093AE088093AD08F2 -:1039800085ED90E09093B0088093AF0884ED90E0CF -:103990009093B2088093B10880ED90E09093B408C2 -:1039A0008093B30881ED90E09093B6088093B508BA -:1039B00082ED90E09093B8088093B70886ED90E090 -:1039C0009093BA088093B9081093BB08B093BC08D1 -:1039D000A093BD08F093BE08E093BF081092C408FE -:1039E0001092C3082093C5083093C6084093C708B7 -:1039F0005093C8087093C2086093C10883ED97E0A4 -:103A00009093CE088093CD0887E198E09093D008FA -:103A10008093CF0885E391E09093D2088093D108FA -:103A200084E391E09093D4088093D30880E391E0FD -:103A30009093D6088093D50881E391E09093D808BD -:103A40008093D70882E391E09093DA088093D908B5 -:103A500086E391E09093DC088093DB081093DD0807 -:103A6000B093DE08A093DF08F093E008E093E1084C -:103A70001F910895CF93DF93CED80E94CE03C3E960 -:103A8000D9E10E9457072097E1F34DDCFACFCF929E -:103A9000DF92EF92FF920F931F93CF93DF937C01FE -:103AA0006B018A01C0E0D0E00FC0D6016D916D01BD -:103AB000D701ED91FC910190F081E02DC70119959E -:103AC000C80FD91F015010400115110571F7CE0123 -:103AD000DF91CF911F910F91FF90EF90DF90CF90EA -:103AE00008952F923F924F925F926F927F928F92A2 -:103AF0009F92AF92BF92CF92DF92EF92FF920F937D -:103B00001F93DF93CF93CDB7DEB73B014C01190173 -:103B10002A016E897F89888D998D6A197B098C09A4 -:103B20009D09621A730A840A950AA401930120D0A0 -:103B3000E218F30804091509A801970179D02A0DA4 -:103B40003B1D4C1D5D1DB901CA01CF91DF911F9135 -:103B50000F91FF90EF90DF90CF90BF90AF909F902C -:103B60008F907F906F905F904F903F902F9008952F -:103B7000629FD001739FF001829FE00DF11D649F51 -:103B8000E00DF11D929FF00D839FF00D749FF00DDD -:103B9000659FF00D9927729FB00DE11DF91F639F7E -:103BA000B00DE11DF91FBD01CF0111240895991B2E -:103BB00079E004C0991F961708F0961B881F7A9524 -:103BC000C9F78095089597FB092E07260AD077FD3F -:103BD00004D049D006D000201AF4709561957F4F2B -:103BE0000895F6F7909581959F4F0895A1E21A2EBA -:103BF000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F91 -:103C0000A217B307E407F50720F0A21BB30BE40BE0 -:103C1000F50B661F771F881F991F1A9469F7609527 -:103C20007095809590959B01AC01BD01CF010895E1 -:103C300097FB092E05260ED057FD04D0D7DF0AD0FA -:103C4000001C38F450954095309521953F4F4F4FCB -:103C50005F4F0895F6F790958095709561957F4F29 -:103C60008F4F9F4F0895AA1BBB1B51E107C0AA1F8E -:103C7000BB1FA617B70710F0A61BB70B881F991F0D -:103C80005A95A9F780959095BC01CD010895EE0F46 -:0E3C9000FF1F0590F491E02D1994F894FFCFDA -:103C9E00556E6B6E6F776E2070696E206D6F6465FA -:103CAE00005374616E646172644669726D61746111 -:103CBE002E696E6F00493243205265616420457251 -:103CCE00726F723A20546F6F206D616E7920627937 -:103CDE007465732072656365697665640049324365 -:103CEE002052656164204572726F723A20546F6F74 -:103CFE0020666577206279746573207265636569E5 -:103D0E007665640031302D62697420616464726579 -:103D1E007373696E67206D6F6465206973206E6FB3 -:103D2E00742079657420737570706F727465640099 -:103D3E00746F6F206D616E79207175657269657330 -:103D4E00002E637070001300FF8000E70800000172 -:103D5E0000000000DD0DAD0D660D6F0D840D950D8F -:103D6E0000000000C41B471D5A1B8B1B6B1BB41B92 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/micro/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/micro/Blink.cpp.hex deleted file mode 100644 index 452b8b29..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/micro/Blink.cpp.hex +++ /dev/null @@ -1,301 +0,0 @@ -:100000000C9466010C948E010C948E010C948E015C -:100010000C948E010C948E010C948E010C948E0124 -:100020000C948E010C948E010C9483060C944F0555 -:100030000C948E010C948E010C948E010C948E0104 -:100040000C948E010C948E010C948E010C948E01F4 -:100050000C948E010C948E010C948E010C94A801CA -:100060000C948E010C948E010C948E010C948E01D4 -:100070000C948E010C948E010C948E010C948E01C4 -:100080000C948E010C948E010C948E010C948E01B4 -:100090000C948E010C948E010C948E010C948E01A4 -:1000A0000C948E010C948E010C948E01AB02AE0266 -:1000B0009D02A102A702CF02CF02CF02B202B60276 -:1000C000BA02C002C402CF02CA0200000002000944 -:1000D0000F0000030401000C0000000000000000FD -:1000E00000000000000000000408020110408040F1 -:1000F000102040804080080204018040201002014E -:10010000108010204040040404040403040502028B -:1001100002020403020202020606060606060404A0 -:100120000202020400000000250028002B002E001F -:10013000310000000000240027002A002D003000BC -:1001400000C18081C112010002020000404123373A -:100150008000010102000112010002000000404184 -:1001600023378000010102000141726475696E6FDE -:10017000204C4C430041726475696E6F204D696379 -:10018000726F0004030904080B0002020201000957 -:1001900004000001020200000524001001052401F2 -:1001A000010104240206052406000107058103104D -:1001B000004009040100020A000000070502024095 -:1001C000000007058302400000000000000000005E -:1001D000002A2B28000000000000000000000000A2 -:1001E0000000000000000000002C9EB4A0A1A2A40A -:1001F00034A6A7A5AE362D3738271E1F202122236F -:10020000242526B333B62EB7B89F84858687888980 -:100210008A8B8C8D8E8F90919293949596979899C6 -:100220009A9B9C9D2F3130A3AD3504050607080924 -:100230000A0B0C0D0E0F10111213141516171819A6 -:100240001A1B1C1DAFB1B0B5000904020001030068 -:100250000000092101010001226500070584034017 -:10026000000105010902A1010901A100850105099B -:1002700019012903150025019503750181029501D6 -:100280007505810305010930093109381581257F7C -:10029000750895038106C0C005010906A101850204 -:1002A000050719E029E71500250175019508810268 -:1002B00095017508810395067508150025650507E4 -:1002C000190029658100C000B7070A0911241FBE63 -:1002D000CFEFDAE0DEBFCDBF11E0A0E0B1E0EEE8A5 -:1002E000F2E102C005900D92A832B107D9F721E0E2 -:1002F000A8E2B1E001C01D92A739B207E1F712E010 -:10030000CCECD2E004C02297FE010E944109C83C17 -:10031000D107C9F70E9440030C9445090C940000D2 -:1003200061E08DE00C94D00261E08DE00E94090351 -:1003300068EE73E080E090E00E94150260E08DE0DE -:100340000E94090368EE73E080E090E00C941502CF -:100350001F920F920FB60F9211242F933F938F93FA -:100360009F93AF93BF938091290190912A01A0910F -:100370002B01B0912C013091280123E0230F2D3760 -:1003800020F40196A11DB11D05C026E8230F029699 -:10039000A11DB11D209328018093290190932A016A -:1003A000A0932B01B0932C0180912D0190912E01EF -:1003B000A0912F01B09130010196A11DB11D809334 -:1003C0002D0190932E01A0932F01B0933001BF9186 -:1003D000AF919F918F913F912F910F900FBE0F90F2 -:1003E0001F9018953FB7F89480912D0190912E01A0 -:1003F000A0912F01B091300126B5A89B05C02F3FD9 -:1004000019F00196A11DB11D3FBF6627782F892FD6 -:100410009A2F620F711D811D911D42E0660F771F9B -:10042000881F991F4A95D1F70895CF92DF92EF92D6 -:10043000FF92CF93DF936B017C010E94F201EB01ED -:10044000C114D104E104F10489F00E94F9060E946C -:10045000F2016C1B7D0B683E734090F381E0C81A7B -:10046000D108E108F108C851DC4FEACFDF91CF9104 -:10047000FF90EF90DF90CF900895789484B58260DC -:1004800084BD84B5816084BD85B5826085BD85B538 -:10049000816085BDEEE6F0E0808181608083E1E8E7 -:1004A000F0E010828081826080838081816080831F -:1004B000E0E8F0E0808181608083E1E9F0E0808124 -:1004C00082608083808181608083E0E9F0E08081C8 -:1004D00081608083E1ECF0E08081846080838081B2 -:1004E00082608083808181608083E3ECF0E08081A2 -:1004F00081608083E0ECF0E0808182608083E2ECC8 -:10050000F0E0808181608083EAE7F0E080818460B0 -:10051000808380818260808380818160808380810C -:1005200080688083089590E0FC013197EF30F105F9 -:10053000B0F5EA5AFF4F0C943F09809180008F7705 -:1005400003C0809180008F7D80938000089580910A -:100550008000877FF9CF84B58F7702C084B58F7D07 -:1005600084BD0895809190008F7707C0809190009E -:100570008F7D03C080919000877F809390000895C5 -:100580008091C0008F7703C08091C0008F7D8093E1 -:10059000C00008958091C200877F8093C2000895B3 -:1005A000CF93DF9390E0FC01E851FF4F2491FC01D1 -:1005B000EA5FFE4F8491882349F190E0880F991FEC -:1005C000FC01EE5CFE4FA591B4918C5D9E4FFC0149 -:1005D000C591D4919FB7611108C0F8948C91209572 -:1005E00082238C93888182230AC0623051F4F8946C -:1005F0008C91322F309583238C938881822B888332 -:1006000004C0F8948C91822B8C939FBFDF91CF9183 -:1006100008950F931F93CF93DF931F92CDB7DEB74B -:10062000282F30E0F901E653FF4F8491F901E8519A -:10063000FF4F1491F901EA5FFE4F04910023C9F0C6 -:10064000882321F069830E9493026981E02FF0E002 -:10065000EE0FFF1FEC5DFE4FA591B4919FB7F8948C -:100660008C91611103C01095812301C0812B8C9363 -:100670009FBF0F90DF91CF911F910F910895089523 -:100680000E943D020E943F0381E391E00E94D9064F -:100690000E949001C0E0D0E00E9494012097E1F315 -:1006A0000E940000F9CF4091350150913601209110 -:1006B00033013091340142175307B4F49091E800AC -:1006C0009570E1F39091E80092FD19C08093F100DC -:1006D000809135019091360101968F739927892B6E -:1006E00019F48EEF8093E8008091350190913601E6 -:1006F0000196909336018093350181E0089580E062 -:100700000895CF92DF92FF920F931F93CF93DF93C1 -:100710001F92CDB7DEB7082F162F862F880F8E5F5A -:1007200099830E94530383E00E945303F02EC02E4E -:100730009981D92E8C2D8F19811778F4F601849127 -:100740000E945303082F80E00E9453038023FFEF91 -:10075000CF1ADF0A8111EECF01C081E00F90DF9147 -:10076000CF911F910F91FF90DF90CF90089561502E -:1007700030F02091F100FC0120830196F8CF289AF7 -:1007800084E68093380108952FB7FC012083F89404 -:1007900067706093E9000895CF93DF931F92CDB700 -:1007A000DEB7682FCE0101960E94C4038091F2004B -:1007B00099819FBF0F90DF91CF910895FF920F9382 -:1007C0001F93CF93DF9300D0CDB7DEB7F62E8A010B -:1007D00090913701992311F057FF03C08FEF9FEFDE -:1007E0002BC0682FCE0101967A830E94C4038091AA -:1007F000F20090E0A8017A81801791070CF4AC0117 -:10080000EF2DF72FF40E84E6FE1639F0289A809328 -:1008100038019091F1009193F7CF4115510521F0E6 -:100820008091F200882321F089818FBFCA0104C022 -:100830008BE68093E800F8CF0F900F90DF91CF9177 -:100840001F910F91FF900895CF93DF931F92CDB723 -:10085000DEB741E050E0BE016F5F7F4F0E94DE03D4 -:10086000019719F4898190E002C08FEF9FEF0F90FC -:10087000DF91CF910895CF93DF931F92CDB7DEB76D -:10088000682FCE0101960E94C4039091E800892F41 -:10089000807295FF04C09091F20080E4891B9981D9 -:1008A0009FBF0F90DF91CF9108956F927F928F92AB -:1008B0009F92AF92BF92CF92DF92EF92FF920F93EF -:1008C0001F93CF93DF931F92CDB7DEB7782E7B01B6 -:1008D000C42EB52E80913701882369F0042F152F7F -:1008E0008AEFD82E872D8072982E9AE3A92E872D15 -:1008F0008074882E11C08FEF9FEF57C0872D0E9404 -:100900003B04682E81110CC0DA94A9F361E070E019 -:1009100080E090E00E9415020115110579F73BC0B7 -:10092000282F30E0021713070CF4602E672DCE013C -:1009300001960E94C4038091E80085FF29C0262DFE -:1009400030E0021B130B992039F06A948FEF681680 -:10095000B1F01092F100F9CFF701862D77FE07C0B4 -:10096000815058F094919093F1003196F9CF8150D5 -:1009700020F091919093F100FACFE20EF31E809156 -:10098000E80085FF0FC00115110511F481100AC0A0 -:1009900089818FBFC1CF5D9A84E6809339018C2D08 -:1009A0009B2D03C0A092E800F3CF0F90DF91CF9171 -:1009B0001F910F91FF90EF90DF90CF90BF90AF907D -:1009C0009F908F907F906F9008951092E900109201 -:1009D00036011092350190933401809333010895CC -:1009E000CF92DF92FF920F931F93CF93DF9300D0AC -:1009F000CDB7DEB7F82E8A016B0101151105B1F0F4 -:100A0000F601F7FE02C0849101C0808149835A83B8 -:100A10000E94530301501109FFEFCF1ADF0A4981E9 -:100A20005A818111EACF8FEF9FEF01C0CA010F9069 -:100A30000F90DF91CF911F910F91FF90DF90CF909A -:100A400008951F93CF93DF931F92CDB7DEB7162F74 -:100A50002091E80022FFFCCF612F79830E94B70329 -:100A60008BEF8093E800812F7981972F0F90DF9192 -:100A7000CF911F910895CF93DF931F92CDB7DEB72B -:100A80001982CE0101960E945707CE0101960E945D -:100A9000F207898190E00F90DF91CF9108951F9226 -:100AA0000F920FB60F921124EF92FF920F931F93A4 -:100AB0002F933F934F935F936F937F938F939F9366 -:100AC000AF93BF93EF93FF93CF93DF93CDB7DEB791 -:100AD0006297DEBFCDBF1092E9008091E80083FFEE -:100AE000EBC068E0CE010A960E94B70382EF8093C4 -:100AF000E8009A8597FF05C08091E80080FFFCCF51 -:100B000003C08EEF8093E800892F807609F0B9C08A -:100B10008B85811105C01092F1001092F100C5C0C3 -:100B2000282F2D7F213009F4C0C0853049F48091F1 -:100B3000E80080FFFCCF8C8580688093E300B5C01F -:100B4000863009F076C02D85E888F988223071F565 -:100B500080E090E02A8B0E94E5040E943B0599E02A -:100B60008E010F5F1F4FF801392F11923A95E9F767 -:100B700099832A892A8391E09E8390E898879AEF47 -:100B800099872091350130913601275F3F4F3C8393 -:100B90002B838D83C7010E94E50449E050E0B80132 -:100BA00080E00E94F0040E943B057FC0C7012A8BB1 -:100BB0000E94E5042A89223241F482E290E00E94F8 -:100BC000FD07892B09F071C074C0213069F4888950 -:100BD0009989089711F42093320180913201811193 -:100BE00018C067E571E01AC0233009F062C08C8537 -:100BF000882391F0823021F46DE085E791E006C012 -:100C0000813009F056C06BE089E691E00E948103D3 -:100C10004AC065E471E002C063E871E061157105E6 -:100C200009F447C0FB01449150E080E80E94F004C1 -:100C30003CC0873009F43DC0883021F481E08093C6 -:100C4000F10033C0893089F5937099F5E1E4F1E062 -:100C500081E021E096E38093E9002093EB0034915A -:100C60003093EC009093ED008F5F3196853099F7CB -:100C70008EE78093EA001092EA008C85809337011A -:100C800014C0888999890E94E5048E85811105C068 -:100C9000CE010A960E94620706C0823051F4CE014E -:100CA0000A960E942508882321F08EEF8093E800A1 -:100CB00003C081E28093EB0062960FB6F894DEBF2A -:100CC0000FBECDBFDF91CF91FF91EF91BF91AF915B -:100CD0009F918F917F916F915F914F913F912F9154 -:100CE0001F910F91FF90EF900F900FBE0F901F90EC -:100CF00018958093E9008091F200882319F08AE327 -:100D00008093E80008951F920F920FB60F9211245E -:100D10002F933F934F935F936F937F938F939F9303 -:100D2000AF93BF93EF93FF938091E1001092E100A6 -:100D300083FF0FC01092E90091E09093EB001092B6 -:100D4000EC0092E39093ED001092370198E09093BD -:100D5000F00082FF1DC083E00E9479068091390176 -:100D6000882339F08091390181508093390188239B -:100D700069F080913801882359F0809138018150C1 -:100D800080933801811104C0289802C05D98F1CF8A -:100D9000FF91EF91BF91AF919F918F917F916F9153 -:100DA0005F914F913F912F910F900FBE0F901F9029 -:100DB00018951092370181E08093D70080EA8093E4 -:100DC000D80082E189BD09B400FEFDCF61E070E08A -:100DD00080E090E00E94150280E98093D8008CE0CA -:100DE0008093E2001092E000559A209A5D9828982E -:100DF00008950895CF93DF931F92CDB7DEB769832F -:100E0000DC01ED91FC910280F381E02D41E050E0A6 -:100E1000BE016F5F7F4F09950F90DF91CF910895CD -:100E2000CF93DF93EC018C859D8597FF05C082E011 -:100E30000E9424049D878C878C859D85DF91CF91AE -:100E4000089583E00C947906FC018485958597FDCF -:100E500006C082E00E94CC0390E00196089582E0F3 -:100E60000E94CC0390E00895FC018485958597FD50 -:100E700005C02FEF3FEF35872487089582E00C945B -:100E80002404CF93DF93EC0180910701882331F094 -:100E900083E00E9455041816190634F081E090E0B2 -:100EA0009B838A8380E090E0DF91CF910895FC01DD -:100EB00020812E5F208342E450E067E871E080E803 -:100EC0000C94F004FC0181819081913A59F48132B3 -:100ED00009F03CC047E050E060E071E080E00E9433 -:100EE000F00443C0913291F5803239F467E070E04C -:100EF00080E091E00E94210506C0823209F035C0F1 -:100F00008281809307018091000190910101A0915D -:100F10000201B0910301803B9440A105B105C1F4E9 -:100F20008091070180FD14C087E797E7909301083F -:100F3000809300082BE088E190E00FB6F894A89524 -:100F4000809360000FBE209360000FC080E0089582 -:100F500088E10FB6F89480936000109260000FBE95 -:100F6000A895109201081092000881E0089510924F -:100F70003D0110923C0188EE93E0A0E0B0E0809348 -:100F80003E0190933F01A0934001B09341018EE058 -:100F900091E090933B0180933A018FEF9FEF909304 -:100FA0004701809346010895FF920F931F93CF93BB -:100FB000DF93EC01F62EE881F9810480F581E02DC4 -:100FC00009958C01E881F9810680F781E02D6F2D6C -:100FD000CE010995C8019927DF91CF911F910F91FB -:100FE000FF900895FC0120812F5F208349E150E0AC -:100FF00069E472E080E80C94F00445E650E062E6B3 -:1010000072E080E80C94F004EF92FF920F931F932C -:10101000CF93DF931F92CDB7DEB789838B017A011F -:1010200041E050E0BE016F5F7F4F84E00E945504B5 -:10103000A701B80184E40E9455040F90DF91CF917D -:101040001F910F91FF90EF900895FC019181808195 -:10105000813A31F481E0913091F0933089F411C0FC -:10106000813271F49B3021F482818093090105C0A3 -:101070009A3031F482818093080181E008950895C7 -:1010800080E0089548E050E082E00C940408CF939B -:10109000DF93DC01683818F0E8E7E60F25C0E62F9B -:1010A000F0E067FF11C0E058F10981E090E001C075 -:1010B000880FEA95EAF714969C911497982B14964A -:1010C0009C931497E0E010C0E753FE4FE491EE23A9 -:1010D00009F440C0E7FF08C014968C911497826011 -:1010E00014968C931497EF7716968C9116978E170B -:1010F00041F117968C9117978E1719F118968C91CC -:1011000018978E17F1F019968C9119978E17C9F0D0 -:101110001A968C911A978E17A1F01B968C911B979B -:101120008E1779F080E090E0ED01C80FD91F2E8175 -:10113000211102C0EE8305C0019686309105A1F70A -:1011400009C0BD016C5F7F4FCD010E94420881E064 -:1011500090E008C081E090E013969C938E931297E4 -:1011600080E090E0DF91CF910895683818F0E8E7CB -:10117000E60F25C0E62FF0E067FF12C0E058F10946 -:1011800021E030E001C0220FEA95EAF72095DC016A -:1011900014963C911497322314963C93E0E00FC0D0 -:1011A000E753FE4FE491EE2329F1E7FF08C0DC018D -:1011B00014962C9114972D7F14962C93EF7720E0A2 -:1011C00030E0EE2351F0DC01A20FB31F16964C91D4 -:1011D00016974E1302C016961C922F5F3F4F263073 -:1011E000310579F7BC016C5F7F4F0E94420881E0B6 -:1011F00090E0089580E090E00895FC011682178247 -:1012000010861186128613861482BC016C5F7F4F94 -:101210000C9442081092960110928D0110928C014C -:101220008EE191E090938B0180938A010895CF9293 -:10123000DF92EF92FF920F931F93CF93DF936C0196 -:101240007A01EB01E60EF71E00E010E0CE15DF0597 -:1012500061F06991D601ED91FC910190F081E02D52 -:10126000C6010995080F191FF1CFC801DF91CF9171 -:101270001F910F91FF90EF90DF90CF900895EE0FA8 -:0E128000FF1F0590F491E02D0994F894FFCF24 -:10128E0000E1000000000000010100000000FA066D -:10129E004107240734071007210700000000D40778 -:0812AE0017094708B508FD0807 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/micro/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/micro/StandardFirmata.cpp.hex deleted file mode 100644 index 925adaa1..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/micro/StandardFirmata.cpp.hex +++ /dev/null @@ -1,996 +0,0 @@ -:100000000C9499010C94C1010C94C1010C94C10190 -:100010000C94C1010C94C1010C94C1010C94C10158 -:100020000C94C1010C94C1010C94B71A0C9483195F -:100030000C94C1010C94C1010C94C1010C94C10138 -:100040000C94C1010C943C0A0C94C1010C94C101A4 -:100050000C94C1010C94C1010C94C1010C94ED12DB -:100060000C94C1010C94C1010C94C1010C94C10108 -:100070000C94C1010C94C1010C94C1010C94C101F8 -:100080000C94C1010C94C1010C94C1010C94C101E8 -:100090000C94000E0C94C1010C94C1010C94C1018C -:1000A0000C94C1010C94C1010C94C10182099E09F8 -:1000B000C2089E0933099E09A0084F089E099E099F -:1000C0009E099E099E0966079E0935089E098708B4 -:1000D00046144B1450145A146414AE14AE14AE14D7 -:1000E0006E14781482148C149914AE14A114CF14C5 -:1000F000D214C114C514CB14F314F314F314D6148E -:10010000DA14DE14E414E814F314EE1407060504FC -:100110000100080A0B0C0D090000000200090F0085 -:1001200000030401000C00000000000000000000BB -:100130000000000000000408020110408040102070 -:10014000408040800802040180402010020110809D -:1001500010204040040404040403040502020202C7 -:100160000403020202020606060606060404020250 -:100170000204000000002300260029002C002F00AC -:1001800000000000250028002B002E003100000098 -:100190000000240027002A002D003000080B000278 -:1001A000020201000904000001020200000524000F -:1001B00010010524010101042402060524060001A2 -:1001C0000705810310004009040100020A00000035 -:1001D000070502024000000705830240000000C13D -:1001E0008081C112010002020000404123378000DB -:1001F000010102000112010002000000404123370A -:100200008000010102000141726475696E6F204C2B -:100210004C430041726475696E6F204D6963726F63 -:10022000000403090400000000000000002A2B283D -:1002300000000000000000000000000000000000BE -:1002400000000000002C9EB4A0A1A2A434A6A7A583 -:10025000AE362D3738271E1F20212223242526B312 -:1002600033B62EB7B89F8485868788898A8B8C8D14 -:100270008E8F909192939495969798999A9B9C9D26 -:100280002F3130A3AD350405060708090A0B0C0D04 -:100290000E0F101112131415161718191A1B1C1D06 -:1002A000AFB1B0B50009040200010300000009214C -:1002B00001010001226500070584034000010501DA -:1002C0000902A1010901A1008501050919012903FC -:1002D00015002501950375018102950175058103BE -:1002E00005010930093109381581257F7508950305 -:1002F0008106C0C005010906A1018502050719E0B4 -:1003000029E71500250175019508810295017508F9 -:1003100081039506750815002565050719002965EF -:100320008100C000CB061E0DDE12E2124F16B2167F -:10033000AB1C11241FBECFEFDAE0DEBFCDBF11E052 -:10034000A0E0B1E0E4E2FDE302C005900D92A43F1D -:10035000B107D9F724E0A4EFB1E001C01D92A83B9A -:10036000B207E1F713E0C2E3D3E004C02297FE0135 -:100370000E94171DC432D107C9F70E94C2160C94FF -:10038000901E0C9400001F93CF93DF93162F8430A0 -:1003900008F06CC0982F990F990F990F985F9F31B3 -:1003A00008F09EE1D82FDD0FDD0FDD0F8D2FC0E0AF -:1003B00041E08917C8F4E82FF0E0DF01A053BD4FFA -:1003C0002C91223070F4C42BEE0FFF1FE057FD4F2D -:1003D00021E030E0542F512311F420E030E031834C -:1003E0002083440F8F5FE5CFC0FF05C0612F617090 -:1003F0008D2F0E942D15C1FF06C0612F627081E014 -:100400008D0F0E942D15C2FF06C0612F647082E01F -:100410008D0F0E942D15C3FF06C0612F687083E009 -:100420008D0F0E942D15C4FF06C0612F607184E0FE -:100430008D0F0E942D15C5FF06C0612F607285E0EB -:100440008D0F0E942D15C6FF06C0612F607486E0D7 -:100450008D0F0E942D15C7FF09C0612F607887E0BE -:100460008D0FDF91CF911F910C942D15DF91CF91BE -:100470001F9108950F931F93CF93DF93EB018E315C -:1004800078F5082F10E0F801E053FD4F908193308C -:1004900089F0943029F5F801ED5FFD4F208130E0BF -:1004A000C901880F991F820F931F8F5D9D4F0E9476 -:1004B000D90B0FC0833051F09BEF980F923030F082 -:1004C00097EF980F933010F08D3019F4BE010E9411 -:1004D0002014F801EE0FFF1FE057FD4FD183C083BA -:1004E000DF91CF911F910F910895CF93C82F8C303A -:1004F00058F54091F6025091F70221E030E0082EC5 -:1005000002C0220F331F0A94E2F7672B49F42095AB -:100510003095242335233093F7022093F60214C03C -:10052000242B352B3093F7022093F6028091F401AF -:1005300081110AC08C2F0E94EF13AC016C2F8EED3D -:1005400093E0CF910C94A810CF910895DB019A010C -:100550009091F5019C30D0F54091F601682F70E044 -:10056000442369F0E42FF0E0EA50FE4F8081FB0164 -:10057000ED5FFD4F808341504093F60107C0FB01C2 -:10058000ED5FFD4F90839F5F9093F501FB01ED5F61 -:10059000FD4F1A161B067CF41216130664F44081F4 -:1005A00050E0CA01880F991F840F951FAD018F5D20 -:1005B0009D4F0C94140B208130E0C901880F991FC6 -:1005C000820F931F8F5D9D4F0C94920B68E171E039 -:1005D0008EED93E00C943711CF93DF93C82FD0E0CA -:1005E000CD5FDD4F288130E0C901880F991F820F50 -:1005F000931F8F5D9D4F0E94980B88819091F5010C -:10060000891306C0882379F081508093F5010BC0CF -:10061000992349F0E091F601EF5FE093F601F0E0F5 -:10062000EA50FE4F80838FEF8883DF91CF9108954A -:100630001F93CF93DF93162FC82FD0E0FE01E45312 -:10064000FD4F90811923C251DD4F411103C09881A4 -:10065000911741F0412F50E0682F8EED93E00E94FA -:10066000C1101883DF91CF911F910895EF92FF92EF -:100670000F931F93CF93DF93E82E83E08E1508F43A -:1006800075C02E2D30E0F901EE50FD4F6083672BD1 -:1006900009F46CC0F901E453FD4FF0800E2D000FFA -:1006A000000F000FF0FE52C0802F0E946315892BAF -:1006B00009F44CC011E0C02FD0E0F1FE07C081E08A -:1006C000800F0E946315892B09F042C0F2FE06C01C -:1006D00082E0800F0E946315892BE1F5F3FE06C0CE -:1006E00083E0800F0E946315892BB1F5F4FE06C0EC -:1006F00084E0800F0E946315892B81F5F5FE06C00A -:1007000085E0800F0E946315892B51F5C831D10512 -:1007100041F0F6FE06C086E0800F0E946315892B2B -:1007200009F5679744F4F7FE06C087E0800F0E9442 -:100730006315892BC9F441E0612F8E2DDF91CF9194 -:100740001F910F91FF90EF900C94180310E0B3CF1E -:100750001260BCCF1460C2CF1860C8CF1061CECF7A -:100760001062D4CF1064DDCF1068E5CFDF91CF9158 -:100770001F910F91FF90EF900895CF93DF93809199 -:10078000F202882309F448C0D091CC02D0FF1DC1E9 -:1007900080E00E946315892B09F417C1C1E0D1FFE5 -:1007A00006C081E00E946315892B09F010C1D2FFB9 -:1007B00006C082E00E946315892B09F00AC1D3FFAD -:1007C00006C083E00E946315892B09F004C1D4FFA1 -:1007D00006C084E00E946315892B09F0FEC0D5FF96 -:1007E00006C085E00E946315892B09F0F8C0D6FF8A -:1007F00006C086E00E946315892B09F0F2C0D7FF7E -:1008000006C087E00E946315892B09F0ECC040E028 -:100810006C2F80E00E9418038091F302882309F472 -:1008200048C0D091CD02D0FFE0C088E00E9463159F -:10083000892B09F4DAC0C1E0D1FF06C089E00E942B -:100840006315892B09F0D3C0D2FF06C08AE00E944D -:100850006315892B09F0CDC0D3FF06C08BE00E9441 -:100860006315892B09F0C7C0D4FF06C08CE00E9435 -:100870006315892B09F0C1C0D5FF06C08DE00E9429 -:100880006315892B09F0BBC0D6FF06C08EE00E941D -:100890006315892B09F0B5C0D7FF06C08FE00E9411 -:1008A0006315892B09F0AFC040E06C2F81E00E94F6 -:1008B00018038091F402882309F448C0D091CE0235 -:1008C000D0FFA3C080E10E946315892B09F49DC06D -:1008D000C1E0D1FF06C081E10E946315892B09F0B8 -:1008E00096C0D2FF06C082E10E946315892B09F0F1 -:1008F00090C0D3FF06C083E10E946315892B09F0E5 -:100900008AC0D4FF06C084E10E946315892B09F0D8 -:1009100084C0D5FF06C085E10E946315892B09F0CC -:100920007EC0D6FF06C086E10E946315892B09F0C0 -:1009300078C0D7FF06C087E10E946315892B09F0B4 -:1009400072C040E06C2F82E00E9418038091F50293 -:10095000882309F476C0D091CF02D0FF66C088E129 -:100960000E946315892B09F460C0C1E0D1FF06C065 -:1009700089E10E946315892B09F059C0D2FF06C096 -:100980008AE10E946315892B09F053C0D3FF06C08A -:100990008BE10E946315892B09F04DC0D4FF06C07E -:1009A0008CE10E946315892B09F047C0D5FF06C072 -:1009B0008DE10E946315892B09F041C040E06C2F46 -:1009C00083E0DF91CF910C941803C0E0E8CEC260C1 -:1009D000EECEC460F4CEC860FACEC06100CFC06273 -:1009E00006CFC0640CCFC06812CFC0E025CFC26074 -:1009F0002BCFC46031CFC86037CFC0613DCFC0625C -:100A000043CFC06449CFC0684FCFC0E062CFC2605F -:100A100068CFC4606ECFC86074CFC0617ACFC06247 -:100A200080CFC06486CFC0688CCFC0E09FCFC2604B -:100A3000A5CFC460ABCFC860B1CFC061B7CFC06233 -:100A4000BDCFDF91CF910895109247028FEF809331 -:100A50000A010895CF92DF92EF92FF920F931F93B6 -:100A6000CF93DF93182FEB01E82EF12CC7018053B1 -:100A70009D4F6C01FC0180818F3709F4EEC08630F8 -:100A800051F480914702882331F06630710509F4F2 -:100A9000E0C00E9424051E31A8F4C430D10591F0B5 -:100AA000F701ED5FFD4F20812C3060F430E0C9018B -:100AB000880F991F820F931F8F5D9D4F0E943E0CE0 -:100AC0008111B4C00EEE010F0C3058F461E070E0FB -:100AD000C230D10511F060E070E0802F0E947502F5 -:100AE00002C01E31D0F4E12FE695E695E695812F00 -:100AF0008770F0E0E453FD4F21E030E0082E01C0A4 -:100B0000220F0A94EAF7209721F48081822B8083B8 -:100B100004C02095808128232083F701EE0FFF1F5A -:100B2000E057FD4F11821082C230D10579F02CF4CC -:100B30002097C9F0219729F16BC0C430D10509F481 -:100B400045C064F1269709F45BC062C00C3008F020 -:100B500084C060E0812F0E94F41460E0812F0E9425 -:100B60002D1582E052C01E3108F077C060E0812F61 -:100B70000E94F41460E0812F0E942D15F60110826E -:100B80006CC01E3108F069C060E0812F0E942D15F5 -:100B900061E0812F0E94F41481E037C0133059F0D6 -:100BA0008BEF810F823038F087EF810F833018F0A0 -:100BB0001D3009F052C061E0812F0E94F41460E002 -:100BC00070E0812F0E94201483E01FC01E3108F0C6 -:100BD00044C084E0F6018083F701ED5FFD4F808122 -:100BE0008F3F41F190E09C01220F331F280F391FE6 -:100BF000C9018F5D9D4F0E943E0C81112EC01AC00D -:100C00008EEF810F823048F586E0F601808325C0A3 -:100C10006CE271E08EED93E0DF91CF911F910F9127 -:100C2000FF90EF90DF90CF900C943711812F0E94AE -:100C3000EC0248CF4FEF5FEF6FEF7FEF812FDF9137 -:100C4000CF911F910F91FF90EF90DF90CF900C9478 -:100C5000A6021E3108F424CF35CFDF91CF911F912A -:100C60000F91FF90EF90DF90CF900895CF93C0E069 -:100C70008EEF8C0F823028F466E070E08C2F0E949B -:100C80002A05CF5FCE31A1F781E0809347028EE144 -:100C900093E0CF910C94E40C0F931F93CF93DF93C9 -:100CA00081E08093F4018091470281110E94240524 -:100CB000E2EFF2E0CCECD2E0AEEEB2E011921992AB -:100CC0001D9282E0E63FF807C9F7C3E0D2E010E0EA -:100CD0000FEF8EEE810F8C3018F462E070E002C0EE -:100CE00061E070E0812F0E942A0509931F5F1E3189 -:100CF00081F71092F7021092F6021092F60110920C -:100D0000F5011092F401DF91CF911F910F91089599 -:100D100024E042E06DE371E08EED93E00E94CF0F9E -:100D20004AE352E060EE8EED93E00E94451143EC01 -:100D300051E060E98EED93E00E94451145E752E0F5 -:100D400060EC8EED93E00E94451146E353E060EDC8 -:100D50008EED93E00E9445114AE255E064EF8EED7E -:100D600093E00E94451142E557E060EF8EED93E07D -:100D70000E9470114CE456E06FEF8EED93E00E94FC -:100D8000681140E051EE60E070E08EED93E00E946B -:100D9000C8120C944C06CF93DF93C1E2D2E0CE018F -:100DA0000E94F80A239682E0C534D807C1F7DF9184 -:100DB000CF910895682F8EE193E00C94A50C8EE1FD -:100DC00093E00E94550C0895DF92EF92FF920F93EB -:100DD0001F93CF93DF93F82EEB01D42E6F3F8FEF4D -:100DE0007807A9F06F2D8EE193E00E94FE0C8C2F06 -:100DF0000E94DA068EE193E00E941B0D809145026D -:100E000090914602009729F00E948E1302C0C0E024 -:100E1000D0E04D2D6F2D8EE193E00E94FB0C0D2D47 -:100E200010E08EE193E00E944D0C081719071CF4A6 -:100E300061E571E009C08EE193E00E944D0C8017DE -:100E4000910734F46EE671E08EED93E00E94371165 -:100E5000F0924802C09349028AE4E82E82E0F82E1C -:100E6000C0E0D0E0C017D10784F042E04D0D28E487 -:100E700032E067E78EED93E0DF91CF911F910F9104 -:100E8000FF90EF90DF900C94EF108EE193E00E94C2 -:100E90004D0C892B51F30E94DF06F70181937F01EE -:100EA0002196E0CFEF92FF920F931F93CF93DF93A2 -:100EB000162FEA0190E0FC01E956F109E231F10553 -:100EC00008F03CC2EA5AFF4F0C94151D8981982FF7 -:100ED000987185FF03C06AE871E056C08881983038 -:100EE00071F148F491112AC2682F8EE193E00E94BB -:100EF000FE0C02E007C0903109F440C0983109F4BB -:100F000071C01CC2011768F4FE01E00FF11D918150 -:100F1000808120E8929F801911240E94DA060E5FDA -:100F2000F1CF8EE193E00E941B0D86E490E0DF910B -:100F3000CF911F910F91FF90EF900C948E134A81E7 -:100F40006B81163069F430E8639FB0011124640F9F -:100F5000711D9D814C8150E8959F4019112406C058 -:100F600090E8699F401911246FEF7FEFDF91CF91D7 -:100F70001F910F91FF90EF900C94E406E0910A010D -:100F8000E73064F06AEA71E08EED93E0DF91CF9193 -:100F90001F910F91FF90EF900C9437119A812B8144 -:100FA000F0E8663061F42F9F90011124290F311D64 -:100FB0004D819C8150E8459F9019112405C02F9FB9 -:100FC000901911242FEF3FEFEF5FE0930A0144E007 -:100FD000E402F0011124E859FD4F8083328321831C -:100FE0009383ACC150910A01151634F440E0252FCB -:100FF000332727FD30950EC08FEF80930A019EC1E5 -:10100000EE0FFF1FEE0FFF1FE859FD4F908198175D -:1010100019F14F5FE42FF0E02E173F078CF740E007 -:101020001BC04830C0F4DF01AA0FBB1FAA0FBB1FB3 -:10103000A459BD4F8C91EE0FFF1FEE0FFF1FE85913 -:10104000FD4F808311968D919C911297928381839D -:1010500013968C9183834F5FE42FF0E02E173F07A8 -:1010600004F7515050930A0169C12881898150E8E1 -:10107000859FC0011124820F911D009721F090934C -:1010800046028093450280914702811157C1DF914A -:10109000CF911F910F91FF90EF900C943606653021 -:1010A00008F44CC118810981FA80EB80CC811E3193 -:1010B00008F044C1E12FF0E0ED5FFD4FE081EC303E -:1010C00060F4F0E0CF01880F991F8E0F9F1F8F5D96 -:1010D0009D4F0E943E0C81112DC180E8C89FA00148 -:1010E00011244E0D511D90E8F99EB0011124600F9E -:1010F000711D812F0E94A60264E070E0812FDF91B4 -:10110000CF911F910F91FF90EF900C942A056230C0 -:1011100008F414C128818981E0E88E9FC001112460 -:10112000820F911D90930C0180930B010A9708F098 -:1011300005C18AE090E090930C0180930B01FEC002 -:10114000623008F4FBC0698170E0123091F08A814E -:10115000F0E88F9FC0011124682B792B133049F0E0 -:101160008B8190E090E4899F902D88271124682B33 -:10117000792B8881DF91CF911F910F91FF90EF9094 -:101180000C943A0260EF8EED93E00E943B116CE606 -:101190008EED93E00E943B11C0E060E08EED93E0A5 -:1011A0000E943B1161E08EED93E00E943B1161E0F3 -:1011B0008EED93E00E943B1161E08EED93E00E9482 -:1011C0003B118EEE8C0F8C3058F462E08EED93E084 -:1011D0000E943B116AE08EED93E00E943B110DC02E -:1011E000C33059F463E08EED93E00E943B1168E058 -:1011F0008EED93E00E943B110AC08BEF8C0F823082 -:1012000088F387EF8C0F833068F3CD3059F364E0B7 -:101210008EED93E00E943B116EE08EED93E00E9414 -:101220003B118EEF8C0F823050F466E08EED93E030 -:101230000E943B1161E08EED93E00E943B116FE74D -:101240008EED93E00E943B11CF5FCE3109F0A5CF28 -:1012500067EF8EED93E0DF91CF911F910F91FF909B -:10126000EF900C943B11662309F468C0C88160EFCD -:101270008EED93E00E943B116EE68EED93E00E94AE -:101280003B116C2F8EED93E00E943B11CE3100F7A5 -:10129000D0E0FE01E053FD4F60818EED93E00E94AF -:1012A0003B11CC0FDD1F8E0100571D4FF8016081EF -:1012B0006F778EED93E00E943B11F80160817181A0 -:1012C000CB018078892B49F0660F672F661F770B5B -:1012D0006F778EED93E00E943B11C057DD4F688120 -:1012E0007981CB018827907C892B09F4B1CF770FC6 -:1012F000660B770F762F661F6F778EED93E00E9457 -:101300003B11A6CF60EF8EED93E00E943B116AE6A1 -:101310008EED93E00E943B11CEEECC3010F06FE7E3 -:1013200001C06C2F8EED93E00E943B11CF5FCC305B -:10133000A1F78ECF812F0E94EC02CFCEDF91CF910B -:101340001F910F91FF90EF9008958F929F92AF920F -:10135000BF92CF92DF92EF92FF920F931F93CF93A2 -:10136000DF930E94BD038EED93E00E942F10892B26 -:1013700029F08EED93E00E949B11F5CF0E94371368 -:1013800060938C0270938D0280938E0290938F02F3 -:10139000C0908802D0908902E0908A02F0908B027F -:1013A00040910B0150910C014A01A12CB12C8B01F1 -:1013B0009C010C191D092E093F0980169106A206F1 -:1013C000B30608F04CC0D501C4018C0D9D1DAE1DA7 -:1013D000BF1D8093880290938902A0938A02B093E4 -:1013E0008B02C0EDD2E01EEE1C30C0F4888182304A -:1013F000A9F42091F6023091F702012E02C0359532 -:1014000027950A94E2F720FF09C0812F0E94EF136D -:10141000AC01612F8EED93E00E94A8101F5F219612 -:101420001C3011F780910A0187FD19C0C0E0EC2F34 -:10143000F0E080910A01992787FD90958E179F070C -:1014400074F0EE0FFF1FEE0FFF1FE859FD4F618193 -:101450007281438180810E94E406CF5FE8CFDF91F3 -:10146000CF911F910F91FF90EF90DF90CF90BF90A1 -:10147000AF909F908F9008951F920F920FB60F928A -:1014800011242F933F934F935F936F937F938F9389 -:101490009F93AF93BF93EF93FF938091F90287FFE0 -:1014A00005C010928500109284001AC02091F902A4 -:1014B000332727FD30958091F80290E028173907EF -:1014C0007CF48091F902992787FD9095FC01EE0F3D -:1014D000FF1FE80FF91FE650FD4F808186FD15C004 -:1014E0008091F9028F5F8093F9022091F9023327EE -:1014F00027FD30958091F80290E028173907BCF459 -:101500008091F9028C305CF112C08091F902992728 -:1015100087FD9095FC01EE0FFF1FE80FF91FE650C5 -:10152000FD4F808160E08F730E942D15D9CF80918F -:10153000840090918500049680349C4918F480E4DE -:101540009CE905C080918400909185000496909359 -:101550008900809388008FEF8093F90238C0209132 -:101560008400309185008091F902992787FD90953C -:10157000FC01EE0FFF1FE80FF91FE650FD4F8181C0 -:101580009281820F931F90938900809388008091AD -:10159000F902992787FD9095FC01EE0FFF1FE80FD8 -:1015A000F91FE650FD4F808186FF11C08091F9023E -:1015B000992787FD9095FC01EE0FFF1FE80FF91F9B -:1015C000E650FD4F808161E08F730E942D15FF91E1 -:1015D000EF91BF91AF919F918F917F916F915F91AB -:1015E0004F913F912F910F900FBE0F901F90189524 -:1015F0002091F8022C30A0F431E0320F3093F80241 -:10160000FC012083822F90E0FC01EE0FFF1FE80F0A -:10161000F91FE650FD4F88EB9BE09283818308958C -:101620002FEFFC0120830895DF92EF92FF920F933A -:101630001F93CF93DF93EC01D62E7A018901888125 -:101640008C3008F066C061E08D2D0E94F414888112 -:10165000A82FB0E0FD01EE0FFF1FEA0FFB1FE650C1 -:10166000FD4F2D2D2F739081907C922B908360E203 -:1016700072E06E197F0977FF02C06D5F7F4F75952D -:10168000679575956795698340E659E0401B510B56 -:1016900057FF02C04D5F5F4F55954795559547954C -:1016A0004A836CE00E94C81C9CE0899FB001112411 -:1016B00020E030E0A901460F571FFA01EE0FFF1F8F -:1016C000E40FF51FE650FD4F908196FD16C02F5F89 -:1016D0003F4F2C30310571F781110FC010928000FF -:1016E00082E0809381001092850010928400B19A6C -:1016F00080916F00826080936F00888190E0FC0190 -:10170000EE0FFF1FE80FF91FE650FD4F8081806448 -:1017100080838881DF91CF911F910F91FF90EF908F -:10172000DF90089520E639E040E252E00C94140B7B -:10173000FC01808190E0FC01EE0FFF1FE80FF91F14 -:10174000E650FD4F80818F7B80830895FC0180816E -:101750008C3070F5918128E830E0291B310997FD24 -:101760003395220F331F220F331F621773077CF04C -:10177000928128E532E0291B310997FD3395220F2C -:10178000331F220F331F621773070CF49B01225083 -:101790003109220F331F4FB7F89490E0FC01EE0F90 -:1017A000FF1FE80FF91FE650FD4F328321834FBF23 -:1017B00008954F925F926F927F92AF92BF92CF92B5 -:1017C000DF92EF92FF920F931F93CF93DF93EC0181 -:1017D000603282E078070CF040C077FD06C0653BC0 -:1017E00071052CF064EB70E002C060E070E089816C -:1017F00028E830E0281B310987FD3395220F331F7D -:10180000220F331F5901CC24B7FCC094DC2C88274D -:1018100077FD8095982F2A8148E552E0421B5109B7 -:1018200027FD5395440F551F440F551F2A01662469 -:1018300057FC6094762C7F926F925F924F9214EBDC -:10184000E12EF12C00E010E020E030E0A9010E9440 -:101850002D1B0F900F900F900F90CE01DF91CF9125 -:101860001F910F91FF90EF90DF90CF90BF90AF90BE -:101870007F906F905F904F900C94A60BFC0180813D -:1018800090E0FC01EE0FFF1FE80FF91FE650FD4F3F -:10189000808186FB882780F9089580914E0390E02F -:1018A00020914F03821B9109089520914F0380914D -:1018B0004E03281750F4E22FF0E0E05BFC4F8081EC -:1018C00090E02F5F20934F0308958FEF9FEF0895CF -:1018D000E0914F0380914E03E81730F4F0E0E05BB5 -:1018E000FC4F808190E008958FEF9FEF0895089559 -:1018F000CF92DF92EF92FF920F931F93CF93DF93DC -:101900007C01CB018A0120912A03222389F0EB017B -:101910006B01C40ED51ECC15DD0569F06991D701A8 -:10192000ED91FC910190F081E02DC7010995F3CF75 -:10193000642F0E94D70DC801DF91CF911F910F91A5 -:10194000FF90EF90DF90CF900895CF93DF931F9299 -:10195000CDB7DEB7698320912A032223D1F02091ED -:101960002B03203240F021E030E0FC01338322835E -:1019700080E090E015C080912C03E82FF0E0E35D5B -:10198000FC4F998190838F5F80932C0380932B036E -:1019900005C061E0CE0101960E94D70D81E090E084 -:1019A0000F90DF91CF910895FC011382128248EECF -:1019B00053E060E070E044835583668377838FEB68 -:1019C00091E091838083089510924F0310924E030B -:1019D00010922C0310922B030C94220D862F41326F -:1019E00008F040E260E573E00E94400D10924F0362 -:1019F00080934E03089521E00C94EE0C81E08093D7 -:101A00002A0360934D0310922C0310922B03089528 -:101A10000F93062F21E040912B036DE273E080913C -:101A20004D030E94840D10922C0310922B031092F0 -:101A30002A030F91089561E00C94080D8EE193E064 -:101A40000C94D40C1092DD0381E08093DB031092A0 -:101A5000DA0361E082E00E942D1561E083E00E94DC -:101A60002D15E9EBF0E080818E7F808380818D7F72 -:101A7000808388E48093B80085E48093BC00089557 -:101A8000413208F03FC09091DD039111FCCF91E00D -:101A90009093DD032093DB032FEF209370031092CC -:101AA000B503240F2093B4039093DC039091DC03DF -:101AB000880F892B8093DC038091DA03813041F415 -:101AC0001092DA038091DC038093BB0085EC01C0A7 -:101AD00085EE8093BC008091DD038130E1F380913D -:101AE000B503841710F44091B50326EB33E0FB01F6 -:101AF000D9018A2F821B841718F48D918193F9CF15 -:101B0000842F089580E008950F93413208F046C075 -:101B10009091DD039111FCCF92E09093DD0300934F -:101B2000DB039FEF909370031092B5034093B403CF -:101B3000FB0166EB73E0DB019A2F961B941718F4F8 -:101B400091919D93F9CF1092DC039091DC03880F63 -:101B5000892B8093DC038091DA03813041F4109269 -:101B6000DA038091DC038093BB0085EC01C085EE35 -:101B70008093BC00222321F08091DD038230E1F3C9 -:101B8000809170038F3F61F080917003803251F03B -:101B900080917003803341F483E007C081E005C089 -:101BA00080E003C082E001C084E00F9108956132BB -:101BB00098F42091DD03243089F460939203FC01B2 -:101BC00084E993E0DC012A2F281B261718F42191C1 -:101BD0002D93F9CF80E0089581E0089582E0089583 -:101BE00085ED8093BC008091BC0084FDFCCF1092F9 -:101BF000DD03089585EC8093BC001092DD03089509 -:101C00001F920F920FB60F9211242F933F934F9371 -:101C10005F936F937F938F939F93AF93BF93EF9354 -:101C2000FF938091B900887F803609F49CC068F5E5 -:101C3000883209F45BC090F4803109F454C038F460 -:101C4000882309F4F5C0883009F44DC0F5C0883107 -:101C500009F44CC0803209F45DC0EEC0803409F450 -:101C600068C048F4803309F455C0883309F0E4C0F3 -:101C700080937003A8C0803509F44FC0883509F4FB -:101C80005DC0883409F0D8C0D5C0883909F4C6C011 -:101C9000A8F4883709F467C038F4883609F463C0BB -:101CA000803709F460C0C8C0883809F4B7C08039EB -:101CB00009F45FC0803809F0BFC05BC0803B09F405 -:101CC00085C038F4803A09F466C0883A09F47EC0C9 -:101CD000B3C0803C09F4A6C0883C09F4A3C0883B8B -:101CE00009F489C0A9C08091DC0310C09091B503AC -:101CF0008091B403981770F5E091B50381E08E0FE1 -:101D00008093B503F0E0EA54FC4F80818093BB00E0 -:101D100085EC85C0809370038DC0E091B50381E0B0 -:101D20008E0F8093B5038091BB00F0E0EA54FC4F26 -:101D300080839091B5038091B4036DC0E091B503A9 -:101D400081E08E0F8093B5038091BB00F0E0EA54F0 -:101D5000FC4F80838091DB0381116CC081E0809314 -:101D6000DA0384EA60C083E08093DD03109271039C -:101D7000CFCF80917103803208F050C0E0917103A1 -:101D800081E08E0F809371038091BB00F0E0EE58EC -:101D9000FC4F8083BDCF80917103803230F4E0919D -:101DA0007103F0E0EE58FC4F10820E94F00D60913C -:101DB000710370E0E091D603F091D70382E793E0DE -:101DC0000995109271030E94FA0D36C084E0809349 -:101DD000DD031092930310929203E091D803F091E7 -:101DE000D903099580919203811105C081E0809308 -:101DF000920310929403E091930381E08E0F8093FD -:101E00009303F0E0EC56FC4F80818093BB009091EF -:101E1000930380919203981708F47ACF85E8809312 -:101E2000BC000AC085EC8093BC001092DD0304C0A6 -:101E3000109270030E94F00DFF91EF91BF91AF914E -:101E40009F918F917F916F915F914F913F912F91D2 -:101E50000F900FBE0F901F9018950F931F93CF9365 -:101E6000DF93EC018B0188819981DC01ED91FC917C -:101E70006F770190F081E02D099588819981DC01CF -:101E8000ED91FC91B801660F672F661F770B6F7796 -:101E90000190F081E02DDF91CF911F910F91099476 -:101EA000DC018D919C91DC01ED91FC910190F08120 -:101EB000E02D60EF0994DC018D919C91DC01ED91A6 -:101EC000FC910190F081E02D67EF0994CF93DF93AF -:101ED000EC0188819981DC01ED91FC910190F08108 -:101EE000E02D69EF099588819981DC01ED91FC91E4 -:101EF0000190F081E02D62E0099588819981DC01F3 -:101F0000ED91FC910190F081E02D64E0DF91CF91A3 -:101F100009941F93CF93DF93EC018A818823D9F131 -:101F2000CE010E94500F88819981DC01ED91FC91D6 -:101F30000190F081E02D69E7099588819981DC01A4 -:101F4000ED91FC91AB81BC810190F081E02D6C9111 -:101F5000099588819981DC01ED91FC91AB81BC816F -:101F60000190F081E02D11966C91099512E08A8123 -:101F7000181758F4EB81FC81E10FF11D608170E0CE -:101F8000CE010E942D0F1F5FF2CFCE01DF91CF91C6 -:101F90001F910C945B0FDF91CF911F910895CF9209 -:101FA000DF92EF92FF920F931F93CF93DF938C01F9 -:101FB000EB01C42ED22E6BEC71E0CE010E94761E96 -:101FC0007C016FE270E0CE010E946B1E009739F435 -:101FD0006CE570E0CE010E946B1E009711F0EC01E1 -:101FE0002196E114F10451F4FE0101900020E9F77B -:101FF000EC1BEF5FD8011296EC9306C0EC1AFD0AB9 -:10200000E394E394F801E282D80113968D919C91B8 -:1020100014970E94CD1DF801E280F12CC7010196B2 -:102020000E94351DD80114969C938E931397FC0142 -:10203000EE0DFF1D1082FC01C082D18212964C91E0 -:1020400050E042505109BE010296DF91CF911F919D -:102050000F91FF90EF90DF90CF900C945C1EDC010D -:102060008D919C91DC01ED91FC910480F581E02D36 -:1020700009940F931F93CF93DF93FC0120852137A1 -:1020800049F0293709F049C0DF91CF911F910F9195 -:102090000C94890FFC01E95AFF4F0190F081E02D6B -:1020A000309709F450C0DC01A75BBF4F4D915C91A4 -:1020B0009A012150310937FD9A01B901759567954B -:1020C000062F40E050E020E030E04E5F5F4F2017E9 -:1020D000A0F4EC01C40FD51F1F81DC01A20FB31FB8 -:1020E00018961C931897C885D0E8CD9F1019112415 -:1020F00018961C932F5F3F4FE8CFDC01A60FB11D50 -:1021000017962C911797222311F018961C92089677 -:10211000DF91CF911F910F910994FC01E75AFF4F76 -:102120000190F081E02D309771F0AC01475F5F4F77 -:10213000DC01A75BBF4F6C916150822FDF91CF9183 -:102140001F910F910994DF91CF911F910F910895E5 -:102150000F931F93CF93DF93EC018A0188819981BC -:10216000DC01ED91FC916F70606E0190F081E02DCB -:102170000995B801CE01DF91CF911F910F910C9479 -:102180002D0F0F931F93CF93DF93EC018A0188816A -:102190009981DC01ED91FC916F7060690190F08193 -:1021A000E02D099588819981DC01ED91FC91602FEA -:1021B0006F770190F081E02D099588819981DC018C -:1021C000ED91FC91B801660F672F661F770B0190A8 -:1021D000F081E02DDF91CF911F910F910994CF9263 -:1021E000DF92EF92FF920F931F93CF93DF9300D074 -:1021F0001F92CDB7DEB78C01F42E2A833B8369830F -:102200000E94500FD8018D919C91DC01ED91FC91C1 -:102210000190F081E02D698109952A81E22EC22E7C -:102220003B81D32E8C2D8E198F1540F4F6016191D0 -:102230006F0170E0C8010E942D0FF4CFC8010F900C -:102240000F900F90DF91CF911F910F91FF90EF9022 -:10225000DF90CF900C945B0F9A01FA01019000205F -:10226000E9F73197E41BF50B4E2F0C94EF10AB01FF -:1022700061E70C942C11DC018D919C91DC01ED91B6 -:10228000FC910190F081E02D0994603DB9F028F4B3 -:10229000603961F0603C71F00895603E19F0643F70 -:1022A00089F00895FC01E55BFF4F0FC0FC01E35B83 -:1022B000FF4F0BC0FC01E15BFF4F07C0FC01EF5A71 -:1022C000FF4F03C0FC01ED5AFF4F51834083089537 -:1022D0006F3F29F4FC01EB5AFF4F5183408308956F -:1022E000875A9F4FFC01518340830895FC0115825A -:1022F0001682178280E090E0DF01A80FB91F1896C0 -:102300001C92019680349105B9F7DF01A85BBF4F9D -:102310001C9211961D921C92EB5AFF4F0190F08176 -:10232000E02D309709F009940895FC01128214827F -:1023300013820C947611CF93DF93EC0188819981FD -:10234000DC01ED91FC910680F781E02D0995FE01FD -:10235000E85BFF4F20812223B1F0873F910531F4E4 -:102360001082CE01DF91CF910C943910FE01E75B12 -:10237000FF4F20813181C20FD31F88872F5F3F4FCE -:10238000318320839DC02D81222309F45EC08038D3 -:1023900091050CF05AC09FEF920F9D83FE01E90F4B -:1023A000F11D808791118CC08E81882309F488C02B -:1023B000803DE9F148F48039E9F0803C09F043C000 -:1023C000FE01E15BFF4F36C0803E19F0843F19F1FA -:1023D0003AC0FE01E55BFF4F0190F081E02D3097A0 -:1023E00091F18885698570E0B0E88B9F600D711D63 -:1023F000112427C0FE01E35BFF4F0190F081E02D27 -:10240000309709F18885698570E090E8899F600DB3 -:10241000711D112416C0FE01ED5AFF4F0190F0818D -:10242000E02D309781F0688570E089850BC0FE0152 -:10243000EF5AFF4F0190F081E02D309721F0688531 -:1024400070E08F8109951E823BC0803F91052CF47E -:10245000282F2F702F83807F9927803E910521F1AF -:1024600054F4803C910511F1803D9105F9F08039DB -:10247000910531F519C0843F9105B1F054F4803FC6 -:102480009105F1F481E08083C75BDF4F19821882E8 -:1024900017C0893F910571F08F3F910589F4CE01F6 -:1024A000DF91CF910C94761192E001C091E09D8371 -:1024B0008E8306C08EED93E0DF91CF910C94660F72 -:1024C000DF91CF9108958F929F92AF92BF92CF925A -:1024D000DF92EF92FF921F93CF93DF93EB014A01BC -:1024E000690161E08DE00E94F41410E0EE24D7FC55 -:1024F000E094FE2CAA2497FCA094BA2C812F90E0A3 -:102500008C179D0794F4C701B6010E94661361E021 -:102510008DE00E942D15C501B4010E94661360E094 -:102520008DE00E942D151F5FE9CFDF91CF911F91A4 -:10253000FF90EF90DF90CF90BF90AF909F908F90E3 -:102540000895CF93DF93EC0161E08DE00E94F414D5 -:1025500022ED30E048E250E062E070E0CE010E94FF -:1025600063126AEF70E080E090E00E94661322ED53 -:1025700030E048E250E064E070E0CE010E94631277 -:102580006DE770E080E090E0DF91CF910C946613EE -:10259000CF93DF93EC0188E494E00E94491688E42D -:1025A00094E099838883CE010E94A112CE010E94FB -:1025B000660FCE01DF91CF910C94890F8EED93E0E1 -:1025C0000C9495110F9300E020E040E060E089E377 -:1025D00094E00E94A6160F9108951F920F920FB6D5 -:1025E0000F9211242F933F938F939F93AF93BF9399 -:1025F0008091400490914104A0914204B091430421 -:1026000030913F0423E0230F2D3720F40196A11DC4 -:10261000B11D05C026E8230F0296A11DB11D209310 -:102620003F048093400490934104A0934204B093EC -:1026300043048091440490914504A0914604B091D4 -:1026400047040196A11DB11D809344049093450455 -:10265000A0934604B0934704BF91AF919F918F918F -:102660003F912F910F900FBE0F901F9018952FB78D -:10267000F8946091400470914104809142049091DB -:1026800043042FBF08953FB7F8948091440490917C -:102690004504A0914604B091470426B5A89B05C007 -:1026A0002F3F19F00196A11DB11D3FBF6627782F5E -:1026B000892F9A2F620F711D811D911D42E0660FB7 -:1026C000771F881F991F4A95D1F70895CF92DF92FF -:1026D000EF92FF92CF93DF936B017C010E94431333 -:1026E000EB01C114D104E104F10489F00E94741BD0 -:1026F0000E9443136C1B7D0B683E734090F381E096 -:10270000C81AD108E108F108C851DC4FEACFDF91BF -:10271000CF91FF90EF90DF90CF9008958230910598 -:1027200038F0880F991F880F991F05970197F1F7C7 -:102730000895789484B5826084BD84B5816084BD39 -:1027400085B5826085BD85B5816085BDEEE6F0E02A -:10275000808181608083E1E8F0E010828081826086 -:102760008083808181608083E0E8F0E08081816007 -:102770008083E1E9F0E080818260808380818160F4 -:102780008083E0E9F0E0808181608083E1ECF0E02B -:102790008081846080838081826080838081816089 -:1027A0008083E3ECF0E0808181608083E0ECF0E006 -:1027B000808182608083E2ECF0E0808181608083B0 -:1027C000EAE7F0E08081846080838081826080839A -:1027D00080818160808380818068808308958231D8 -:1027E00008F08251E82FF0E0E45FFE4FE491809121 -:1027F0007B00E3FB222720F930E095E0220F331F16 -:102800009A95E1F78F7D822B80937B00E770809112 -:102810000D0120E4829FC0011124E82BE0937C008D -:1028200080917A00806480937A0080917A0086FD9E -:10283000FCCF809178002091790090E0922B089550 -:102840001F93CF93DF93182FEB0161E00E94F414E4 -:10285000209711F460E004C0CF3FD10539F461E066 -:10286000812FDF91CF911F910C942D15E12FF0E076 -:10287000E85EFE4F449150E0FA013197EF30F105E8 -:1028800008F06CC0E859FF4F0C94151D84B58068A2 -:1028900084BDC7BD68C084B5806284BDC8BD63C047 -:1028A00080918000806880938000D0938900C093DD -:1028B000880059C080918000806280938000D0930E -:1028C0008B00C0938A004FC0809180008860809305 -:1028D0008000D0938D00C0938C0045C08091900003 -:1028E000806880939000D0939900C09398003BC07B -:1028F00080919000806280939000D0939B00C09361 -:102900009A0031C080919000886080939000D093AD -:102910009D00C0939C0027C08091C0008068809378 -:10292000C0008091C0008F7B8093C000C093CF0017 -:102930001AC08091C00080628093C000C093D00014 -:1029400012C08091C20088608093C2008091C20052 -:102950008B7F8093C200C093D20005C0C038D105E0 -:102960000CF07DCF77CFDF91CF911F91089590E04C -:10297000FC013197EF30F105B0F5E958FF4F0C94A9 -:10298000151D809180008F7703C0809180008F7D1E -:1029900080938000089580918000877FF9CF84B56F -:1029A0008F7702C084B58F7D84BD0895809190009B -:1029B0008F7707C0809190008F7D03C08091900039 -:1029C000877F8093900008958091C0008F7703C027 -:1029D0008091C0008F7D8093C00008958091C200D7 -:1029E000877F8093C2000895CF93DF9390E0FC012E -:1029F000EA5CFE4F2491FC01EC5AFE4F849188233F -:102A000049F190E0880F991FFC01E257FE4FA59114 -:102A1000B49180589E4FFC01C591D4919FB761112C -:102A200008C0F8948C91209582238C93888182230E -:102A30000AC0623051F4F8948C91322F3095832380 -:102A40008C938881822B888304C0F8948C91822B8C -:102A50008C939FBFDF91CF9108950F931F93CF93D6 -:102A6000DF931F92CDB7DEB7282F30E0F901E85E83 -:102A7000FE4F8491F901EA5CFE4F1491F901EC5A82 -:102A8000FE4F04910023C9F0882321F069830E943E -:102A9000B7146981E02FF0E0EE0FFF1FE058FE4F02 -:102AA000A591B4919FB7F8948C91611103C01095D2 -:102AB000812301C0812B8C939FBF0F90DF91CF9119 -:102AC0001F910F910895CF93DF93282F30E0F901E4 -:102AD000E85EFE4F8491F901EA5CFE4FD491F90162 -:102AE000EC5AFE4FC491CC2391F081110E94B7148F -:102AF000EC2FF0E0EE0FFF1FEE58FE4FA591B491C2 -:102B00002C912D2381E090E021F480E002C080E050 -:102B100090E0DF91CF910895CF93DF931F92CDB7CF -:102B2000DEB76983DC01ED91FC910280F381E02D39 -:102B300041E050E0BE016F5F7F4F09950F90DF913C -:102B4000CF910895CF93DF93EC018C859D8597FFFE -:102B500005C082E00E9458189D878C878C859D85D2 -:102B6000DF91CF91089583E00C94AD1AFC01848528 -:102B7000958597FD06C082E00E94001890E00196BE -:102B8000089582E00E94001890E00895FC01848579 -:102B9000958597FD05C02FEF3FEF35872487089572 -:102BA00082E00C945818CF93DF93EC0180911501CB -:102BB000882331F083E00E9489181816190634F032 -:102BC00081E090E09B838A8380E090E0DF91CF9169 -:102BD0000895FC0120812E5F208342E450E06CE9DF -:102BE00071E080E80C942419FC0181819081913A74 -:102BF00059F4813209F03CC047E050E06EE071E0EA -:102C000080E00E94241943C0913291F5803239F45A -:102C100067E070E08EE091E00E94551906C08232B4 -:102C200009F035C082818093150180910E01909149 -:102C30000F01A0911001B0911101803B9440A105BA -:102C4000B105C1F48091150180FD14C087E797E7B5 -:102C500090930108809300082BE088E190E00FB684 -:102C6000F894A895809360000FBE209360000FC079 -:102C700080E0089588E10FB6F89480936000109288 -:102C800060000FBEA895109201081092000881E024 -:102C900008952FEF3FEFFC013587248708951092A8 -:102CA0004B0410924A0488EE93E0A0E0B0E08093D9 -:102CB0004C0490934D04A0934E04B0934F0484EDC4 -:102CC00091E090934904809348048FEF9FEF909395 -:102CD0005504809354040895AF92BF92CF92DF922F -:102CE000EF92FF920F931F93CF93DF936C017B01C1 -:102CF000C0E0D0E000E010E0F601EC0FFD1F4AE07C -:102D000050E06281C7010E9480175C016EE2C7013A -:102D10000E9413178A0D9B1D080F191F2196C3309F -:102D2000D10551F74AE050E0F6016581C7010E94E4 -:102D30008017800F911FDF91CF911F910F91FF900E -:102D4000EF90DF90CF90BF90AF9008950F93FC016C -:102D500084EE91E09183808362834383248305839F -:102D60000F91089584EE91E09093990480939804D4 -:102D700010929A0410929B0410929C0410929D044D -:102D8000089508950E9499130E94C1168EE994E057 -:102D90000E940D1B0E948806C0E0D0E00E94A50999 -:102DA0002097E1F30E940000F9CFCF92DF92EF92DB -:102DB000FF920F931F93CF93DF936C017A01EB0186 -:102DC000E60EF71E00E010E0CE15DF0561F0699118 -:102DD000D601ED91FC910190F081E02DC60109959D -:102DE000080F191FF1CFC801DF91CF911F910F91EB -:102DF000FF90EF90DF90CF9008956115710581F0FD -:102E0000DB010D900020E9F7AD0141505109461B4F -:102E1000570BDC01ED91FC910280F381E02D0994C8 -:102E200080E090E00895DC01ED91FC910190F0814B -:102E3000E02D09948F929F92AF92BF92CF92DF9232 -:102E4000EF92FF920F931F93CF93DF93CDB7DEB72F -:102E5000A1970FB6F894DEBF0FBECDBF7C01C42E84 -:102E6000E52FCB01D22E19A221E02D1510F02AE07A -:102E7000D22E8E010F5D1F4F8D2C912CA12CB12CC9 -:102E80006C2D7E2FA50194010E94D41C8C2DD29E06 -:102E900080191124015011098A3014F4805D01C099 -:102EA000895CF8018083211531054105510521F028 -:102EB000C22EE32FCA01E4CFB801C7010E94FD165C -:102EC000A1960FB6F894DEBF0FBECDBFDF91CF91B4 -:102ED0001F910F91FF90EF90DF90CF90BF90AF9038 -:102EE0009F908F9008952115310541F4DC01ED91FB -:102EF000FC910190F081E02D642F09940C941A1735 -:102F00009A01462F50E060E070E00C9473174091F6 -:102F1000A2045091A3042091A0043091A10442176F -:102F20005307B4F49091E8009570E1F39091E800B4 -:102F300092FD19C08093F1008091A2049091A304A6 -:102F400001968F739927892B19F48EEF8093E800EF -:102F50008091A2049091A30401969093A30480937E -:102F6000A20481E0089580E00895CF92DF92FF925D -:102F70000F931F93CF93DF931F92CDB7DEB7082F28 -:102F8000162F862F880F8E5F99830E94871783E004 -:102F90000E948717F02EC02E9981D92E8C2D8F1963 -:102FA000811778F4F60184910E948717082F80E03A -:102FB0000E9487178023FFEFCF1ADF0A8111EECF1F -:102FC00001C081E00F90DF91CF911F910F91FF9091 -:102FD000DF90CF900895615030F02091F100FC0116 -:102FE00020830196F8CF289A84E68093A50408955B -:102FF0002FB7FC012083F89467706093E90008956F -:10300000CF93DF931F92CDB7DEB7682FCE01019625 -:103010000E94F8178091F20099819FBF0F90DF9175 -:10302000CF910895FF920F931F93CF93DF9300D01A -:10303000CDB7DEB7F62E8A019091A404992311F042 -:1030400057FF03C08FEF9FEF2BC0682FCE01019673 -:103050007A830E94F8178091F20090E0A8017A81AB -:10306000801791070CF4AC01EF2DF72FF40E84E6D6 -:10307000FE1639F0289A8093A5049091F10091935F -:10308000F7CF4115510521F08091F200882321F0FE -:1030900089818FBFCA0104C08BE68093E800F8CF16 -:1030A0000F900F90DF91CF911F910F91FF90089596 -:1030B000CF93DF931F92CDB7DEB741E050E0BE0162 -:1030C0006F5F7F4F0E941218019719F4898190E079 -:1030D00002C08FEF9FEF0F90DF91CF910895CF93B4 -:1030E000DF931F92CDB7DEB7682FCE0101960E9405 -:1030F000F8179091E800892F807295FF04C0909195 -:10310000F20080E4891B99819FBF0F90DF91CF91DE -:1031100008956F927F928F929F92AF92BF92CF92BB -:10312000DF92EF92FF920F931F93CF93DF931F9243 -:10313000CDB7DEB7782E7B01C42EB52E8091A404C6 -:10314000882369F0042F152F8AEFD82E872D8072DF -:10315000982E9AE3A92E872D8074882E11C08FEFA8 -:103160009FEF57C0872D0E946F18682E81110CC0E9 -:10317000DA94A9F361E070E080E090E00E946613C9 -:103180000115110579F73BC0282F30E0021713070E -:103190000CF4602E672DCE0101960E94F8178091E5 -:1031A000E80085FF29C0262D30E0021B130B992073 -:1031B00039F06A948FEF6816B1F01092F100F9CFF0 -:1031C000F701862D77FE07C0815058F094919093B7 -:1031D000F1003196F9CF815020F091919093F10058 -:1031E000FACFE20EF31E8091E80085FF0FC00115B3 -:1031F000110511F481100AC089818FBFC1CF5D9A7A -:1032000084E68093A6048C2D9B2D03C0A092E80039 -:10321000F3CF0F90DF91CF911F910F91FF90EF901F -:10322000DF90CF90BF90AF909F908F907F906F90E6 -:1032300008951092E9001092A3041092A2049093B2 -:10324000A1048093A0040895CF92DF92FF920F9380 -:103250001F93CF93DF9300D0CDB7DEB7F82E8A014E -:103260006B0101151105B1F0F601F7FE02C0849162 -:1032700001C0808149835A830E9487170150110938 -:10328000FFEFCF1ADF0A49815A818111EACF8FEF10 -:103290009FEF01C0CA010F900F90DF91CF911F9156 -:1032A0000F91FF90DF90CF9008951F93CF93DF93FE -:1032B0001F92CDB7DEB7162F2091E80022FFFCCF7A -:1032C000612F79830E94EB178BEF8093E800812FA9 -:1032D0007981972F0F90DF91CF911F910895CF9310 -:1032E000DF931F92CDB7DEB71982CE0101960E94FF -:1032F000E915CE0101960E94931B898190E00F9001 -:10330000DF91CF9108951F920F920FB60F92112463 -:10331000EF92FF920F931F932F933F934F935F93DF -:103320006F937F938F939F93AF93BF93EF93FF938D -:10333000CF93DF93CDB7DEB76297DEBFCDBF1092DC -:10334000E9008091E80083FFEBC068E0CE010A96B7 -:103350000E94EB1782EF8093E8009A8597FF05C0E3 -:103360008091E80080FFFCCF03C08EEF8093E800DF -:10337000892F807609F0B9C08B85811105C0109224 -:10338000F1001092F100C5C0282F2D7F213009F4E3 -:10339000C0C0853049F48091E80080FFFCCF8C8567 -:1033A00080688093E300B5C0863009F076C02D8533 -:1033B000E888F988223071F580E090E02A8B0E943D -:1033C00019190E946F1999E08E010F5F1F4FF801C4 -:1033D000392F11923A95E9F799832A892A8391E046 -:1033E0009E8390E898879AEF99872091A204309164 -:1033F000A304275F3F4F3C832B838D83C7010E942B -:10340000191949E050E0B80180E00E9424190E9497 -:103410006F197FC0C7012A8B0E9419192A8922328D -:1034200041F482E290E00E949E1B892B09F071C05A -:1034300074C0213069F488899989089711F4209320 -:103440009F0480919F04811118C065EF71E01AC03C -:10345000233009F062C08C85882391F0823021F4FA -:103460006DE083E192E006C0813009F056C06BE068 -:1034700087E092E00E94B5174AC063EE71E002C097 -:1034800061E272E06115710509F447C0FB014491E6 -:1034900050E080E80E9424193CC0873009F43DC008 -:1034A000883021F481E08093F10033C0893089F5C0 -:1034B000937099F5EFEDF1E081E021E096E38093E0 -:1034C000E9002093EB0034913093EC009093ED00F1 -:1034D0008F5F3196853099F78EE78093EA001092DE -:1034E000EA008C858093A40414C0888999890E947D -:1034F00019198E85811105C0CE010A960E94F41516 -:1035000006C0823051F4CE010A960E94C61B882361 -:1035100021F08EEF8093E80003C081E28093EB00FE -:1035200062960FB6F894DEBF0FBECDBFDF91CF918C -:10353000FF91EF91BF91AF919F918F917F916F918B -:103540005F914F913F912F911F910F91FF90EF90BD -:103550000F900FBE0F901F9018958093E9008091F7 -:10356000F200882319F08AE38093E80008951F92FF -:103570000F920FB60F9211242F933F934F935F93A7 -:103580006F937F938F939F93AF93BF93EF93FF932B -:103590008091E1001092E10083FF0FC01092E900DA -:1035A00091E09093EB001092EC0092E39093ED0089 -:1035B0001092A40498E09093F00082FF1DC083E075 -:1035C0000E94AD1A8091A604882339F08091A60448 -:1035D00081508093A604882369F08091A5048823F4 -:1035E00059F08091A50481508093A504811104C0F5 -:1035F000289802C05D98F1CFFF91EF91BF91AF91F4 -:103600009F918F917F916F915F914F913F912F91FA -:103610000F900FBE0F901F9018951092A40481E098 -:103620008093D70080EA8093D80082E189BD09B4F5 -:1036300000FEFDCF61E070E080E090E00E94661344 -:1036400080E98093D8008CE08093E2001092E00043 -:10365000559A209A5D98289808954F925F926F929C -:103660007F92AF92BF92CF92DF92EF92FF920F9331 -:103670001F93CF93DF93CDB7DEB729013A01621BC9 -:10368000730B840B950B29893A894B895C892A191C -:103690003B094C095D09298B3A8B4B8B5C8B9B0159 -:1036A000AC0169897A898B899C890E94B81CE418CD -:1036B000F50806091709A80197010E94F61C2A0DB2 -:1036C0003B1D4C1D5D1DCA01B901DF91CF911F91BA -:1036D0000F91FF90EF90DF90CF90BF90AF907F90D1 -:1036E0006F905F904F9008950895FF920F931F93EE -:1036F000CF93DF93EC01F62EE881F9810480F58108 -:10370000E02D09958C01E881F9810680F781E02D93 -:103710006F2DCE010995C8019927DF91CF911F9197 -:103720000F91FF900895FC0120812F5F208349E1D4 -:1037300050E065EA72E080E80C94241945E650E018 -:103740006EEB72E080E80C942419EF92FF920F93D5 -:103750001F93CF93DF931F92CDB7DEB789838B0181 -:103760007A0141E050E0BE016F5F7F4F84E00E942C -:103770008918A701B80184E40E9489180F90DF918D -:10378000CF911F910F91FF90EF900895FC019181CF -:103790008081813A31F481E0913091F0933089F465 -:1037A00011C0813271F49B3021F482818093170122 -:1037B00005C09A3031F482818093160181E008952A -:1037C000089580E0089548E050E082E00C94A51B45 -:1037D000CF93DF93DC01683818F0E8E7E60F25C0E7 -:1037E000E62FF0E067FF11C0E058F10981E090E0BA -:1037F00001C0880FEA95EAF714969C911497982BCC -:1038000014969C931497E0E010C0EB5DFD4FE4919B -:10381000EE2309F440C0E7FF08C014968C9114977A -:10382000826014968C931497EF7716968C91169766 -:103830008E1741F117968C9117978E1719F11896DC -:103840008C9118978E17F1F019968C9119978E1705 -:10385000C9F01A968C911A978E17A1F01B968C912D -:103860001B978E1779F080E090E0ED01C80FD91F0B -:103870002E81211102C0EE8305C00196863091058C -:10388000A1F709C0BD016C5F7F4FCD010E94E31B12 -:1038900081E090E008C081E090E013969C938E93C5 -:1038A000129780E090E0DF91CF910895683818F08A -:1038B000E8E7E60F25C0E62FF0E067FF12C0E0580A -:1038C000F10921E030E001C0220FEA95EAF72095E6 -:1038D000DC0114963C911497322314963C93E0E05B -:1038E0000FC0EB5DFD4FE491EE2329F1E7FF08C027 -:1038F000DC0114962C9114972D7F14962C93EF775E -:1039000020E030E0EE2351F0DC01A20FB31F169649 -:103910004C9116974E1302C016961C922F5F3F4F84 -:103920002630310579F7BC016C5F7F4F0E94E31BA5 -:1039300081E090E0089580E090E00895FC01168217 -:10394000178210861186128613861482BC016C5F62 -:103950007F4F0C94E31B1092B3041092AA041092B0 -:10396000A9048AEE91E09093A8048093A704089597 -:10397000DB018F939F930E941B1DBF91AF91A29F6C -:10398000800D911DA39F900DB29F900D112408955D -:10399000991B79E004C0991F961708F0961B881FA1 -:1039A0007A95C9F780950895A1E21A2EAA1BBB1B30 -:1039B000FD010DC0AA1FBB1FEE1FFF1FA217B307FB -:1039C000E407F50720F0A21BB30BE40BF50B661F11 -:1039D000771F881F991F1A9469F7609570958095D5 -:1039E00090959B01AC01BD01CF010895052E97FB79 -:1039F0001EF400940E940D1D57FD07D00E94D41C98 -:103A000007FC03D04EF40C940D1D50954095309555 -:103A100021953F4F4F4F5F4F08959095809570953A -:103A200061957F4F8F4F9F4F0895EE0FFF1F0590B9 -:103A3000F491E02D09940E94261DA59F900DB49F3E -:103A4000900DA49F800D911D11240895A29FB00197 -:103A5000B39FC001A39F700D811D1124911DB29FC2 -:103A6000700D811D1124911D0895CF93DF93823035 -:103A7000910510F482E090E0E091B604F091B70473 -:103A800020E030E0A0E0B0E0309739F14081518192 -:103A900048175907B8F04817590771F48281938184 -:103AA000109729F013969C938E9312972CC09093A5 -:103AB000B7048093B60427C02115310531F04217B1 -:103AC000530718F0A901DB0101C0EF019A01BD0104 -:103AD000DF010280F381E02DD7CF21153105F9F008 -:103AE000281B390B2430310580F48A819B816115B4 -:103AF000710521F0FB019383828304C09093B70486 -:103B00008093B604FE01329644C0FE01E20FF31F1B -:103B10008193919322503109398328833AC02091AF -:103B2000B4043091B504232B41F42091020130916B -:103B300003013093B5042093B40420910001309127 -:103B400001012115310541F42DB73EB74091040123 -:103B500050910501241B350BE091B404F091B5049C -:103B6000E217F307A0F42E1B3F0B2817390778F054 -:103B7000AC014E5F5F4F2417350748F04E0F5F1FB3 -:103B80005093B5044093B4048193919302C0E0E054 -:103B9000F0E0CF01DF91CF910895CF93DF930097AD -:103BA00009F487C0FC01329713821282C091B604D7 -:103BB000D091B704209781F420813181280F391FDB -:103BC0008091B4049091B5048217930779F5F0932E -:103BD000B504E093B4046DC0DE0120E030E0AE1720 -:103BE000BF0750F412964D915C9113979D014115BA -:103BF000510509F1DA01F3CFB383A28340815181EA -:103C0000840F951F8A179B0771F48D919C911197D2 -:103C1000840F951F02969183808312968D919C91BB -:103C20001397938382832115310529F4F093B70408 -:103C3000E093B6043EC0D9011396FC93EE9312971D -:103C40004D915D91A40FB51FEA17FB0779F48081B0 -:103C50009181840F951F0296D90111969C938E93A2 -:103C60008281938113969C938E931297E0E0F0E00B -:103C70008A819B81009719F0FE01EC01F9CFCE01FA -:103C8000029628813981820F931F2091B4043091CC -:103C9000B5042817390769F4309729F41092B7044E -:103CA0001092B60402C013821282D093B504C0935E -:103CB000B404DF91CF910895FB01DC0141505040E5 -:103CC00048F001900D920020C9F701C01D924150AB -:103CD0005040E0F70895FC0181E090E00190061665 -:103CE00009F4CF010020D1F701970895FB0151910C -:103CF0005523A9F0BF01DC014D9145174111E1F7B2 -:103D000059F4CD010190002049F04D914015411129 -:103D1000C9F3FB014111EFCF81E090E001970895D5 -:043D2000F894FFCF45 -:103D24000000B804800001000000FF13000100E15E -:103D340000000000000001014D6178207365727677 -:103D44006F7320617474616368656400556E6B6E93 -:103D54006F776E2070696E206D6F646500537461B7 -:103D64006E646172644669726D6174612E696E6F0E -:103D7400004932433A20546F6F206D616E7920629E -:103D84007974657320726563656976656400493288 -:103D9400433A20546F6F20666577206279746573A7 -:103DA4002072656365697665640031302D626974DB -:103DB4002061646472657373696E67206E6F74202A -:103DC400737570706F7274656400746F6F206D61C9 -:103DD4006E7920717565726965730000000000A535 -:103DE4000C780C4D0C550C680C770C2E637070001D -:103DF400000000008C15D315B615C615A215B31511 -:103E0400000000006C1600000000751BD516E81BAE -:043E1400561C9E1C7E -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/nano/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/nano/Blink.cpp.hex deleted file mode 100644 index f8393238..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/nano/Blink.cpp.hex +++ /dev/null @@ -1,70 +0,0 @@ -:100000000C9461000C947E000C947E000C947E0095 -:100010000C947E000C947E000C947E000C947E0068 -:100020000C947E000C947E000C947E000C947E0058 -:100030000C947E000C947E000C947E000C947E0048 -:100040000C949D000C947E000C947E000C947E0019 -:100050000C947E000C947E000C947E000C947E0028 -:100060000C947E000C947E00000000002400270009 -:100070002A0000000000250028002B0000000000DE -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000007000201000003040600000000000029 -:1000C000000011241FBECFEFD8E0DEBFCDBF11E08E -:1000D000A0E0B1E0EAE3F4E002C005900D92A230A6 -:1000E000B107D9F711E0A2E0B1E001C01D92AB3039 -:1000F000B107E1F70E940C020C941B020C94000063 -:100100008091000161E00E94B80168EE73E080E038 -:1001100090E00E94E5008091000160E00E94B8013B -:1001200068EE73E080E090E00E94E5000895809121 -:10013000000161E00E94790108951F920F920FB6AD -:100140000F9211242F933F938F939F93AF93BF935D -:100150008091060190910701A0910801B0910901D9 -:1001600030910A010196A11DB11D232F2D5F2D375E -:1001700020F02D570196A11DB11D20930A018093F7 -:10018000060190930701A0930801B09309018091A3 -:10019000020190910301A0910401B0910501019623 -:1001A000A11DB11D8093020190930301A09304014E -:1001B000B0930501BF91AF919F918F913F912F9186 -:1001C0000F900FBE0F901F9018959B01AC017FB749 -:1001D000F8948091020190910301A0910401B091E3 -:1001E000050166B5A89B05C06F3F19F00196A11DDA -:1001F000B11D7FBFBA2FA92F982F8827860F911D79 -:10020000A11DB11D62E0880F991FAA1FBB1F6A952F -:10021000D1F7BC012DC0FFB7F894809102019091F5 -:100220000301A0910401B0910501E6B5A89B05C0AA -:10023000EF3F19F00196A11DB11DFFBFBA2FA92FE5 -:10024000982F88278E0F911DA11DB11DE2E0880F08 -:10025000991FAA1FBB1FEA95D1F7861B970B885ED3 -:100260009340C8F2215030404040504068517C4F8C -:10027000211531054105510571F60895789484B52D -:10028000826084BD84B5816084BD85B5826085BD92 -:1002900085B5816085BDEEE6F0E080818160808378 -:1002A000E1E8F0E01082808182608083808181605B -:1002B0008083E0E8F0E0808181608083E1EBF0E022 -:1002C000808184608083E0EBF0E0808181608083C6 -:1002D000EAE7F0E0808184608083808182608083AF -:1002E0008081816080838081806880831092C100DA -:1002F0000895CF93DF93482F50E0CA0186569F4F51 -:10030000FC0134914A575F4FFA018491882369F1C7 -:1003100090E0880F991FFC01E859FF4FA591B49117 -:10032000FC01EE58FF4FC591D491662351F42FB7CD -:10033000F8948C91932F909589238C9388818923AD -:100340000BC0623061F42FB7F8948C91932F909585 -:1003500089238C938881832B88832FBF06C09FB706 -:10036000F8948C91832B8C939FBFDF91CF9108954C -:10037000482F50E0CA0182559F4FFC012491CA01C9 -:1003800086569F4FFC0194914A575F4FFA01349172 -:10039000332309F440C0222351F1233071F024307B -:1003A00028F42130A1F0223011F514C02630B1F02C -:1003B0002730C1F02430D9F404C0809180008F77B9 -:1003C00003C0809180008F7D8093800010C084B531 -:1003D0008F7702C084B58F7D84BD09C08091B00045 -:1003E0008F7703C08091B0008F7D8093B000E32FA2 -:1003F000F0E0EE0FFF1FEE58FF4FA591B4912FB71D -:10040000F894662321F48C919095892302C08C91F5 -:10041000892B8C932FBF0895CF93DF930E943E01C9 -:100420000E949700C0E0D0E00E9480002097E1F396 -:0A0430000E940000F9CFF894FFCFFE -:02043A000D00B3 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/nano/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/nano/StandardFirmata.cpp.hex deleted file mode 100644 index 01dd95c7..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/nano/StandardFirmata.cpp.hex +++ /dev/null @@ -1,747 +0,0 @@ -:100000000C9465000C948D000C948D000C948D0064 -:100010000C948D000C948D000C948D000C948D002C -:100020000C948D000C948D000C948D000C94C908D8 -:100030000C948D000C948D000C948D000C948D000C -:100040000C94A8110C948D000C94B2130C94001411 -:100050000C948D000C948D000C948D000C948D00EC -:100060000C94250B0C948D00000000002400270048 -:100070002A0000000000250028002B0000000000DE -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000007000201000003040600000000000029 -:1000C00000007401C1095D0E6C1511241FBECFEF35 -:1000D000D8E0DEBFCDBF11E0A0E0B1E0E6EBFDE28D -:1000E00002C005900D92A03EB107D9F714E0A0EE32 -:1000F000B1E001C01D92AC36B107E1F710E0CAECE7 -:10010000D0E004C02297FE010E94D516C23CD10760 -:10011000C9F70E94C2150C94D9160C940000FB017B -:10012000DC014150504048F001900D920020C9F789 -:1001300001C01D9241505040E0F70895FC0181E05C -:1001400090E00190061609F4CF010020D1F7019745 -:100150000895FB0151915523A9F0BF01DC014D9198 -:1001600045174111E1F759F4CD010190002049F004 -:100170004D9140154111C9F3FB014111EFCF81E0D1 -:1001800090E0019708950F931F93CF93DF93B82FBB -:10019000833008F075C090E00196A82FAA0FAA0F2F -:1001A000AA0F0197A73108F0A6E1482F440F440F8A -:1001B000440F71E050E0C62FD0E001E010E01EC017 -:1001C000842F82508231C0F4242F30E0F901E851AD -:1001D000FE4F8081823080F4572BF901EE0FFF1F14 -:1001E000EF5FFD4F11821082872F90E08C239D23BB -:1001F000892B11F011830083770F4F5F4A1700F3AB -:10020000BB2361F4852F8C7FF8942BB1982F9095A8 -:1002100092238623982B9BB9789432C0B13009F58C -:10022000F89495B1852F8F7380958923962F9F73AE -:100230009523892B85B948B1252F30E0862F90E092 -:100240002823392386E0359527958A95E1F752953D -:1002500056955695537050955423522B58B978940F -:100260000FC0852F8F70F89428B1982F990F990F90 -:10027000909592238623880F880F982B98B97894AD -:10028000DF91CF911F910F910895482F883018F575 -:100290002091E0013091E101672B81F481E090E051 -:1002A00002C0880F991F4A95E2F780959095282300 -:1002B00039233093E1012093E001089581E090E03B -:1002C00002C0880F991F4A95E2F7282B392B3093EB -:1002D000E1012093E0010895833028F4E82FF0E055 -:1002E000EE51FE4F60830895CF93DF93C0E7D2E0D5 -:1002F000CE010E944007239682E0C439D807C1F797 -:10030000DF91CF9108950F931F93CF93DF938B01CC -:10031000863178F5C82FD0E0FE01E851FE4FE0812C -:10032000E33091F0E43029F582508C30E0F49E0106 -:1003300022503040C901880F991F820F931F8059A6 -:100340009D4F0E94DB070FC0833051F0853041F094 -:10035000863031F0893021F08A3011F08B3019F479 -:10036000B8010E94BE12CC0FDD1FCF5FDD4F198395 -:100370000883DF91CF911F910F910895AF92BF92A3 -:10038000DF92EF92FF920F931F93DF93CF930F9221 -:10039000CDB7DEB7D82E7B01082F10E0F801E85169 -:1003A000FE4F8081863061F480916D02882341F098 -:1003B0006630710529F010926D028FEF8093B801BD -:1003C0009D2D925099839C30B8F4E4E0EE16F10430 -:1003D00099F0C80102975C01AA0CBB1CA80EB91EBB -:1003E00080E792E0A80EB91EC5010E94C9078823C4 -:1003F00019F0C5010E945A074D2D4E504830B8F4EF -:100400002091E0013091E10192E0E916F10409F058 -:10041000E0C081E090E0042E02C0880F991F0A948A -:10042000E2F7282B392B3093E1012093E001E98199 -:10043000E23130F5ED2DE695E695E69598012770C9 -:100440003070E114F10471F4F0E0E250FE4F81E00D -:1004500090E002C0880F991F2A95E2F72081282B8F -:1004600020830EC0F0E0E250FE4F81E090E002C039 -:10047000880F991F2A95E2F7809520818223808337 -:10048000F801EE0FFF1FEF5FFD4F11821082F2E0C7 -:10049000EF16F104E1F083E0E816F1044CF4E11406 -:1004A000F10439F191E0E916F10409F08BC032C092 -:1004B000E4E0EE16F10409F45DC0F4E0EF16F10497 -:1004C000CCF186E0E816F10409F07CC070C0483039 -:1004D00008F08CC09981923140F48D2D60E00E942B -:1004E0001E138D2D60E00E945D1308511E4F82E0A7 -:1004F00066C0F981F23108F079C08D2D60E00E946C -:100500001E138D2D60E00E945D1308511E4FF801EF -:1005100010826CC0F981F23108F068C08D2D60E066 -:100520000E945D138D2D61E00E941E1308511E4F25 -:1005300081E045C0F3E0DF1681F085E0D81669F070 -:1005400096E0D91651F0E9E0DE1639F0FAE0DF1650 -:1005500021F08BE0D81609F049C08D2D61E00E9492 -:100560001E138D2D60E070E00E94BE1208511E4FD8 -:1005700083E025C0F981FC30C8F5F801E851FE4F51 -:1005800084E08083C80102977C01EE0CFF1CE80E1A -:10059000F91E80E792E0E80EF91EC7010E94C90724 -:1005A000882321F5C701B8010E94C2081FC09EEE32 -:1005B000D90EE1E0ED15D0F008511E4F86E0F801AC -:1005C000808314C08AE793E060E071E00E94E60E49 -:1005D0000DC081E090E0042E02C0880F991F0A949C -:1005E000E2F780959095282339231DCF0F90CF9166 -:1005F000DF911F910F91FF90EF90DF90BF90AF9030 -:1006000008951F9380916D02882329F010926D0246 -:100610008FEF8093B8011092E2011092FE011092C8 -:10062000E5011092E3011092FF011092E601109291 -:10063000E401109200021092E70110E0812F8E5029 -:10064000883020F4812F62E070E003C0812F61E0E8 -:1006500070E00E94BE011F5F163181F71092E10128 -:100660001092E0011F9108950F931F930AE713E082 -:10067000C80161E171E042E023E00E94E10FC8019E -:1006800060EE43E851E00E94170EC80160E943ECB8 -:1006900050E00E94170EC80160EC45E451E00E9452 -:1006A000170EC80160ED4CE651E00E94170EC8011C -:1006B00064EF4EEB51E00E94170EC80160EF4EED63 -:1006C00054E00E943B0EC8016FEF41E053E00E94EE -:1006D000350EC80140E051EE60E070E00E94561017 -:1006E0000E9401031F910F9108951F9310E0812F25 -:1006F0008251823028F4812F66E070E00E94BE01B2 -:100700001F5F1631A1F781E080936D0280E093E0D6 -:100710000E94610A1F9108951F93CF93DF93282FA2 -:10072000162FC82FD0E0FE01E250FE4F8081182323 -:10073000442331F4FE01EB51FE4F8081811751F0CB -:100740008AE793E0622F412F50E00E94A60DCB5123 -:10075000DE4F1883DF91CF911F9108958091E201C0 -:10076000882349F069B18091FE0168236C7F80E0A5 -:1007700040E00E948C038091E301882379F083B1EB -:1007800066B16295660F660F607C8F73682B8091EF -:10079000FF01682381E040E00E948C038091E40126 -:1007A000882379F086B190E08C7390709595879549 -:1007B0009595879560910002682382E040E00E9451 -:1007C0008C030895EF92FF920F931F93CF93DF93C3 -:1007D000F82EEB01E42E8FEF6F3F780719F4C0E09D -:1007E000D0E016C080E093E06F2D0E94870980E082 -:1007F00093E06C2F0E94090A80E093E00E944C0A6B -:1008000080916E0290916F02009711F00E94571232 -:1008100080E093E06F2D4E2D0E945D0A0E2D10E0BA -:1008200080E093E00E9491090817190791F4F09273 -:100830004D02C0934E02CFE4D2E00C0F1D1F05C045 -:1008400080E093E00E949A098993C017D107C1F70D -:1008500012C080E093E00E949109801791072CF468 -:100860008AE793E065E271E004C08AE793E06DE413 -:1008700071E00E94E60E82E0E80E8AE793E067E707 -:100880004E2D2DE432E00E94D80DDF91CF911F91C3 -:100890000F91FF90EF900895AF92BF92CF92DF92A9 -:1008A000EF92FF920F931F93CF93DF930E94AE03BB -:1008B00004C08AE793E00E94320F8AE793E00E9427 -:1008C0007F0D892BB1F70E94F01160932D02709378 -:1008D0002E0280932F0290933002A0903102B090AC -:1008E0003202C0903302D09034022091B601309190 -:1008F000B70179010027F7FC0095102F6A197B09D1 -:100900008C099D09E616F7060807190708F04BC081 -:10091000EA0CFB1C0C1D1D1DE0923102F09232020C -:100920000093330210933402C8EED1E012EF183076 -:10093000C0F488818230A9F48091E0019091E101B6 -:10094000012E02C0959587950A94E2F780FF09C0B1 -:10095000812F0E949C12AC018AE793E0612F0E94D4 -:100960008B0D1F5F2196183011F78091B80187FD1C -:100970001AC010E00EC0F901EE0FFF1FE20FF31FC7 -:10098000EB5CFD4F6181808170E042810E94E20357 -:100990001F5F212F30E08091B801992787FD909546 -:1009A0008217930744F7DF91CF911F910F91FF902A -:1009B000EF90DF90CF90BF90AF900895BF92CF920D -:1009C000DF92EF92FF920F931F93CF93DF93162F37 -:1009D000EA018F3609F44FC1803750F48B3609F4A1 -:1009E0006AC18D3609F4D3C1893609F03FC222C2EB -:1009F000863769F0873720F4803709F037C2E4C0C2 -:100A0000883709F4C7C08A3709F030C219C1898113 -:100A100085FF05C08AE793E064E771E054C0688110 -:100A20008871883059F1893018F4882341F01EC24A -:100A3000803109F440C0883109F018C264C080E0F8 -:100A400093E00E94870902E00EC0FE01E00FF11D55 -:100A500061816795662767958081680F80E093E0E4 -:100A60000E94090A0E5F011780F380E093E00E9464 -:100A70004C0A86E490E00E945712F8C19B818A815B -:100A8000163071F4979599279795980F4D81479552 -:100A9000442747958C81480F862F692F70E008C046 -:100AA000979599279795980F862F6FEF7FEF492F8E -:100AB0000E94E203DBC18091B80187303CF08AE7F5 -:100AC00093E060EA71E00E94E60ED0C18F5F8093F0 -:100AD000B801992787FD9095FC01EE0FFF1FE80FE5 -:100AE000F91FEB5CFD4F60838B8187958827879585 -:100AF0009A81890F81838D818795882787959C812D -:100B0000890F8283B3C15091B801151634F420E0E7 -:100B1000C52FDD27C7FDD09511C08FEF8093B80199 -:100B2000A5C1FC01EE0FFF1FE80FF91FEB5CFD4FA5 -:100B30006083662311F0422F24C02F5F822F90E044 -:100B4000C817D90774F740E01CC04830C8F4C90181 -:100B50000196D901AA0FBB1FA20FB31FAB5CBD4FFB -:100B6000FC01EE0FFF1FE80FF91FEB5CFD4F8081CA -:100B70008C93808111968C931197828112968C931D -:100B80004F5F242F30E0C217D307FCF6515050932B -:100B9000B8016CC18981682F70E07695762F662741 -:100BA000779567958881680F711D6115710521F032 -:100BB00070936F0260936E0280916D02882309F03A -:100BC00055C10E94750352C1653008F44FC1F880C9 -:100BD000C980EA80BB80DC808F2D82508C3008F089 -:100BE00045C10F2D10E0C8010297EC01CC0FDD1FAD -:100BF000C80FD91FC059DD4FCE010E94C9078823F5 -:100C000019F0CE010E945A074E2D50E05695542FF0 -:100C10004427579547954C0D511D2D2D30E03695A5 -:100C2000322F2227379527952B0D311DCE01B80184 -:100C30000E9443088F2D64E070E00E94BE0116C13F -:100C4000623008F413C1898190E09695982F882727 -:100C5000979587952881820F911D9093B701809376 -:100C6000B6010A970CF002C18AE090E09093B701B8 -:100C70008093B601FBC0623008F4F8C08981682F08 -:100C800070E01230A1F08A8190E09695982F882725 -:100C900097958795682B792B133049F02B81922FEC -:100CA0009295990F990F907C80E0682B792B888121 -:100CB0000E948301DBC08AE793E060EF0E940B0E85 -:100CC0008AE793E06CE60E940B0E00E01EEF16C070 -:100CD0001231A0F48AE793E060E00E940B0E8AE7ED -:100CE00093E061E00E940B0E8AE793E061E00E94CE -:100CF0000B0E8AE793E061E00E940B0E802F8E506E -:100D0000883050F48AE793E062E00E940B0E8AE795 -:100D100093E06AE00E940B0E033051F0053041F081 -:100D2000063031F0093021F00A3011F00B3051F467 -:100D30008AE793E063E00E940B0E8AE793E068E0A5 -:100D40000E940B0E1C3050F48AE793E064E00E948E -:100D50000B0E8AE793E06EE00E940B0E802F82510B -:100D6000823050F48AE793E066E00E940B0E8AE737 -:100D700093E061E00E940B0E8AE793E06FE70E9428 -:100D80000B0E0F5F1F5F063109F0A2CF6AC066230A -:100D900009F46CC008818AE793E060EF0E940B0EB3 -:100DA0008AE793E06EE60E940B0E8AE793E0602FDD -:100DB0000E940B0E063108F054C0C02FD0E0FE0197 -:100DC000E851FE4F8AE793E060810E940B0E8E018E -:100DD000000F111F0F5F1D4FF80160816F778AE7C9 -:100DE00093E00E940B0EF80160817181CB01807845 -:100DF000892B49F0660F672F661F770B6F778AE79D -:100E000093E00E940B0ECC0FDD1FCF5FDD4F2881DA -:100E10003981C9018070907C892B19F1330F220B25 -:100E2000330F322F221F622F6F778AE793E00E94E1 -:100E30000B0E17C08AE793E060EF0E940B0E8AE763 -:100E400093E06AE60E940B0E02EF083010F06FE7A5 -:100E500001C0602F8AE793E00E940B0E0F5F0830FD -:100E6000A1F78AE793E067EF0E940B0EDF91CF9125 -:100E70001F910F91FF90EF90DF90CF90BF9008955A -:100E8000FC01809194028C3090F482838F5F809378 -:100E90009402815090E0FC01EE0FFF1FE80FF91F54 -:100EA000EB56FD4F88EB9BE09283818308958FEF93 -:100EB00082830895DC0112968C91129790E0FC01D8 -:100EC000EE0FFF1FE80FF91FEB56FD4F80818F7B60 -:100ED000808312968C916CE00E94631690E0AC01C6 -:100EE000440F551F480F591F440F551F440F551FDE -:100EF00020E030E0C901840F951FFC01EE0FFF1FB9 -:100F0000E80FF91FEB56FD4F808186FD05C02F5F6E -:100F10003F4F2C30310571F70895FC0122812C30B0 -:100F2000B8F58081992787FD909548E850E0481BE7 -:100F3000590B440F551F440F551F6417750784F054 -:100F40008181992787FD909548E552E0481B590B10 -:100F5000440F551F440F551F641775070CF4AB0160 -:100F600042505040CA01AA2797FDA095BA2F880F7A -:100F7000991FAA1FBB1F4FB7F89430E0F901EE0F7D -:100F8000FF1FE20FF31FEB56FD4F928381834FBF8C -:100F90000895FC01828190E0FC01EE0FFF1FE80F35 -:100FA000F91FEB56FD4F808182958695869581705D -:100FB00009F081E00895AF92BF92CF92DF92EF9255 -:100FC000FF920F931F93CF93DF93EC019B0182E07D -:100FD000603278070CF048C077FF03C020E030E0B3 -:100FE00005C0653B710514F024EB30E000D000D063 -:100FF000B901882777FD8095982F2881332727FD11 -:101000003095E8E8AE2EB12CA21AB30AAA0CBB1C8C -:10101000AA0CBB1CCC24B7FCC094DC2CE981FF27B4 -:10102000E7FDF09528E532E02E1B3F0B220F331F22 -:10103000220F331F442737FD4095542FEDB7FEB7DD -:10104000218332834383548320E030E040E050E04A -:1010500004EBE02EF12C012D112D0E94FB159B01BC -:101060000F900F900F900F90CE01B9010E948D0745 -:10107000DF91CF911F910F91FF90EF90DF90CF9074 -:10108000BF90AF900895CF92DF92EF92FF921F939F -:10109000CF93DF93EC01162F7A0169018A818C309E -:1010A00008F064C0862F61E00E941E138A8190E0E0 -:1010B000FC01EE0FFF1FE80FF91FEB56FD4F1F73EA -:1010C0008081807C812B808380E292E08E199F0951 -:1010D00064E070E00E946F16688380E699E08C19E6 -:1010E0009D0964E070E00E946F166983AA818A2FCF -:1010F0006CE00E946316682F70E0AB01440F551F2F -:10110000460F571F440F551F440F551F20E030E076 -:10111000C901840F951FFC01EE0FFF1FE80FF91F97 -:10112000EB56FD4F808186FD15C02F5F3F4F2C3061 -:10113000310571F724C01092800082E08093810015 -:101140001092850010928400B19A80916F008260A5 -:1011500080936F008A2F90E0FC01EE0FFF1FE80FD5 -:10116000F91FEB56FD4F8081806480838A81DF9177 -:10117000CF911F91FF90EF90DF90CF900895672B54 -:10118000D1F2E8CF40E252E020E639E00E94430885 -:1011900008951F920F920FB60F9211242F933F9331 -:1011A0004F935F936F937F938F939F93AF93BF936F -:1011B000EF93FF938091B90287FF05C010928500DD -:1011C000109284002BC02091B902332727FD30955F -:1011D0008091940290E02817390704F58091B902B4 -:1011E000992787FD9095FC01EE0FFF1FE80FF91F6F -:1011F000EB56FD4F808186FF11C08091B90299277F -:1012000087FD9095FC01EE0FFF1FE80FF91FEB56CD -:10121000FD4F80818F7360E00E945D138091B90261 -:101220008F5F8093B9022091B902332727FD309553 -:101230008091940290E0281739070CF04EC08091FD -:10124000B9028C300CF049C02091840030918500A7 -:101250008091B902992787FD9095FC01EE0FFF1F41 -:10126000E80FF91FEB56FD4F81819281280F391F3E -:1012700030938900209388008091B902992787FDD7 -:101280009095FC01EE0FFF1FE80FF91FEB56FD4F85 -:10129000808186FF2BC08091B902992787FD9095A8 -:1012A000FC01EE0FFF1FE80FF91FEB56FD4F808189 -:1012B0008F7361E00E945D1319C080E49CE905C052 -:1012C000809184009091850004969093890080938A -:1012D00088008FEF8093B90209C0809184009091BB -:1012E0008500049680549C4940F3EACFFF91EF912A -:1012F000BF91AF919F918F917F916F915F914F912E -:101300003F912F910F900FBE0F901F90189581E085 -:101310008093FF026093DC021092FD021092FE02A5 -:1013200008952091DB0230E08091DA02281B310918 -:10133000C90108954091DA028091DB02481718F044 -:101340002FEF3FEF0AC0E42FF0E0E654FD4F80811D -:10135000282F30E04F5F4093DA02C9010895E091F1 -:10136000DA028091DB02E81718F0EFEFFFEF06C01A -:10137000F0E0E654FD4F8081E82FF0E0CF010895C2 -:101380000895109203031092020388EE93E0A0E008 -:10139000B0E08093040390930503A0930603B093F9 -:1013A000070384EC91E09093010380930003089578 -:1013B000CF92DF92EF92FF920F931F93CF93DF9321 -:1013C0007C016B018A018091FF028823A1F0C0E0BB -:1013D000D0E00DC0D701ED91FC91D601AC0FBD1F3F -:1013E0000190F081E02DC7016C9109952196C017FD -:1013F000D10780F304C0CB01642F0E940A0BC801FF -:10140000DF91CF911F910F91FF90EF90DF90CF90E0 -:101410000895DF93CF930F92CDB7DEB7FC016983B8 -:101420008091FF028823C9F08091FE02803238F05B -:1014300081E090E09383828320E030E015C08091CA -:10144000FD02E82FF0E0E352FD4F998190838F5F1A -:101450008093FD028093FE0205C0CE01019661E0FB -:101460000E940A0B21E030E0C9010F90CF91DF917B -:1014700008950F93062F8091DC026DED72E040918C -:10148000FE0221E00E94B50A1092FD021092FE02B7 -:101490001092FF020F91089561E00E94390A0895A9 -:1014A000413208F040E2862F6AEB72E00E946C0A3B -:1014B0001092DA028093DB02089521E00E94500A24 -:1014C00008951092DA021092DB021092FD0210923F -:1014D000FE020E94B60C0895382F413210F040E011 -:1014E00042C080910C038823E1F791E090930C03B4 -:1014F00020930E038FEF80937903109234034150B1 -:10150000409335034F5F90930D0380910D03330F8C -:10151000832B80930D0380910F03813041F410924F -:101520000F0380910D038093BB0085EC01C085EE15 -:101530008093BC0080910C038130E1F380913403EF -:10154000841710F44091340320E030E00AC0FB011E -:10155000E20FF31FD901AC5EBC4F8C9180832F5FEB -:101560003F4F2417A0F3842F08950F931F93582FF4 -:10157000122F413210F081E04AC080910C03882381 -:10158000E1F782E080930C0300930E038FEF8093CA -:1015900079031092340340933503A4E1B3E0FB01D7 -:1015A00002C081918D938E2F861B8417D0F31092E9 -:1015B0000D0380910D03550F852B80930D038091B2 -:1015C0000F03813041F410920F0380910D0380933B -:1015D000BB0085EC01C085EE8093BC00112321F097 -:1015E00080910C038230E1F3809179038F3F11F4F5 -:1015F00080E00DC080917903803211F482E007C051 -:1016000080917903803311F084E001C083E01F9161 -:101610000F910895482F613210F081E00895809174 -:101620000C03843011F082E0089560935703A6E321 -:10163000B3E0842F9C01F90102C081918D938E2F1C -:10164000841B8617D0F380E008951F920F920FB687 -:101650000F9211242F933F934F935F936F937F9338 -:101660008F939F93AF93BF93EF93FF938091B900B4 -:1016700090E0887F90708036910509F4F2C0813641 -:101680009105CCF58832910509F47BC0893291052A -:10169000B4F48031910509F46FC0813191053CF4B7 -:1016A000009709F447C1089709F04FC165C0883118 -:1016B000910509F466C0809709F047C182C0803463 -:1016C000910509F4A4C08134910544F48033910557 -:1016D00009F482C0C89709F038C189C080359105E6 -:1016E00009F489C08835910509F496C088349105BC -:1016F00009F02BC1AEC08839910509F413C18939AD -:101700009105ECF48837910509F4ABC08937910550 -:101710004CF48836910509F4A4C08037910509F08E -:1017200014C19FC08838910509F4FCC08039910527 -:1017300009F49DC08038910509F007C198C0803B2D -:10174000910509F4C6C0813B91054CF4803A91059E -:1017500009F49FC0883A910509F0F7C0BAC0803CEF -:10176000910509F4E3C0883C910509F4DFC0883B8A -:10177000910509F0EAC0C2C080910D038093BB00BF -:10178000CFC09091340380913503981768F49091FD -:101790003403E92FF0E0EC5EFC4F80818093BB00C6 -:1017A0009F5F90933403BCC080910E03882309F49B -:1017B0004BC085ED8093BC008091BC0084FDFCCFC4 -:1017C000C2C080E28093790385ED8093BC00809154 -:1017D000BC0084FDFCCFB7C080E38093790385ED26 -:1017E0008093BC008091BC0084FDFCCFACC088E33A -:1017F000809379039BC0809134039091BB00E82FC4 -:10180000F0E0EC5EFC4F90838F5F80933403909107 -:1018100034038091350382C0809134039091BB00E2 -:10182000E82FF0E0EC5EFC4F90838F5F80933403F1 -:1018300080910E03882341F085ED8093BC00809158 -:10184000BC0084FDFCCF7FC081E080930F0384EA5D -:101850006EC085ED8093BC008091BC0084FDFCCF00 -:1018600072C083E080930C031092780359C080917A -:101870007803803208F056C0809178039091BB00C5 -:10188000E82FF0E0E85AFC4F90838F5F8093780355 -:1018900047C080917803803230F4E0917803F0E023 -:1018A000E85AFC4F108285ED8093BC008091BC000B -:1018B00084FDFCCF10920C0360917803E091120339 -:1018C000F091130388E593E070E009951092780396 -:1018D0002DC084E080930C0310925603109257039E -:1018E000E0911003F091110309958091570388232B -:1018F00029F481E0809357031092360390915603A8 -:10190000E92FF0E0EA5CFC4F80818093BB009F5F91 -:10191000909356039091560380915703981710F4B3 -:1019200085EC01C085E88093BC000FC085EC8093F6 -:10193000BC0009C01092790385ED8093BC008091B2 -:10194000BC0084FDFCCF10920C03FF91EF91BF917E -:10195000AF919F918F917F916F915F914F913F9147 -:101960002F910F900FBE0F901F90189510920C039F -:1019700081E080930E0310920F0382E161E00E94E8 -:101980005D1383E161E00E945D13E9EBF0E080818B -:101990008E7F808380818D7F808388E48093B800F0 -:1019A00085E48093BC000895EF92FF920F931F93FC -:1019B0007C018B01DC01ED91FC91A081B1816F77FD -:1019C0002D913C91CF01F9010995D701ED91FC9141 -:1019D000A081B181000F012F001F110B0F772D91F6 -:1019E0003C91CF01602FF90109951F910F91FF9054 -:1019F000EF900895FC010190F081E02DA081B1816C -:101A00002D913C91CF0160EFF90109950895FC01FA -:101A10000190F081E02DA081B1812D913C91CF0109 -:101A200067EFF901099508950F931F938C01DC016D -:101A3000ED91FC91A081B1812D913C91CF0169EF95 -:101A4000F9010995D801ED91FC91A081B1812D9109 -:101A50003C91CF0162E0F9010995D801ED91FC912B -:101A6000A081B1812D913C91CF0163E0F9010995ED -:101A70001F910F9108951F93CF93DF93EC018A81FB -:101A80008823C9F1CE010E94FA0CE881F981A08176 -:101A9000B1812D913C91CF0169E7F9010995E88168 -:101AA000F981A081B1812B813C814D915C91CF0165 -:101AB000F9016081FA010995E881F981A081B1817C -:101AC0002B813C814D915C91CF01F9016181FA013B -:101AD000099512E00AC0EB81FC81E10FF11D6081E4 -:101AE000CE0170E00E94D40C1F5F8A81181798F312 -:101AF000CE010E94070DDF91CF911F910895FC0147 -:101B0000A081B181ED91FC9111970480F581E02DC8 -:101B1000CD0109950895EF92FF920F931F938C01C9 -:101B20007A01DC01ED91FC91A081B1816F70606E52 -:101B30002D913C91CF01F9010995C801B7010E948F -:101B4000D40C1F910F91FF90EF900895EF92FF92A8 -:101B50000F931F937C018A01DC01ED91FC91A08120 -:101B6000B1816F7060692D913C91CF01F9010995A8 -:101B7000D701ED91FC91A081B181602F6F772D91FC -:101B80003C91CF01F9010995D701ED91FC91A0811C -:101B9000B181000F012F001F110B2D913C91CF013E -:101BA000602FF90109951F910F91FF90EF90089513 -:101BB000DF92EF92FF920F931F93CF93DF93EC018D -:101BC000162FD42E022FF32E0E94FA0CE881F981F1 -:101BD000A081B1812D913C91CF01612FF90109952F -:101BE000202F3F2DC9017C0110E008C0F701619151 -:101BF0007F01CE0170E00E94D40C1F5F1D15B0F371 -:101C0000CE010E94070DDF91CF911F910F91FF90A0 -:101C1000EF90DF900895FC010190F081E02DA0810C -:101C2000B1812D913C91CF01F90109950895FC01F5 -:101C3000603DA9F0613D28F4603959F0603CA1F4A1 -:101C40000BC0603E19F0643F79F40CC054A743A761 -:101C5000089556A745A7089550AB47A7089552ABDE -:101C600041AB089554AB43AB0895FC016F3F11F4B1 -:101C700056AB45AB0895FC0152AF41AF0895FC014E -:101C8000158216821782DC0180E018961C92189744 -:101C90008F5F11968032C9F710A612A611A605A86B -:101CA000F6A9E02D309709F009950895FC011282FC -:101CB000148213820E943F0E08958AE793E00E94E7 -:101CC000560E08954F925F926F927F928F929F92DD -:101CD000AF92BF92CF92DF92EF92FF920F93DF937A -:101CE000CF9300D0CDB7DEB72B017A013A83298399 -:101CF0008DE061E00E941E1300E089819A813C0121 -:101D0000882477FC8094982C5701CC24B7FCC0948D -:101D1000DC2C11C0C401B3010E94FE118DE061E012 -:101D20000E945D13C601B5010E94FE118DE060E0C6 -:101D30000E945D130F5F802F90E08415950554F38A -:101D40000F900F90CF91DF910F91FF90EF90DF9068 -:101D5000CF90BF90AF909F908F907F906F905F904B -:101D60004F9008950F931F938C018DE061E00E94C6 -:101D70001E13C80162E070E048E250E022ED30E05E -:101D80000E94620E6AEF70E080E090E00E94FE1117 -:101D9000C80163E070E048E250E022ED30E00E94CC -:101DA000620E6DE770E080E090E00E94FE111F91EE -:101DB0000F9108959A01FA0101900020E9F73197F7 -:101DC000E41BF50B4E2F0E94D80D0895AB0161E77F -:101DD0000E94DA0E08951F93CF93DF93EC0188855C -:101DE000813731F0893789F5CE010E943B0D36C02D -:101DF0008FA998AD892B91F189A59AA5019762E0E9 -:101E000070E00E946F16162F862F90E00E947310CC -:101E1000AC01DC0121E030E011C0FE01E20FF11D58 -:101E200090859C932F5FFE01E20FF11D80858795C1 -:101E300088278795890F8D932F5F3F5F311768F350 -:101E4000EFA9F8ADCA01099509C0E9ADFAAD30971F -:101E500029F069A561502996AE010995DF91CF91CE -:101E60001F910895CF93DF93EC01A881B981ED9183 -:101E7000FC9111970680F781E02DCD010995AC0109 -:101E800088A5882391F0473F510529F418A6CE0173 -:101E90000E94EB0E93C089A59AA5FE01E80FF91FD9 -:101EA000408701969AA789A789C08D81882309F464 -:101EB00046C0403851050CF042C081508D83FE0170 -:101EC000E80FF11D4087882309F078C08E818823B0 -:101ED00009F474C0803D49F1813D28F4803959F0FE -:101EE000803C59F51FC0803E19F0843F31F513C086 -:101EF000EBA5FCA502C0EDA5FEA53097F1F0688525 -:101F000070E07695762F6627779567958985680FB7 -:101F1000711D8F8111C0EBA9FCA9309771F0688504 -:101F2000898509C0EFA5F8A902C0E9A9FAA93097E7 -:101F300021F068858F8170E009951E823FC0403F87 -:101F4000510514F09A0106C09A01207F3070842F49 -:101F50008F708F83203E3105F1F0213E310554F41E -:101F6000203C3105D1F0203D3105B9F02039310553 -:101F700029F511C0243F310571F0253F310524F4C6 -:101F8000203F3105D9F40DC0293F310599F02F3F8D -:101F90003105A1F40BC082E001C081E08D832E8366 -:101FA0000DC081E088A71AA619A608C0CE010E941C -:101FB0003F0E04C08AE793E00E94140DDF91CF9199 -:101FC0000895AF92BF92CF92DF92EF92FF920F935C -:101FD0001F93CF93DF938C01D62EC72EB42EA22E43 -:101FE000862F972F61EB71E00E94A900EC018D2DE7 -:101FF0009C2D6FE270E00E949E00209779F07C019A -:102000000894E11CF11CE114F10441F09E012E5FE3 -:10201000822F8E19D80112968C930FC0AD2DBC2D36 -:10202000FD0101900020E9F7ED19EF5FD80112964C -:10203000EC932D2D3C2DC9017C01F8018381948105 -:102040000E941011D80112968C9190E00E9473109A -:10205000FC01D80114969C938E93139712968C9141 -:102060001297E80FF11D10821396ED91FC911497D1 -:10207000B0821396ED91FC911497A18213968D91E5 -:102080009C91149712964C9150E042505040029609 -:10209000B7010E948F00DF91CF911F910F91FF90A8 -:1020A000EF90DF90CF90BF90AF900895EF92FF92A6 -:1020B0000F931F938C0136E4E32E34E0F32EC70117 -:1020C0000E943B14F801F182E082C8010E94B20E26 -:1020D000C8010E94140DC8010E943B0D1F910F9171 -:1020E000FF90EF9008950F931F93CF93DF93BC0160 -:1020F0008230910510F462E070E0E0916A04F091A2 -:102100006B04A0E0B0E040E050E024C08081918109 -:1021100086179707D0F08617970771F4828193810D -:10212000109729F013969C938E9312972CC090933E -:102130006B0480936A0427C04115510519F0841778 -:10214000950718F4EF018D01AC01DF0182819381C5 -:102150009C01F9013097D1F641155105F9F0CA01FA -:10216000861B970B8430910580F48A819B81011531 -:10217000110521F0F8019383828304C090936B04CE -:1021800080936A04FE01329645C0FE01E80FF91FF4 -:10219000619371930297998388833CC0809168040E -:1021A00090916904892B41F48091BB019091BC010D -:1021B00090936904809368044091BD015091BE01E1 -:1021C0004115510541F44DB75EB78091B901909129 -:1021D000BA01481B590B20916804309169042417F7 -:1021E0003507B0F4CA01821B930B8617970780F05E -:1021F000AB014E5F5F4F8417950750F0420F531F9E -:102200005093690440936804F9016193719302C08B -:10221000E0E0F0E0CF01DF91CF911F910F910895A1 -:10222000CF93DF939C01009709F48FC0EC012297B4 -:102230001B821A8260916A0470916B0461157105AA -:1022400081F488819981820F931F209168043091D5 -:1022500069042817390739F5D0936904C0936804D5 -:1022600074C0DB0140E050E0AC17BD0708F1BB8350 -:10227000AA83FE0121913191E20FF31FAE17BF0730 -:1022800079F48D919C911197280F391F2E5F3F4F44 -:102290003983288312968D919C9113979B838A830F -:1022A0004115510571F4D0936B04C0936A044DC07D -:1022B00012968D919C911397AD01009711F0DC015E -:1022C000D3CFDA011396DC93CE931297FA012191C2 -:1022D0003191E20FF31FCE17DF0769F488819981EE -:1022E000280F391F2E5F3F4FFA01318320838A81E7 -:1022F0009B8193838283E0E0F0E0DB0112968D9175 -:102300009C911397009719F0BC01FD01F6CFAB012A -:102310004E5F5F4FDB018D919C91840F951F209143 -:102320006804309169042817390779F4309729F443 -:1023300010926B0410926A0402C0138212824250FF -:1023400050405093690440936804DF91CF91089501 -:102350001F920F920FB60F9211242F933F938F93DA -:102360009F93AF93BF938091B9039091BA03A091CB -:10237000BB03B091BC033091BD030196A11DB11DFB -:10238000232F2D5F2D3720F02D570196A11DB11D54 -:102390002093BD038093B9039093BA03A093BB032A -:1023A000B093BC038091B5039091B603A091B7039D -:1023B000B091B8030196A11DB11D8093B503909310 -:1023C000B603A093B703B093B803BF91AF919F91A9 -:1023D0008F913F912F910F900FBE0F901F901895E6 -:1023E0008FB7F8942091B9033091BA034091BB03A1 -:1023F0005091BC038FBFB901CA0108959B01AC0184 -:102400007FB7F8948091B5039091B603A091B7037C -:10241000B091B80366B5A89B05C06F3F19F001964F -:10242000A11DB11D7FBFBA2FA92F982F8827860F16 -:10243000911DA11DB11D62E0880F991FAA1FBB1F2E -:102440006A95D1F7BC012DC0FFB7F8948091B50310 -:102450009091B603A091B703B091B803E6B5A89BDD -:1024600005C0EF3F19F00196A11DB11DFFBFBA2FA6 -:10247000A92F982F88278E0F911DA11DB11DE2E075 -:10248000880F991FAA1FBB1FEA95D1F7861B970BD0 -:10249000885E9340C8F2215030404040504068511F -:1024A0007C4F211531054105510571F608950197BD -:1024B00039F0880F991F880F991F02970197F1F73C -:1024C0000895789484B5826084BD84B5816084BDAC -:1024D00085B5826085BD85B5816085BDEEE6F0E09D -:1024E000808181608083E1E8F0E0108280818260F9 -:1024F0008083808181608083E0E8F0E0808181607A -:102500008083E1EBF0E0808184608083E0EBF0E0A9 -:10251000808181608083EAE7F0E08081846080834D -:1025200080818260808380818160808380818068F7 -:1025300080831092C1000895982F8E3008F09E502D -:1025400097708091BF018295880F880F807C892BBE -:1025500080937C0080917A00806480937A008091DF -:102560007A0086FDFCCF2091780040917900942F6D -:1025700080E030E0282B392BC90108951F93CF93B9 -:10258000DF93182FEB0161E00E941E13209709F4DE -:102590004AC0CF3FD10509F449C0E12FF0E0E25530 -:1025A000FF4F84918330C1F0843028F4813051F0A2 -:1025B0008230B1F50CC0863019F1873049F1843092 -:1025C00079F514C084B5806884BDC7BD33C084B5B7 -:1025D000806284BDC8BD2EC08091800080688093D9 -:1025E0008000D0938900C093880024C0809180002F -:1025F000806280938000D0938B00C0938A001AC0C1 -:102600008091B00080688093B000C093B30012C086 -:102610008091B00080628093B000C093B4000AC083 -:10262000C038D1051CF4812F60E002C0812F61E029 -:102630000E945D13DF91CF911F910895CF93DF9397 -:10264000482F50E0CA0186569F4FFC0134914A57EB -:102650005F4FFA018491882369F190E0880F991FF8 -:10266000FC01E859FF4FA591B491FC01EE58FF4FD2 -:10267000C591D491662351F42FB7F8948C91932F80 -:10268000909589238C93888189230BC0623061F4F3 -:102690002FB7F8948C91932F909589238C938881F0 -:1026A000832B88832FBF06C09FB7F8948C91832B10 -:1026B0008C939FBFDF91CF910895482F50E0CA01BE -:1026C00082559F4FFC012491CA0186569F4FFC0101 -:1026D00094914A575F4FFA013491332309F440C073 -:1026E000222351F1233071F0243028F42130A1F05D -:1026F000223011F514C02630B1F02730C1F024305B -:10270000D9F404C0809180008F7703C0809180004D -:102710008F7D8093800010C084B58F7702C084B510 -:102720008F7D84BD09C08091B0008F7703C08091F8 -:10273000B0008F7D8093B000E32FF0E0EE0FFF1F1D -:10274000EE58FF4FA591B4912FB7F894662321F46A -:102750008C919095892302C08C91892B8C932FBFEB -:10276000089508951F920F920FB60F9211242F9380 -:102770003F934F938F939F93EF93FF938091C0006C -:1027800082FD1DC04091C6002091FE033091FF03E1 -:102790002F5F3F4F2F7330708091000490910104A0 -:1027A0002817390771F0E091FE03F091FF03E2541E -:1027B000FC4F40833093FF032093FE0302C08091BF -:1027C000C600FF91EF919F918F914F913F912F9173 -:1027D0000F900FBE0F901F901895E0915204F0914A -:1027E0005304E05CFF4F8191919120813181821BE4 -:1027F000930B8F739070892B11F00E94B113089581 -:102800001F920F920FB60F9211242F933F938F9325 -:102810009F93EF93FF932091420430914304809162 -:102820004404909145042817390731F48091C10080 -:102830008F7D8093C10014C0E0914404F091450461 -:10284000EE5FFB4F208180914404909145040196F6 -:102850008F73907090934504809344042093C60036 -:10286000FF91EF919F918F913F912F910F900FBE0C -:102870000F901F901895AF92BF92DF92EF92FF9248 -:102880000F931F93CF93DF93EC017A018B01DD242B -:10289000403081EE580780E0680780E0780711F04B -:1028A000DD24D39491E0A92EB12CEC89FD89DD20A3 -:1028B00069F0C50108A002C0880F991F0A94E2F7C9 -:1028C000808360E079E08DE390E005C0108260E8ED -:1028D00074E88EE190E0A80197010E9482162150D1 -:1028E000304040405040569547953795279580E1B8 -:1028F0002030380720F0DD2011F0DD24D6CFE88924 -:10290000F9893083EA89FB89208319A2EE89FF893E -:10291000408121E030E0C9010C8C02C0880F991F72 -:102920000A94E2F7482B4083EE89FF894081C90170 -:102930000D8C02C0880F991F0A94E2F7482B408340 -:10294000EE89FF894081C9010E8C02C0880F991F52 -:102950000A94E2F7482B4083EE89FF8980810F8C2F -:1029600002C0220F331F0A94E2F720952823208308 -:10297000DF91CF911F910F91FF90EF90DF90BF906B -:10298000AF900895DC011C96ED91FC911D97E05CE1 -:10299000FF4F2191319180819181281B390B2F7339 -:1029A0003070C9010895DC011C96ED91FC911D97D2 -:1029B000E05CFF4F20813181E054F040DF01AE5BED -:1029C000BF4F8D919C9111972817390719F42FEF5C -:1029D0003FEF07C08D919C91E80FF91F8081282F50 -:1029E00030E0C9010895DC011C96ED91FC911D9722 -:1029F000E05CFF4F20813181E054F040DF01AE5BAD -:102A0000BF4F8D919C9111972817390719F42FEF1B -:102A10003FEF10C08D919C911197E80FF91F208115 -:102A20008D919C91119701968F73907011969C9344 -:102A30008E9330E0C9010895DC0191968C919197B5 -:102A4000882339F05496ED91FC915597808186FF4B -:102A5000F9CF91961C920895CF93DF93EC01EE8508 -:102A6000FF85E05CFF4F20813181E054F0402F5F13 -:102A70003F4F2F733070DF01AE5BBF4F8D919C9144 -:102A8000119728173907D1F3E05CFF4F80819181BE -:102A9000E054F040E80FF91F6083EE85FF85E05CAD -:102AA000FF4F31832083EE89FF89208181E090E010 -:102AB0000F8C02C0880F991F0A94E2F7282B2083FD -:102AC00081E089A3EC89FD8980818064808381E035 -:102AD00090E0DF91CF91089510924904109248043C -:102AE00088EE93E0A0E0B0E080934A0490934B041A -:102AF000A0934C04B0934D0484ED91E0909347046F -:102B0000809346048EEB93E0909353048093520499 -:102B100082E094E0909355048093540485EC90E017 -:102B2000909357048093560484EC90E0909359045A -:102B30008093580480EC90E090935B0480935A0457 -:102B400081EC90E090935D0480935C0482EC90E0D3 -:102B500090935F0480935E0486EC90E09093610410 -:102B60008093600484E08093620483E08093630434 -:102B700087E08093640485E08093650481E080931E -:102B800066040895CF93DF930E9461120E9434037C -:102B9000CDEED3E10E944C042097E1F30E94ED13A7 -:102BA000F9CFCF92DF92EF92FF920F931F93CF93C3 -:102BB000DF937C016B018A01C0E0D0E00FC0D60139 -:102BC0006D916D01D701ED91FC910190F081E02DA7 -:102BD000C7010995C80FD91F0150104001151105F3 -:102BE00071F7CE01DF91CF911F910F91FF90EF9080 -:102BF000DF90CF9008952F923F924F925F926F9205 -:102C00007F928F929F92AF92BF92CF92DF92EF927C -:102C1000FF920F931F93DF93CF93CDB7DEB73B01A6 -:102C20004C0119012A016D897E898F89988D6A1955 -:102C30007B098C099D09621A730A840A950AA4010A -:102C400093010E944416E218F30804091509A8012B -:102C500097010E94A4162A0D3B1D4C1D5D1DB90154 -:102C6000CA01CF91DF911F910F91FF90EF90DF90FC -:102C7000CF90BF90AF909F908F907F906F905F901C -:102C80004F903F902F900895629FD001739FF00165 -:102C9000829FE00DF11D649FE00DF11D929FF00DEC -:102CA000839FF00D749FF00D659FF00D9927729F23 -:102CB000B00DE11DF91F639FB00DE11DF91FBD01AE -:102CC000CF0111240895991B79E004C0991F96172C -:102CD00008F0961B881F7A95C9F78095089597FB91 -:102CE000092E07260AD077FD04D049D006D000204F -:102CF0001AF4709561957F4F0895F6F79095819538 -:102D00009F4F0895A1E21A2EAA1BBB1BFD010DC007 -:102D1000AA1FBB1FEE1FFF1FA217B307E407F5078B -:102D200020F0A21BB30BE40BF50B661F771F881F67 -:102D3000991F1A9469F760957095809590959B01FD -:102D4000AC01BD01CF01089597FB092E05260ED0D9 -:102D500057FD04D0D7DF0AD0001C38F450954095B9 -:102D6000309521953F4F4F4F5F4F0895F6F790955F -:102D70008095709561957F4F8F4F9F4F0895AA1B47 -:102D8000BB1B51E107C0AA1FBB1FA617B70710F056 -:102D9000A61BB70B881F991F5A95A9F78095909588 -:102DA000BC01CD010895EE0FFF1F0590F491E02DB9 -:062DB0000994F894FFCF26 -:102DB600556E6B6E6F776E2070696E206D6F6465F1 -:102DC600005374616E646172644669726D61746108 -:102DD6002E696E6F00493243205265616420457248 -:102DE600726F723A20546F6F206D616E792062792E -:102DF600746573207265636569766564004932435C -:102E06002052656164204572726F723A20546F6F6A -:102E160020666577206279746573207265636569DB -:102E26007665640031302D62697420616464726570 -:102E36007373696E67206D6F6465206973206E6FAA -:102E4600742079657420737570706F727465640090 -:102E5600746F6F206D616E79207175657269657327 -:102E6600002E637070001300FF80006C04000001E8 -:102E760000000000090AD80991099A09AF09C0099A -:102E8600000000002C15D115C214F314D3141C1520 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/Blink.cpp.hex deleted file mode 100644 index 14b78c7e..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/Blink.cpp.hex +++ /dev/null @@ -1,101 +0,0 @@ -:100000000C9418010C942C010C942C010C942C01D0 -:100010000C942C010C942C010C942C010C942C01AC -:100020000C942C010C942C010C942C010C942C019C -:100030000C942C010C942C010C942C010C942C018C -:100040000C942C010C942C010C942C010C942C017C -:100050000C942C010C942C010C942C010C94460152 -:100060000C942C010C942C010C942C010C942C015C -:100070000C942C010C942C010C942C010C942C014C -:100080000C942C010C942C010C942C010C942C013C -:100090000C942C010C942C010C942C010C942C012C -:1000A0000C942C010C942C010C942C010C942C011C -:1000B0000C942C010C942C010C942C010C942C010C -:1000C0000C942C010C942C010C942C010C942C01FC -:1000D0000C942C010C942C010C942C010C942C01EC -:1000E0000C942C010C942C010C942C010C942C01DC -:1000F0000C942C010C942C010C942C010C942C01CC -:100100000C942C010C942C010C942C010C942C01BB -:100110000C942C010C942C010C942C010C942C01AB -:100120000C942C010C942C010C942C010C942C019B -:100130000C942C015602590248024C0252029002C1 -:100140005D02610267026B026F02750279027D0235 -:100150009002830287028B020C9461020C94870246 -:100160000C9490020C9459020C944C020C9483024F -:100170000C946F020C9456020C9448020C948B025F -:100180000C946B020C9467020C947D020C945D023B -:100190000C9475020C9452020C947902000001092F -:1001A0000A0B00000000000000000000000000003A -:1001B00000070304000000000000000001028008A6 -:1001C00010200440200104080204080102108040AD -:1001D000801020400102040810204080050502051F -:1001E00005050505040202020204040404040504D2 -:1001F00004020202060606060606060600000000C5 -:10020000250000002B002E0031003400000000000B -:1002100000000000000000000000240000002A0090 -:100220002D0030003300000000000000000000003E -:1002300011241FBECFEFD1E8DEBFCDBF00E00CBF61 -:1002400022E0A0E0B2E001C01D92A930B207E1F7C0 -:100250000E9401030C9417030C94000061E087E1F5 -:100260000C94910261E087E10E94CA0268EE73E09B -:1002700080E090E00E94B30160E087E10E94CA0242 -:1002800068EE73E080E090E00C94B3011F920F924F -:100290000FB60F9211242F933F938F939F93AF9399 -:1002A000BF938091010290910202A0910302B0914C -:1002B00004023091000223E0230F2D3720F4019631 -:1002C000A11DB11D05C026E8230F0296A11DB11D79 -:1002D000209300028093010290930202A0930302F4 -:1002E000B09304028091050290910602A09107024A -:1002F000B09108020196A11DB11D80930502909353 -:100300000602A0930702B0930802BF91AF919F919C -:100310008F913F912F910F900FBE0F901F901895C6 -:100320003FB7F8948091050290910602A0910702D0 -:10033000B091080226B5A89B05C02F3F19F0019681 -:10034000A11DB11D3FBF6627782F892F9A2F620FFD -:10035000711D811D911D42E0660F771F881F991F37 -:100360004A95D1F70895CF92DF92EF92FF92CF9303 -:10037000DF936B017C010E949001EB01C114D10459 -:10038000E104F10489F00E9410030E9490016C1BAB -:100390007D0B683E734090F381E0C81AD108E108F4 -:1003A000F108C851DC4FEACFDF91CF91FF90EF9079 -:1003B000DF90CF900895789484B5826084BD84B531 -:1003C000816084BD85B5826085BD85B5816085BD50 -:1003D000EEE6F0E0808181608083E1E8F0E0108269 -:1003E000808182608083808181608083E0E8F0E0AA -:1003F000808181608083E1EBF0E080818460808394 -:10040000E0EBF0E0808181608083E1E9F0E08081D1 -:1004100082608083808181608083E0E9F0E0808178 -:1004200081608083E1EAF0E0808182608083808166 -:1004300081608083E0EAF0E0808181608083E1E296 -:10044000F1E0808182608083808181608083E0E24E -:10045000F1E0808181608083EAE7F0E08081846060 -:1004600080838081826080838081816080838081BD -:10047000806880831092C100089590E0FC0131975C -:10048000E231F10508F04CC0E656FF4F0C94110321 -:10049000809180008F7703C0809180008F7D809352 -:1004A0008000089580918000877FF9CF84B58F7791 -:1004B00002C084B58F7D84BD08958091B0008F7790 -:1004C00003C08091B0008F7D8093B000089580912B -:1004D00090008F7707C0809190008F7D03C080913E -:1004E0009000877F8093900008958091A0008F777F -:1004F00007C08091A0008F7D03C08091A000877FFE -:100500008093A0000895809120018F7707C080918B -:1005100020018F7D03C080912001877F809320017F -:100520000895CF93DF9390E0FC01E454FE4F2491B3 -:10053000FC01E452FE4F8491882349F190E0880F3A -:10054000991FFC01EA5EFD4FA591B49184509E4F26 -:10055000FC01C591D4919FB7611108C0F8948C91AA -:10056000209582238C93888182230AC0623051F4C3 -:10057000F8948C91322F309583238C938881822B31 -:10058000888304C0F8948C91822B8C939FBFDF9159 -:10059000CF9108950F931F93CF93DF931F92CDB701 -:1005A000DEB7282F30E0F901E456FE4F8491F901BF -:1005B000E454FE4F1491F901E452FE4F04910023DC -:1005C000C9F0882321F069830E943D026981E02FF0 -:1005D000F0E0EE0FFF1FE450FE4FA591B4919FB7DE -:1005E000F8948C91611103C01095812301C0812B77 -:1005F0008C939FBF0F90DF91CF911F910F91089522 -:1006000008950E94DB010E9400030E942E01C0E0B9 -:10061000D0E00E9432012097E1F30E940000F9CF60 -:100620000895EE0FFF1F0590F491E02D1994F894B2 -:02063000FFCFFA -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/Bootstrap.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/Bootstrap.cpp.hex deleted file mode 100644 index 657d508a..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/Bootstrap.cpp.hex +++ /dev/null @@ -1,10014 +0,0 @@ -:100000000C9479190D9434030D9465030D949603A3 -:100010000D94C7030D94F8030D9429040D945A040C -:100020000D948B040C9436760C94AA190C94AA198E -:100030000C94AA190C94AA190C94AA190C94AA1934 -:100040000C94AA190C94AA190C94AA190C94AA1924 -:100050000C94AA190C94AA190C94AA190D94BC0416 -:100060000C94AA190D9425090D945B090C94AA19F6 -:100070000C94AA190C94AA190C94AA190C94AA19F4 -:100080000C94AA190C94AA190C94AA190C946CB685 -:100090000D94D2090D94080A0C94AA190C94FF1B14 -:1000A0000C94AA190C94AA190C94AA190C94AA19C4 -:1000B0000C94AA190C94AA190C94AA190C94AA19B4 -:1000C0000C94AA190C94AA190C94AA190C94AA19A4 -:1000D0000C94AA190C94AA190C94AA190C94AA1994 -:1000E0000C94AA190C94AA190C94AA190C94AA1984 -:1000F0000C94AA190C94AA190C94AA190C94AA1974 -:100100000C94AA190C94AA190C94AA190C94D375DE -:100110000C94E2750C94AA190C94AA190C94AA19BF -:100120000C94AA190C94AA190C94AA190C94AA1943 -:100130000C94AA19CBA8CBA867A87CA89AA8CBA88E -:10014000D7A8E2A81DA91DA9A7A949A95FA91DA90A -:10015000B1A9A7A986C583C583C583C589C59CC523 -:1001600083C599C599C599C599C599C583C599C5CB -:1001700099C599C5A7C6AEC6EEC6EEC6EEC6EEC612 -:10018000D1C8EEC6EEC6BD03F70397035D02A30414 -:100190009103930181048304070285024D03AD049A -:1001A0009F0383031D0237022903C504E5010704E9 -:1001B000AD048D0397019B03FB038D02B902550427 -:1001C0005F015B03DB03B9042D030D022102E10390 -:1001D000E70231025B037F016F01D50207634236FC -:1001E000B79BD8A71A39685618AEBAAB558C1D3CC8 -:1001F000B7CC5763BD6DEDFD753EF6177231BF008C -:100200000000803F08000000BE922449123EABAAC5 -:10021000AA2ABECDCCCC4C3E00000080BEABAAAA20 -:10022000AA3E00000000BF000000803F0000000068 -:1002300000084178D3BB4387D1133D190E3CC3BDA1 -:100240004282AD2B3E68EC8276BED98FE1A93E4C4E -:1002500080EFFFBE01C4FF7F3F00000000000C9450 -:10026000DE360C9464C10C9469AE0C9449890C94EC -:10027000F19C0C9436B20C942EA50C94384F0C942F -:1002800018370C948C500C94733D0D940E020C9402 -:10029000EB660C94098D0C94CB520C9400F80C94E2 -:1002A0002F520C946D650C94E44E0C94FD360C9416 -:1002B00068AD0C943F4A0C94715E0C94539A0D9463 -:1002C000CA060C9430A80C949A500C94E1930C94A8 -:1002D0005F8B0C9410560C942A370C9423390D9490 -:1002E000FF060C94A2DD0C94F1360C9470460C942D -:1002F000B9B40C94C0940C9497B60C94C19C0D9412 -:10030000FB060C944F1A0D9465020C94F6390C946C -:10031000969F0C94B4B60C9451960C9479310C942D -:10032000EC940C942B3A0D9427030C9414370D94F1 -:1003300098060C946F810C9499AD0C94C94A0C9456 -:10034000385F0C942DE70C949CC50C946E840C942F -:10035000B78A0C94AA360D94320A0C940F370D9478 -:10036000A6020C94EEF70C94EDA10C9463520C943D -:10037000443C0C94B5490C94C18D0C94956B0D9430 -:100380005E080C94096B0D943C080C9439680C942D -:10039000844A0C9440540C94D49A0C94805A0C9433 -:1003A000DC360C9423960C94E12E0C94804D0C9426 -:1003B00012840C945E370C94353A0C9434370C94B8 -:1003C000E2A80C9459DD0C941D370D947A060C9418 -:1003D0006DDD0C9452440C9449A90C9406370C948E -:1003E000E5930C949D740C943F3F0C94A7510C948E -:1003F000E6480C946CC10C9448950C94CC570C9422 -:10040000DBDC0C9426840C9436840C9467A80D9441 -:100410001F060C94F88A0C94D59F0D94E3060D9456 -:100420003C0A0C944E530C9459BE0C94398B0C948A -:100430003E530C947D890C9455900D944D060C946C -:10044000A4DE0D94E7060C9480D80C94529A0C9478 -:100450009C330C94963D0C94CBA80C9455B40C94FE -:10046000B8400D94F5060C9449520C94A9F50D94DE -:1004700057060D94E8070C94479B0C945FA90C94C5 -:10048000392A0D9498020C944EAD0C94AB9F0C94A9 -:1004900087940C944B2A0C94F59A0C94E4930C9446 -:1004A000E0870C940ADF0C940BD60C942B490D9426 -:1004B00051020C94061A0C949E600D94EC020C945C -:1004C000708C0C94473E0C942BA50C940E660C94E7 -:1004D000024F0D94AD020C944DDC0C944F900C9493 -:1004E00018950C94DC2B0C9401580C9483C50C9437 -:1004F00056E30C9461B40C9483DD0C94343E0C945C -:1005000050B60C94AAE20C94711A0D9429060C941E -:1005100051390C9448D60C94E93D0D94D1060C94B5 -:10052000EEE60C94524F0C94B49F0C9412D60C949B -:1005300053DE0C94F9A50C9419500C94203E0C94A5 -:10054000E09F0C9470490C9468B40C9459840C94FA -:100550001D1B0C94B79B0C94BFAD0C940E4B0C94CC -:10056000AFD60C94E19C0C9459440C944FE90C9434 -:10057000EEC60D94C0060C947E9C0C94F99C0C94D1 -:10058000193A0C94721A0C9466FC0C9440DE0C948C -:10059000DFB60C9445B40C9460400C9428A20D94E2 -:1005A0006A020C94CAAE0C9473530D9403070C9416 -:1005B000FA490C94A8420C94223A0C9467B40C9417 -:1005C00047AD0C947B5B0C94DB470C9445A20D94D7 -:1005D000F1060C949BD60C94D7E70C9449DD0C944F -:1005E000448D0C94E9430C9462740C94313F0C9448 -:1005F0006F510C94EA9F0C941FA70C947E500D949D -:10060000DA070C9499C50C94E8360C947CA80C94E9 -:10061000D8B00C943AC10C9451E70C94DCDF0C94E4 -:100620000B960C9478C10C9402A10C948CDE0C9463 -:100630000B900C9486C50C94A29F0D9406050D9406 -:10064000FC070C94BB890C9440AD0C94005B0C949B -:10065000D71F0D9461060C941BA20D94DF060C9419 -:100660008A950C941DA90C9474AF0C9443610C945E -:10067000FB240C9449AD0C94155C0C949FA10C9434 -:10068000E4470C94B0D60C9432960C94E0DD0C94B4 -:1006900032B50C944F9A0C9410970D9433060C9429 -:1006A00085D60C94428A0C942DAB0C94283F0C9464 -:1006B00055510C94D9730D9408070C9415E30C94C0 -:1006C000E29C0C94FD560C9418C10C9458C10C94E7 -:1006D000AEC60C94C1510C94944F0C9449410C94A7 -:1006E000C1DD0D94CD070C9455AE0C94714B0C9458 -:1006F000B0540C944AAD0C94955C0C94C2B60C9416 -:1007000046390C94E6A00D9445060C94318F0C9458 -:1007100040DF0C9464A10C9494C10D948E060C944B -:1007200070500D941A030C94534B0C9423C10D94E8 -:10073000E0020C94A7A90D94A2060C9464810D9478 -:100740003D060D9421020C9430690C948C210C947C -:1007500065640C943E4E0C945EC10C9401970C940D -:10076000B3700C94DF500C949D3E0D949F020C943A -:10077000056A0C9439C10D94F80A0D940E030C947B -:1007800026BE0C94CC5F0C94621A0C94FB430C9420 -:10079000F2430C9413E70C949F1A0C94CE960C948D -:1007A00051B40C941E9B0C94D1A50C94A84F0D949D -:1007B000CF070C94CA9F0D94D5060C940BDE0C94B5 -:1007C000DE890D94ED060C94A6380C941CDE0C9476 -:1007D000CC950C942A250C9447370C94E9640C941E -:1007E000472A0C9455E70C94DE9C0C94BF9F0D9403 -:1007F000D8020C9420840D94CE060C94A1480C943D -:1008000065B30C94D7A80C94D98F0C94A7C60D94FB -:1008100084060C9442C10C94CBDE0D948F090C9489 -:1008200072C10C94108A0C942F370C9437FC0C94E2 -:10083000C9470D9485090C94B7B60C94D1C80C9493 -:10084000E0B10C941F4F0C944C8B0C9490D60D94EB -:100850007F0A0C944AAB0C948D510C94363F0C9447 -:100860003B580C948F450C94B8B60C94F8E50C9456 -:100870002B8C0D947C020C9474620C94034E0C949B -:1008800090D20C945C480C9466DE0C948FA60C9469 -:1008900062500C94FBF10C94471A0C943D840C9418 -:1008A00072E90C94864C0D9424020D94C4060C94A9 -:1008B000E0610C949D470C94FD3A0C947AD60C940C -:1008C000D6630C94204E0C942F920C94DB510C9414 -:1008D000D2470C945D3E0C94EDB50C94DD830C94E2 -:1008E00032DC0C94768A0C94999F0C94FDD50C9470 -:1008F000684C0C9489C50C94B0B50C947A470C9450 -:1009000008D60D9415060D941A060D9416020C9433 -:1009100021370C94D68C0C944F840C94972C0D9406 -:100920006B020C94EEDE0C9485D20C9425370C945B -:10093000B1A90C94EE8F0C9479870C945B670C949E -:1009400018AF0C942FDE0D94F9020C9454890D9479 -:1009500034020C947ADE0C9442B40D94AC060C94E0 -:10096000C0A90C94C93E0C9424510C949AA80C94E0 -:10097000112B0D94D9060C944DAD0C942D5D0C9457 -:1009800038A60C944E500D94D50A0D946B06756ED6 -:100990006B6E6F776E0032204D622F730031204DE9 -:1009A000622F7300353030206B622F730032353088 -:1009B000206B622F7300756E6B6E6F776E002D313A -:1009C000362E352064426D002D31312E35206442A3 -:1009D0006D002D382E352064426D002D362E3520C9 -:1009E00064426D002D342E352064426D002D332E6F -:1009F000352064426D002D322E352064426D002D6D -:100A0000312E352064426D002D302E352064426D2C -:100A100000302E352064426D00312E322064426D4C -:100A200000312E382064426D00322E332064426D36 -:100A300000322E382064426D00332E332064426D24 -:100A400000332E352064426D00556E6B6E6F776EED -:100A5000204361757365205265736574004A544183 -:100A600047005761746368646F670042726F776E06 -:100A70002D6F75740045787465726E616C00506FEF -:100A80007765722D6F6E0029002C002C0052756E58 -:100A90006E696E673A20616E616C6F6750696E4572 -:100AA00076656E7448616E646C6572280029002C4E -:100AB000002C0052756E6E696E673A206469676932 -:100AC00074616C50696E4576656E7448616E646CD5 -:100AD0006572280070776D00696E7075745F70754F -:100AE0006C6C7570006F757470757400696E7075DC -:100AF000740064697361626C656400726573657229 -:100B000076656400756E73657400646973636F6EF7 -:100B10006E65637465640072756E6E696E672065DC -:100B200076616C206F663A2000290052756E6E69FE -:100B30006E673A2074656D70657261747572654593 -:100B400076656E7448616E646C6572280029005287 -:100B5000756E6E696E673A20626174746572794170 -:100B60006C61726D5472696767657265644576651C -:100B70006E7448616E646C65722800290052756E4F -:100B80006E696E673A206261747465727943686158 -:100B90007267696E674576656E7448616E646C65F0 -:100BA000722800290052756E6E696E673A20626184 -:100BB000747465727950657263656E7461676545BA -:100BC00076656E7448616E646C6572280072783068 -:100BD00000007478300000643200000064330000CC -:100BE000006434000000643500000064360000003A -:100BF0006437000000643800000073730000006D6B -:100C00006F7369006D69736F0073636B00007278B6 -:100C1000310000747831000073636C00007364610C -:100C2000000076636300006261747400626B706B35 -:100C30000063686700006C656462006C6564720044 -:100C40006C65646700613000000061310000006184 -:100C500032000000613300000061340000006135A3 -:100C6000000000613600000061370000007365720B -:100C700076657220756E7661696C61626C65004D97 -:100C800065736820616E6E6F756E6365206661695D -:100C90006C65643A200020006D65736820616E6E9B -:100CA0006F756E63696E6720746F200052455452F1 -:100CB00059006572726F723A2000737563636573D1 -:100CC000730020204D65737361676520636F6E66E6 -:100CD00069726D6174696F6E202D20002D3E63680E -:100CE000756E6B00206C656E2000636F6D6D616EBC -:100CF000643A200069643A2000746F3A2000696EFB -:100D000076616C696420636F6D6D616E642C207216 -:100D10006571756972657320746F2C2069642C206D -:100D2000636F6D6D616E6400636F6D6D616E642ED7 -:100D3000616C6C282268712E6F6E6C696E65222C56 -:100D400032290048512061636B2764004A534F4E9B -:100D5000207061727365206661696C6564006C6FF8 -:100D60006F6B696E6720666F72207061636B65746C -:100D700020696E3A2000207365636F6E6473207380 -:100D8000696E6365206C61737420485120616374DF -:100D900069766974792C207265636F6E6E65637411 -:100DA000696E67003A005265636569766564206123 -:100DB0006E737765722066726F6D2053636F757402 -:100DC00020004D554C544943415354206F6E2077B9 -:100DD000726F6E6720656E64706F696E7400524545 -:100DE000545259006572726F723A200073756363D2 -:100DF0006573730020204D65737361676520636FB1 -:100E00006E6669726D6174696F6E202D20002D3ED3 -:100E10006368756E6B00206C656E2000676F7420D0 -:100E2000726573756C74200072756E6E696E6720E2 -:100E3000636F6D6D616E64200077616974696E67C0 -:100E400020666F72206D6F72650063616E2774207B -:100E50007265636569766520636F6D6D616E642090 -:100E60007768696C652073656E64696E6720616E72 -:100E70007377657200727373693A20002020006CEA -:100E800071693A2000526563656976656420636F15 -:100E90006D6D616E64005369676E616C6C696E673D -:100EA0002048513A20004851206F66666C696E6593 -:100EB0002C2063616E2774207369676E616C006D0E -:100EC000756C74696361737420696E200072756E4D -:100ED0006E696E672064656C6179276420636F6D4D -:100EE0006D616E643A2000204669656C642053632E -:100EF0006F757420726561647900204C65616420AF -:100F000053636F757420726561647900206279742F -:100F100065732066726565002000290020536B65AB -:100F200074636820287265762000200020285368AA -:100F3000656C6C206261736564206F6E2042697419 -:100F40006C6173682076322E30202863292032307D -:100F500031342042696C6C20526F79290048656CED -:100F60006C6F2066726F6D2050696E6F6363696F7E -:100F700021003E20006C6F6F6B696E6720666F7298 -:100F800020636F6D6D616E642000726566726573BB -:100F900068656420637573746F6D20636F6D6D6138 -:100FA0006E647320696E64657820746F3A20005017 -:100FB000696E206D75737420626520636F6E66695B -:100FC000677572656420617320696E707574004383 -:100FD000616E6E6F7420656E61626C652077616B07 -:100FE000657570206F6E206120726573657276651D -:100FF000642070696E0057616B657570206E6F7448 -:1010000020737570706F7274656420666F722074DF -:101010006869732070696E00496E76616C6964203E -:1010200070696E206E756D626572007573616765BB -:101030003A20706F7765722E77616B6575702E70D0 -:10104000696E282270696E4E616D65222C205B6589 -:101050006E61626C655D290075736167653A206D2C -:101060006573682E636F6E6669672873636F757446 -:1010700049642C2074726F6F704964205B2C20636C -:1010800068616E6E656C3D32302C206B65795D2930 -:101090000075736167653A206D6573682E736574BA -:1010A0006368616E6E656C286368616E6E656C293D -:1010B0000075736167653A206D6573682E7365749A -:1010C000706F77657228706F7765724C6576656CA6 -:1010D000290075736167653A206D6573682E7365C5 -:1010E00074646174617261746528646174615261D1 -:1010F0007465290075736167653A206D6573682EA4 -:101100007365746B657928226B6579222900757384 -:101110006167653A206D6573682E6A6F696E6772E4 -:101120006F75702867726F757049642900757361F7 -:1011300067653A206D6573682E6C656176656772C8 -:101140006F75702867726F757049642900757361D7 -:1011500067653A206D6573682E696E67726F75708A -:101160002867726F75704964290075736167653A05 -:10117000206D6573682E766572626F736528666C84 -:101180006167290020202020207C002020202020B2 -:101190007C2020202020002020202020207C2020B7 -:1011A000202020002020202020207C202020202003 -:1011B00020002020202020207C2020202020200013 -:1011C0002020202020207C202020202020002020E3 -:1011D000202020207C202020202020007C20202077 -:1011E000202020007C202020204669786564202073 -:1011F00020207C20204D756C7469636173742020FD -:101200007C2020202053636F7265202020207C20CA -:101210002020204473744164642020207C204E658B -:101220007874486F7041646472207C2020202052C2 -:10123000616E6B20202020207C20202020204C511B -:101240004920202020207C00726D206D6573682E5F -:1012500066742E656163683B726D206D6573682EE0 -:1012600066742E70696E673B726D206D6573682EB3 -:1012700066742E61636B3B6C65642E6F66660072EC -:10128000756E206D6573682E66742E656163682CBB -:101290003530300066756E6374696F6E206D6573EE -:1012A000682E66742E65616368207B206D657368A7 -:1012B0002E6561636828226D6573682E66742E70D2 -:1012C000696E6722293B7D0066756E6374696F6E77 -:1012D000206D6573682E66742E70696E67207B20A2 -:1012E000636F6D6D616E642E73636F75742E6163D1 -:1012F0006B28226D6573682E66742E61636B222CD9 -:101300006172672831292C226C65642E626C7565C8 -:10131000222C313030293B207D0066756E63746964 -:101320006F6E206D6573682E66742E61636B207B13 -:1013300069662861726728312929206C65642E72DC -:1013400065643B20696628617267283229203E2047 -:101350003020262620617267283229203C3D203823 -:101360003029206C65642E677265656E28313030D7 -:10137000293B20696628617267283229203E20387F -:101380003029206C65642E79656C6C6F773B7D002D -:10139000636F6D6D616E642E6F7468657273282261 -:1013A000636F6D6D616E642E73636F7574222C6D47 -:1013B0006573682E69642C226D696C6C69732229CF -:1013C0000075736167653A206D6573682E6669659F -:1013D0006C6474657374287365636F6E647329003D -:1013E00075736167653A206D6573682E6561636822 -:1013F0002822636F6D6D616E64222900636F6D6DCD -:10140000616E6420746F6F206C6F6E672C203130BA -:1014100030206D6178006275737920636F6D6D6146 -:101420006E64696E6720616C7265616479007573C2 -:101430006167653A20636F6D6D616E642E73636FD3 -:1014400075742873636F757449642C2022636F6D03 -:101450006D616E6422205B2C617267312C61726752 -:10146000325D2900636F6D6D616E6420746F6F2053 -:101470006C6F6E672C20313030206D6178006275A2 -:10148000737920636F6D6D616E64696E6720616C46 -:1014900072656164790075736167653A20636F6D89 -:1014A0006D616E642E73636F75742E61636B282299 -:1014B00063616C6C6261636B222C2073636F757463 -:1014C00049642C2022636F6D6D616E6422205B2C59 -:1014D000617267312C617267325D2900636F6D6DD7 -:1014E000616E6420746F6F206C6F6E672C203130DA -:1014F00030206D6178006275737920636F6D6D6166 -:101500006E64696E6720616C7265616479007573E1 -:101510006167653A20636F6D6D616E642E616C6CFE -:101520002822636F6D6D616E6422205B2C6172678F -:10153000312C617267325D2900636F6D6D616E647D -:1015400020746F6F206C6F6E672C20313030206DEF -:101550006178006275737920636F6D6D616E646987 -:101560006E6720616C72656164790075736167658F -:101570003A20636F6D6D616E642E6F74686572736F -:101580002822636F6D6D616E6422205B2C6172672F -:10159000312C617267325D290029002800756E6B5D -:1015A0006E6F776E206661696C7572653A200050C7 -:1015B0006879736963616C206368616E6E656C2025 -:1015C000616363657373206661696C7572653A2047 -:1015D000004E6F20726F75746520746F20646573A0 -:1015E00074696E6174696F6E3A20004E6F2061639A -:1015F0006B6E6F776C656467656D656E7420726580 -:101600006365697665643A20004F7574206F6620C3 -:101610006D656D6F72793A20004572726F723A2073 -:101620000029002028436F6E6669726D656420771B -:1016300069746820636F6E74726F6C206279746570 -:101640003A20002D2020436F6D6D616E642073750C -:10165000636365737366756C6C792073656E742053 -:10166000746F2053636F757420002061636B2000DA -:101670003A20003A200053656E7420636F6D6D61EF -:101680006E6420746F2053636F75742000636F6DF8 -:101690006D616E6420746F6F206C6F6E672C2031EB -:1016A0003030206D6178006275737920636F6D6DE5 -:1016B000616E64696E6720616C7265616479007542 -:1016C000736167653A20636F6D6D616E642E67723A -:1016D0006F75702867726F757049642C2022636F74 -:1016E0006D6D616E6422205B2C617267312C6172BA -:1016F00067325D29006D73006F6E2E6D65737361C7 -:1017000067652E7369676E616C206576656E7420FF -:1017100068616E646C657220746F6F6B20002900C5 -:101720002800756E6B6E6F776E206661696C7572DE -:10173000653A2000506879736963616C2063686161 -:101740006E6E656C20616363657373206661696C9E -:101750007572653A20004E6F20726F757465207443 -:101760006F2064657374696E6174696F6E3A2000EE -:101770004E6F2061636B6E6F776C656467656D6536 -:101780006E742072656365697665643A20004F75F2 -:1017900074206F66206D656D6F72793A2000457216 -:1017A000726F723A200029002028436F6E666972BA -:1017B0006D6564207769746820636F6E74726F6CF6 -:1017C00020627974653A20002D20204D6573736185 -:1017D0006765207375636365737366756C6C7920D8 -:1017E00073656E7420746F2053636F757420003AB4 -:1017F000200053656E74206D657373616765207496 -:101800006F2053636F7574200075736167653A20AC -:101810006D6573736167652E73636F757428736389 -:101820006F757449642C20226D657373616765223E -:10183000290075736167653A206D6573736167652B -:101840002E67726F75702867726F757049642C20EF -:10185000226D657373616765222900757361676521 -:101860003A2074656D70657261747572652E73656A -:10187000746F66667365742876616C75652900758A -:10188000736167653A2074656D7065726174757215 -:10189000652E63616C6962726174652876616C752E -:1018A00065290072756E6E696E6720616C6C2072BE -:1018B00065706F7274730041736C6565703A2000D7 -:1018C0004177616B653A2000546F74616C3A200077 -:1018D00075736167653A206C65642E626C696E6B26 -:1018E000287265642C20677265656E2C20626C75A9 -:1018F000652C206D733D3530302C20636F6E74691C -:101900006E756F75733D30290075736167653A2098 -:101910006C65642E736574686578282268657876CE -:10192000616C756522290075736167653A206C6585 -:10193000642E736574726762287265642C20677206 -:1019400065656E2C20626C7565290075736167652D -:101950003A206C65642E73617665746F72636828D3 -:101960007265642C20677265656E2C20626C7565EB -:10197000290075736167653A2070696E2E6D616B21 -:1019800065696E707574282270696E4E616D65228E -:101990002C20696E707574547970653D494E5055B0 -:1019A000545F50554C4C5550290075736167653A2A -:1019B0002070696E2E6D616B656F7574707574281B -:1019C0002270696E4E616D652229007573616765CD -:1019D0003A2070696E2E6D616B6570776D2822708C -:1019E000696E4E616D6522290075736167653A20E5 -:1019F00070696E2E6D616B65646973636F6E6E6581 -:101A000063746564282270696E4E616D65222900D9 -:101A100075736167653A2070696E2E6469736162DF -:101A20006C65282270696E4E616D652229007573A0 -:101A30006167653A2070696E2E7365746D6F6465B9 -:101A4000282270696E4E616D65222C2070696E4D82 -:101A50006F64652900496E76616C69642070696EF7 -:101A6000206E756D6265720075736167653A2070EE -:101A7000696E2E72656164282270696E4E616D65B3 -:101A8000222900496E76616C69642070696E207647 -:101A9000616C756500496E76616C69642050574DC4 -:101AA0002076616C75650050696E206D75737420C9 -:101AB00062652073657420617320616E206F757498 -:101AC000707574206265666F7265207772697469DB -:101AD0006E6700496E76616C69642070696E206E75 -:101AE000756D6265720075736167653A2070696E25 -:101AF0002E7772697465282270696E4E616D652259 -:101B00002C2070696E56616C756529004661696CA0 -:101B1000656420746F206368616E67652070696E0C -:101B2000206D6F646500496E76616C696420706930 -:101B30006E206D6F64650050574D206D6F64652099 -:101B40006E6F7420737570706F72746564206F6E41 -:101B500020746869732070696E0043616E6E6F74E3 -:101B6000206368616E6765206D6F6465206F662015 -:101B700072657365727665642070696E00496E7671 -:101B8000616C69642070696E206E756D62657200AB -:101B900075736167653A2070696E2E73617665288A -:101BA0002270696E4E616D65222C2070696E4D6FDA -:101BB00064652C205B70696E56616C75655D2900EB -:101BC0007D002C007D00300031002C202277616BDD -:101BD000657570223A002C202270776D223A74725B -:101BE000756500222C202276616C223A2200756EE7 -:101BF0006B6E6F776E00222C20226D6F6465223A27 -:101C00002200223A7B226964223A2200202022000C -:101C10007B0075736167653A2070696E2E6E756D15 -:101C2000626572282270696E4E616D6522290075A9 -:101C3000736167653A2070696E2E6F7468657273A0 -:101C4000646973636F6E6E65637465642829002927 -:101C5000002028004572726F722070617273696E85 -:101C600067206E616D65003A20004E6F20626163EF -:101C70006B7061636B7320666F756E64004661699B -:101C80006C656420746F20666574636820454550F8 -:101C9000524F4D00496E76616C6964206261636BDE -:101CA0007061636B206E756D626572004661696C70 -:101CB000656420746F2077726974652045455052C1 -:101CC0004F4D004661696C656420746F20757064C7 -:101CD00061746520454550524F4D00496E76616CE8 -:101CE0006964206261636B7061636B206E756D6205 -:101CF00065720020627974657300454550524F4DFE -:101D000020757365643A200020627974657300451C -:101D10004550524F4D2073697A653A20002E780065 -:101D2000454550524F4D206C61796F757420766532 -:101D30007273696F6E3A20004261636B7061636B0E -:101D400020427573206669726D77617265207665D1 -:101D50007273696F6E3A20002E78004261636B7077 -:101D600061636B204275732050726F746F636F6C88 -:101D70002076657273696F6E3A20005365726961EF -:101D80006C206E756D6265723A203078002E0042CC -:101D90006F617264207265766973696F6E3A2000B4 -:101DA0004D6F64656C206E756D6265723A20307897 -:101DB000004261636B7061636B206E616D653A20F8 -:101DC00000496E76616C6964206261636B70616367 -:101DD0006B206E756D626572002C20636F6E74658A -:101DE0006E74203D20003A20646174612C206C6583 -:101DF0006E677468203D20006B627073002C206D4C -:101E00006178207370656564203D20003A20693256 -:101E1000632C2061646472657373203D2000756ECD -:101E20006B6E6F776E007541002C206D6178696D67 -:101E3000756D203D2000756E6B6E6F776E0075417D -:101E4000002C207479706963616C203D2000756EF0 -:101E50006B6E6F776E007541002C206D696E696D39 -:101E6000756D203D2000706F7765723A2070696E45 -:101E7000203D20003A206770696F2C2070696E2029 -:101E80003D2000756E6B6E6F776E00627073002C74 -:101E9000207370656564203D20002C207278203D01 -:101EA00020003A20756172742C207478203D200047 -:101EB000756E6B6E6F776E004D687A002C206D61C9 -:101EC00078207370656564203D20003A2073706946 -:101ED0002C207373203D20004661696C656420747A -:101EE0006F206665746368206F722070617273651D -:101EF000207265736F7572636520646573637269C0 -:101F000070746F727300496E76616C6964206261EF -:101F1000636B7061636B206E756D626572004572F4 -:101F2000726F723A2057692D466920646972656341 -:101F30007420636F6D6D616E64206661696C6564A9 -:101F4000004572726F723A2057692D4669206469A4 -:101F50007265637420636F6D6D616E642066616984 -:101F60006C6564004F6B2C207465726D696E6174D2 -:101F7000696E672E20476F6F6462796520446176D1 -:101F8000652E00466163746F7279207265736574A3 -:101F9000207265717565737465642E2053656E6477 -:101FA00020636F6D6D616E6420616761696E20747E -:101FB0006F20636F6E6669726D2E002D2D2D2D2D95 -:101FC0002D2D2D2D2D2D2D2D2D00656E61626C6515 -:101FD000642020206E616D65004661696C65642037 -:101FE000746F20656E61626C65206D6F64756C65E1 -:101FF000200075736167653A206D6F64756C652E9E -:10200000656E61626C652822737472696E67220066 -:1020100075736167653A2068712E736574746F6BB0 -:10202000656E2822746F6B656E220075736167653B -:102030003A2068712E7072696E7428227374726906 -:102040006E67220075736167653A2068712E72654C -:10205000706F727428227265706F72746E616D6534 -:10206000222C202276616C756522295B2C227661F8 -:102070006C7565222E2E2E5D0075736167653A20A2 -:1020800068712E7365746164647265737328226865 -:102090006F7374225B2C20706F72745D006F6E2EF4 -:1020A00068712E6F6E6C696E650075736167653A55 -:1020B000206B65792822737472696E6722205B2C0D -:1020C0002074656D705F666C61675D290075736172 -:1020D00067653A206B65792E66726565286B657950 -:1020E000290075736167653A206B65792E70726996 -:1020F0006E74286B6579290075736167653A206B8A -:1021000065792E6E756D626572286B65792900752B -:10211000736167653A206B65792E73617665282255 -:10212000737472696E67222C20617429006D7300CC -:102130004469676974616C2070696E206576656EAC -:10214000742068616E646C65727320746F6F6B20AD -:10215000006D7300416E616C6F672070696E206561 -:1021600076656E742068616E646C65727320746F3E -:102170006F6B20006D73006F6E2E626174746572F8 -:10218000792E6C6576656C206576656E7420686165 -:102190006E646C657220746F6F6B20006D73006FDE -:1021A0006E2E626174746572792E636861726769FC -:1021B0006E67206576656E742068616E646C65720A -:1021C00020746F6F6B20006D73006F6E2E74656DE1 -:1021D0007065726174757265206576656E742068CD -:1021E000616E646C657220746F6F6B20006D73009C -:1021F0006F6E2E6D6573736167652E73636F757493 -:10220000206576656E742068616E646C65722074FA -:102210006F6F6B200020727373692000206C7169EE -:1022200020002066726F6D200052656365697665D7 -:1022300064206D657373616765206F66200043617C -:102240006E6E6F74207570646174652045455052E0 -:102250004F4D207374617274696E6720706173747E -:102260002074686520656E64206F66207468652040 -:10227000454550524F4D0043616E6E6F742077722A -:1022800069746520454550524F4D2066726F6D2030 -:10229000736B657463682077697468206E6F6E2D48 -:1022A0007A65726F206F6666736574004661696C4B -:1022B000656420746F20616C6C6F63617465206D60 -:1022C000656D6F727920666F7220706172736564DC -:1022D0002064657363726970746F7200000000009F -:1022E0002C01000058020000B0040000600900004A -:1022F000C012000080250000004B00000096000086 -:1023000000E1000000C2010064009001E803480DF4 -:1023100000000000000000000000000101000000BB -:1023200000000000000005000400000000000000A4 -:1023300000020104646174610000000002010100F8 -:1023400000000000000000040106756172740000C6 -:102350000000030103693263000000000003010272 -:102360007370690000000000FF4E43000000FF563C -:102370005553420013424B504B00FF525354000040 -:102380000C53434B00000B4D49534F000A4D4F5324 -:102390004900095353000000005258300000015416 -:1023A00058300000024432000000034433000000B3 -:1023B00004443400000005443500000006443600A3 -:1023C0000000074437000000084438000000FF33D5 -:1023D00056330000FF474E440000FF564241540070 -:1023E0000D52583100000E54583100000F53434C29 -:1023F0000000105344410000FF52454600001841C0 -:10240000300000001941310000001A413200000084 -:102410001B41330000001C41340000001D41350009 -:1024200000001E41360000001F41370000004851E7 -:1024300020636F6E6E656374696F6E20646F776E74 -:102440002C207365636F6E647320636F6E6E6563BB -:102450007465643A200053534C206E65676F74694D -:102460006174696F6E20746F204851206661696CD9 -:1024700065642C2072656173736F63696174696E42 -:102480006720746F20726574727900485120636F01 -:102490006E6E656374696F6E206661696C65642C2D -:1024A0002072656173736F63696174696E6720740C -:1024B0006F20726574727900436F6E6E6563746924 -:1024C0006E6720746F20485120617420002C2072A8 -:1024D000656173736F63696174696E6720746F20DF -:1024E0007265747279004661696C656420746F204E -:1024F0007265736F6C7665200054696D6520737921 -:102500006E63206661696C65642C2072656173730B -:102510006F63696174696E6720746F20726574728D -:102520007900556E7265636F76657261626C6520C5 -:102530006572726F7220696E2074686520776966B3 -:1025400069206261636B7061636B2C207265626FDE -:102550006F74696E672073636F75742E2E2E2E0054 -:102560004572726F723A205363616E206661696CC6 -:102570006564004572726F723A20736176696E67A6 -:1025800020576966694D6F64756C653A3A696E7378 -:1025900074616E63652E627028292D3E636F6E66CE -:1025A000696775726174696F6E2064617461206619 -:1025B00061696C65640075736167653A2077696667 -:1025C000692E636F6E666967282277696669415074 -:1025D0004E616D65222C20227769666941505061F9 -:1025E0007373776F72642229004572726F723A209A -:1025F000736176696E6720576966694D6F64756CA3 -:10260000653A3A696E7374616E63652E627028294B -:102610002D3E636F6E66696775726174696F6E20B7 -:1026200064617461206661696C6564004572726FF3 -:10263000723A20736176696E6720576966694D6FDB -:1026400064756C653A3A696E7374616E63652E6287 -:102650007028292D3E636F6E6669677572617469B3 -:102660006F6E2064617461206661696C6564004509 -:1026700072726F723A20496E76616C696420646E82 -:102680007320736572766572004572726F723A20BC -:10269000496E76616C696420676174657761790061 -:1026A0004572726F723A20496E76616C6964206E71 -:1026B00065746D61736B004572726F723A20496E7A -:1026C00076616C696420495020616464726573733B -:1026D0000075736167653A20776966692E73746166 -:1026E00074696328226970222C20226E65746D61E2 -:1026F000736B222C202267617465776179222C200C -:1027000022646E732229004572726F723A205769F3 -:102710002D46692064697265637420636F6D6D6115 -:102720006E64206661696C65640075736167653A03 -:1027300020776966692E636F6D6D616E6428226310 -:102740006F6D6D616E642229004572726F723A205E -:1027500057692D46692070696E6720636F6D6D61E2 -:102760006E64206661696C65640075736167653AC3 -:1027700020776966692E70696E672822686F7374A6 -:102780006E616D652229004572726F723A20576939 -:102790002D466920444E53206C6F6F6B757020631B -:1027A0006F6D6D616E64206661696C656400757340 -:1027B0006167653A20776966692E646E736C6F6F26 -:1027C0006B75702822686F73746E616D65222900C5 -:1027D0004572726F723A2057692D4669204E5450E7 -:1027E0002074696D65206C6F6F6B757020636F6D01 -:1027F0006D616E64206661696C6564004572726F1C -:10280000723A2057692D466920736C6565702063A4 -:102810006F6D6D616E64206661696C656400457200 -:10282000726F723A2057692D46692077616B657522 -:102830007020636F6D6D616E64206661696C6564A4 -:102840000075736167653A20776966692E766572EF -:10285000626F736528666C6167290043616E6E6FF5 -:1028600074206163636573732077696669206261B0 -:10287000636B7061636B005365636F6E6473206399 -:10288000757272656E746C7920636F6E6E656374B9 -:10289000656420746F2048513A20004E756D626562 -:1028A00072206F6620636F6E6E656374696F6E73FE -:1028B00020746F2048512073696E6365206C6173CA -:1028C00074206173736F63696174696F6E3A20007D -:1028D0004E756D626572206F66206173736F6369F8 -:1028E0006174696F6E7320746F2041502073696E3C -:1028F000636520626F6F743A200077696669004EE5 -:102900006F2073756368206D6F64756C6500656E0C -:10291000760075736167653A20666C6173682E692D -:102920006E697469616C697A6528637350696E2990 -:102930000075736167653A20666C6173682E777203 -:1029400069746528616464726573732C20227374E2 -:1029500072696E67227C696E74656765722900759D -:10296000736167653A20666C6173682E7265616495 -:102970002861646472657373290075736167653AD1 -:1029800020666C6173682E65726173652E73756263 -:10299000736563746F722861646472657373290070 -:1029A00075736167653A20666C6173682E65726144 -:1029B00073652E736563746F7228616464726573E6 -:1029C00073290075736167653A20666C6173682EC0 -:1029D00065726173652E62756C6B282900666C6187 -:1029E00073682063686970206E6F7420666F756EFF -:1029F00064006E6F7420696E697469616C697A65D0 -:102A00006400666C6173680068656C6C6F00757358 -:102A10006167653A206D6F74696F6E2E76657262BC -:102A20006F736528666C616729006D6F74696F6EDE -:102A3000004661696C656420746F2073656E642064 -:102A40007265736574004661696C656420746F20FB -:102A500073656E642070696E67004661696C6564B9 -:102A600020746F2073656E642073657420616464E4 -:102A700072657373004661696C656420746F2073BE -:102A8000656C656374206D656D6F7279004E6F20A3 -:102A900070696E67207265706C79004641494C0020 -:102AA0004F7461206F7065726174696F6E20696E1A -:102AB0002070726F67726573733F0075736167652D -:102AC0003A206F74612E70696E67286164647229A0 -:102AD000004641494C005265747279696E67205412 -:102AE00058004661696C656420746F2073656E647C -:102AF0002070696E67004641494C004F7461206F39 -:102B00007065726174696F6E20696E2070726F6794 -:102B1000726573733F0075736167653A206F746106 -:102B20002E737461727428616464722C20647279EB -:102B300072756E29004641494C0054696D656F7588 -:102B4000742072656164696E6720646174612066D7 -:102B5000726F6D2073657269616C2028004641496F -:102B60004C0044617461206D7573742073746172DC -:102B7000742077697468204E554C20627974650022 -:102B80004641494C00496E76616C696420686578FD -:102B9000206469676974004641494C004D656D6F5A -:102BA000727920616C6C6F636174696F6E2066610D -:102BB000696C656400556E6576656E206865782081 -:102BC000646967697473004641494C004F74612021 -:102BD0006F7065726174696F6E20696E2070726FBC -:102BE00067726573733F0075736167653A206F7430 -:102BF000612E64617461286D656D616464722C205E -:102C00006865786461746129206F72206F74612E29 -:102C100064617461286D656D616464722C207369F0 -:102C20007A652920666F6C6C6F7765642062792005 -:102C30005C3020616E642073697A652062696E6120 -:102C40007279206461746120627974657300464111 -:102C5000494C004F7461206F7065726174696F6ECA -:102C600020696E2070726F67726573733F007573B1 -:102C70006167653A206F74612E636C6F6E65004604 -:102C800041494C004F7461206F7065726174696FC7 -:102C90006E20696E2070726F67726573733F007586 -:102CA000736167653A206F74612E656E64006F749E -:102CB00061005265747279696E6720626C6F636B34 -:102CC000004641494C00437263206D69736D617425 -:102CD0006368004F4B004F4B00504F4E472000752C -:102CE000736167653A20706978656C732E616464FE -:102CF00028706978656C73205B2C322C226E656FAE -:102D0000706978656C222C22726762225D290070DE -:102D10006978656C7300736572766F00207061630B -:102D20006B6574732E004275666665722073697AEE -:102D30006520697320006F6E6C792077617920744B -:102D40006F2073746F7020736E696666696E67209A -:102D5000697320746F2072657365742E00736572D9 -:102D600069616C2C20776966692C206574632E2953 -:102D700020616E6420646F6573206E6F74207275BD -:102D80006E20616E792053636F757453637269703E -:102D9000742E2054686500736E696666696E672CD0 -:102DA000207468652073636F757420646F65732089 -:102DB0006E6F7420726573706F6E6420746F206123 -:102DC0006E797468696E6720656C736520286D651F -:102DD00073682C00536E696666696E67206D657353 -:102DE00068207472616666696320616E64206F7525 -:102DF00074707574207061636B65747320746F20D8 -:102E000073657269616C2E205768696C6500757313 -:102E10006167653A20736E69666665722E737461C8 -:102E20007274285B62696E6172795D2900736E69E4 -:102E3000666665720029002C002C0052756E6E6962 -:102E40006E673A206C65644576656E7448616E64A1 -:102E50006C65722800537461727475702062616EC3 -:102E60006E65722074696D656F75740086878889D8 -:102E70008C8D93858B848AA626267C7C3D3D213DC6 -:102E80002B2B2D2D3A3D3E3D3E3E3C3D3C3C2F2FD5 -:102E900000A199A2949B8F9C9A9D979F9596989E2E -:102EA00090344444444004404444444444444444EE -:102EB0004408774785777878781111111111878840 -:102EC000844222222222222222222222222224443C -:102ED00072422222222222222222222222222787F8 -:102EE0007465787065637465642000756E657870CC -:102EF000656374656420006D697373696E67200093 -:102F0000737472696E670020756E646572666C6FAB -:102F10007700206F766572666C6F77005E43005EA7 -:102F200042005E5500657870006F70003A786279F3 -:102F30002B2D2A2F00656F6600766172006E756D0D -:102F40006265720029007361766564006565707260 -:102F50006F6D003A3D22003E20006368617200738D -:102F60007461636B007374617274757000696400DE -:102F700070726F6D7074000D0A46756E6374696FC0 -:102F80006E733A006F6F7073006172670066756EE2 -:102F90006374696F6E000062616E6E6572007072BC -:102FA000696E7420226269746C617368206865724E -:102FB00065212076322E30202863292032303133AB -:102FC0002042696C6C20526F79202D7479706520D5 -:102FD00048454C502D222C667265652C226279740E -:102FE0006573206672656522000000006DDD0BDEF2 -:102FF0001CDE8CDEA4DE4DDCEEDECBDE0ADFE0DDA7 -:103000007ADE2FDE40DEF8E556E39BD64FE972E923 -:1030100049DD40DFC1DD1D03A2DD59DD53DEAAE23B -:1030200066DEDBDC83DD15E3687474703A2F2F6293 -:1030300069746C6173682E6E65740D0A5365652042 -:103040004C4943454E534520666F72206C69636559 -:103050006E73650D0A50696E733A2064302D3232FA -:103060002C61302D323220205661726961626C65AC -:10307000733A20612D7A2C20333220626974206CDF -:103080006F6E6720696E7465676572730D0A4F70A5 -:10309000657261746F72733A202B202D202A202FC5 -:1030A00020282029203C203C3D203E203E3D203D44 -:1030B0003D20213D203C3C203E3E2021205E20261C -:1030C000207C202B2B202D2D203A3D0D0A436F6DA7 -:1030D0006D616E64733A20000061726700626F6F09 -:1030E0007400656C73650066756E6374696F6E005D -:1030F00068656C70006966006C73007065657000CF -:103100007072696E740070730072657475726E000F -:10311000726D0072756E0073746F700073776974EE -:103120006368007768696C650000616273006172B2 -:1031300000617700626175640062630062656570BA -:1031400000627200627300627700636F6E73747264 -:1031500061696E0064656C61790064720064770077 -:1031600065720065770066726565006765746B65FA -:1031700079006765746E756D00696E6200697373BE -:103180007472006D6178006D696C6C6973006D69B3 -:103190006E006F7574620070696E6D6F64650070AB -:1031A00072696E74660070756C7365696E00726129 -:1031B0006E646F6D007369676E00736E6F6F7A6512 -:1031C0000000000001090A0B0000000000000000E0 -:1031D00000000000000000070304000000000000E1 -:1031E00000000102800810200440200104080204AD -:1031F00008010210804080102040010204081020C5 -:1032000040800505020505050505040202020204C9 -:103210000404040405040402020206060606060667 -:103220000606000000002300000029002C002F00EB -:10323000320000000000000000000000000000005C -:10324000250000002B002E0031003400000000009B -:1032500000000000000000000000240000002A0020 -:103260002D003000330000000000000000000000CE -:103270004E414E494E495459494E46CDCCCC3D0A5B -:10328000D7233C17B7D13877CC2B329595E6241F3E -:10329000B14F0A000020410000C84200401C4620F7 -:1032A000BCBE4CCA1B0E5AAEC59D7400061A1D1B2F -:1032B000392AAA366274648112844989EE8F4F904C -:1032C0002F921097C19CF99C28A22DAB36B265B302 -:1032D00097B6C2B659BE18C194C185D2FDD57AD66B -:1032E00085D690D60D040F02C304472ADC369D74A0 -:1032F000559011241FBECFEFD1E8DEBFCDBF00E057 -:103300000CBF1AE2A0E0B2E0E0EFF8E402E00BBF8D -:1033100002C007900D92A23BB107D9F727E4A2EBB8 -:10332000BAE201C01D92A23CB207E1F712E3CAEE75 -:10333000D2E300E006C022970109FE010BBF0F9403 -:10334000CC18CC3AD10780E00807A9F70F94E50A1A -:103350000D9466240C940000CF92DF92EF92FF92BE -:103360000F931F93E82FF92F05C001501109210970 -:10337000310961F1908196239417B9F305C001508A -:1033800011092109310911F1908196239413F7CF86 -:10339000C12CD12CE12CF12C0AC08FEFC81AD80A0D -:1033A000E80AF80A0C151D052E053F0579F0808105 -:1033B0008623841791F36C2D7D2D8E2D9F2D1F91CB -:1033C0000F91FF90EF90DF90CF90089560E070E054 -:1033D00080E090E01F910F91FF90EF90DF90CF90F1 -:1033E00008950F931F9309EA16EE2CE038E741E6A3 -:1033F0005CE067E77CE08DE79BE20E942B291F9150 -:103400000F9108958DE79BE20C9439270F9300E00C -:1034100020E040E060E082EB9AE20F94C30A0F9153 -:103420000895CF93CFB7F8948091BB2A811127C01C -:10343000EBE0F2E38491EBEEF1E39491E82FF0E01E -:10344000EE0FFF1FEA5AFD4CA591B4918C91892390 -:1034500021F461E089E00F94420761E089E00F9474 -:1034600009078CB580618CBD8CB580648CBD61E032 -:103470008CE00F94090761E08AE00F9409078091BE -:10348000BB2A8F5F8093BB2ACFBFCF9108958091D5 -:10349000ED2A90E02091EE2A821B91090895209157 -:1034A000EE2A8091ED2A281750F4E22FF0E0E15146 -:1034B000F54D808190E02F5F2093EE2A08958FEFE5 -:1034C0009FEF0895E091EE2A8091ED2AE81730F4FD -:1034D000F0E0E151F54D808190E008958FEF9FEF8E -:1034E00008950895CF92DF92EF92FF920F931F936A -:1034F000CF93DF937C01CB018A012091C92A22233B -:1035000089F0EB016B01C40ED51ECC15DD0569F009 -:103510006991D701ED91FC910190F081E02DC701F7 -:103520001995F3CF642F0E94D61BC801DF91CF916C -:103530001F910F91FF90EF90DF90CF900895CF9360 -:10354000DF931F92CDB7DEB769832091C92A22236A -:10355000D1F02091CA2A203240F021E030E0FC0175 -:103560003383228380E090E015C08091CB2AE82F3E -:10357000F0E0E453F54D998190838F5F8093CB2ADF -:103580008093CA2A05C061E0CE0101960E94D61B35 -:1035900081E090E00F90DF91CF910895FC011382BC -:1035A000128248EE53E060E070E044835583668306 -:1035B000778385E89CE09183808308951092EE2ABA -:1035C0001092ED2A1092CB2A1092CA2A0C94211B39 -:1035D000862F413208F040E26FEE7AE20E943F1BF4 -:1035E0001092EE2A8093ED2A089521E00C94E81AB7 -:1035F00021E00C94E81A81E08093C92A6093EC2AB8 -:103600001092CB2A1092CA2A08950C94FB1A0F9399 -:10361000062F21E04091CA2A6CEC7AE28091EC2AD4 -:103620000E94831B1092CB2A1092CA2A1092C92A98 -:103630000F91089561E00C94071B8DEB9AE20C94B6 -:10364000CE1A10927C2B81E080937A2B1092792BEA -:1036500061E080E10F94420761E08FE00F94420740 -:10366000E9EBF0E080818E7F808380818D7F808395 -:1036700088E48093B80085E48093BC0008954132CB -:1036800008F03FC090917C2B9111FCCF91E090937A -:103690007C2B20937A2B2FEF20930F2B1092542BFF -:1036A000240F2093532B90937B2B90917B2B880F8F -:1036B000892B80937B2B8091792B813041F4109260 -:1036C000792B80917B2B8093BB0085EC01C085EE2C -:1036D0008093BC0080917C2B8130E1F38091542B4E -:1036E000841710F44091542B25E53BE2FB01D901EE -:1036F0008A2F821B841718F48D918193F9CF842F20 -:10370000089580E008950F93413208F046C09091EB -:103710007C2B9111FCCF92E090937C2B00937A2B21 -:103720009FEF90930F2B1092542B4093532BFB0140 -:1037300065E57BE2DB019A2F961B941718F49191B3 -:103740009D93F9CF10927B2B90917B2B880F892B27 -:1037500080937B2B8091792B813041F41092792BCF -:1037600080917B2B8093BB0085EC01C085EE80931C -:10377000BC00222321F080917C2B8230E1F38091E8 -:103780000F2B8F3F61F080910F2B803251F0809191 -:103790000F2B803341F483E007C081E005C080E057 -:1037A00003C082E001C084E00F910895613298F473 -:1037B00020917C2B243089F46093312BFC0183E32E -:1037C0009BE2DC012A2F281B261718F421912D9348 -:1037D000F9CF80E0089581E0089582E0089585EDB5 -:1037E0008093BC008091BC0084FDFCCF10927C2BA8 -:1037F000089585EC8093BC0010927C2B08951F9255 -:103800000F920FB60F9211240BB60F922F933F9386 -:103810004F935F936F937F938F939F93AF93BF93D8 -:10382000EF93FF938091B900887F803609F49CC0A4 -:1038300068F5883209F45BC090F4803109F454C013 -:1038400038F4882309F4F5C0883009F44DC0F5C078 -:10385000883109F44CC0803209F45DC0EEC0803478 -:1038600009F468C048F4803309F455C0883309F07E -:10387000E4C080930F2BA8C0803509F44FC0883571 -:1038800009F45DC0883409F0D8C0D5C0883909F47E -:10389000C6C0A8F4883709F467C038F4883609F43C -:1038A00063C0803709F460C0C8C0883809F4B7C065 -:1038B000803909F45FC0803809F0BFC05BC0803B2D -:1038C00009F485C038F4803A09F466C0883A09F4EE -:1038D0007EC0B3C0803C09F4A6C0883C09F4A3C0F4 -:1038E000883B09F489C0A9C080917B2B10C09091BE -:1038F000542B8091532B981770F5E091542B81E055 -:103900008E0F8093542BF0E0EB5AF44D808180931E -:10391000BB0085EC85C080930F2B8DC0E091542BAC -:1039200081E08E0F8093542B8091BB00F0E0EB5A26 -:10393000F44D80839091542B8091532B6DC0E09176 -:10394000542B81E08E0F8093542B8091BB00F0E0CC -:10395000EB5AF44D808380917A2B81116CC081E009 -:103960008093792B84EA60C083E080937C2B109253 -:10397000102BCFCF8091102B803208F050C0E091F7 -:10398000102B81E08E0F8093102B8091BB00F0E014 -:10399000EF5EF44D8083BDCF8091102B803230F4E8 -:1039A000E091102BF0E0EF5EF44D10820E94EF1BCF -:1039B0006091102B70E0E091752BF091762B81E1F6 -:1039C0009BE219951092102B0E94F91B36C084E0DF -:1039D00080937C2B1092322B1092312BE091772B1D -:1039E000F091782B19958091312B811105C081E0E0 -:1039F0008093312B1092332BE091322B81E08E0F8C -:103A00008093322BF0E0ED5CF44D80818093BB001D -:103A10009091322B8091312B981708F47ACF85E85A -:103A20008093BC000AC085EC8093BC0010927C2B74 -:103A300004C010920F2B0E94EF1BFF91EF91BF91DA -:103A4000AF919F918F917F916F915F914F913F9136 -:103A50002F910F900BBE0F900FBE0F901F901895D7 -:103A60002EB3FC012183089508950D940B00DC0111 -:103A70001196EC91E150E03140F4F0E0EE0FFF1FC1 -:103A8000E754F34F80819181089589E49AE0089585 -:103A9000CF93DF93EC018881811105C00E9416B895 -:103AA0009985980F01C091E8892FDF91CF910895F2 -:103AB000FC01818508951F93CF93DF93EC01162FAE -:103AC0008CEB9FE10F94E9211987DF91CF911F9132 -:103AD00008950F931F93CF93DF938B01C2ECDFE127 -:103AE000F80161918F01CE010F94E9212196C23E28 -:103AF000FFE1DF07A9F7DF91CF911F910F910895A3 -:103B00000F931F93CF93DF938B01C2ECDFE1CE01C4 -:103B10000F94D521F80181938F012196C23EFFE1D8 -:103B2000DF07A9F7DF91CF911F910F910895CF93F0 -:103B3000DF93C2ECDFE16FEFCE010F94E921219614 -:103B4000C23E8FE1D807B9F7DF91CF91089560E0C9 -:103B50008DEB9FE10D94E92188EF9FE10D94DD212C -:103B60008CEF9FE10D94E3218EEF9FE10D94D52121 -:103B70008FEF9FE10D94D5210F931F93CF93DF9388 -:103B80001F92CDB7DEB78C01862F69830E9489FE14 -:103B90006981F801668383EF9FE10F90DF91CF91F8 -:103BA0001F910F910D94E9210F931F93CF93DF93F2 -:103BB0001F92CDB7DEB78C01862F69830E94B1FEBC -:103BC0006981F801678382EF9FE10F90DF91CF91C8 -:103BD0001F910F910D94E921362F3370ECE4F1E041 -:103BE00020812C7F232B2083FC0160878EEB9FE1BB -:103BF0000D94E921CF92DF92EF92FF920F931F93E2 -:103C0000CF93DF931F92CDB7DEB76C017B018A01A2 -:103C1000CB0129830E94D1F1F601F382E282C8012F -:103C20000E94D7F1F601158304832981622FC60112 -:103C30000E94BC1D81E00E9485FEF60162817381B5 -:103C400086EF9FE10F94FB21F6016481758184EF7B -:103C50009FE10F94FB2182EF9FE10F94D5218F3FCD -:103C600011F0682F01C060E0C6010E94D41D8EEBE8 -:103C70009FE10F94D5218F3F11F0682F01C060E0C4 -:103C8000C6010F90DF91CF911F910F91FF90EF90A0 -:103C9000DF90CF900C94EC1DEF92FF920F931F9347 -:103CA000CF93DF931F921F92CDB7DEB7CB0169830D -:103CB0007A830E94F6FA6981E62E7A81F72E02EE67 -:103CC0001FE1F70161917F01C8010F94E9210F5FA6 -:103CD0001F4F023FFFE11F07A1F70F900F90DF91E9 -:103CE000CF911F910F91FF90EF900895AF92BF92E7 -:103CF000CF92DF92EF92FF920F931F93CF93DF93B8 -:103D0000CDB7DEB7A1970FB6F894DEBF0FBECDBF1B -:103D10007C018E010F5F1F4F580122ECC22E2FE154 -:103D2000D22EC6010F94D521F50181935F01FFEFDB -:103D3000CF1ADF0A22EEC2162FE1D20691F7B801A0 -:103D4000C7010E94691D80E2F80111928A95E9F786 -:103D5000580192EEC92E9FE1D92EC6010F94D521AC -:103D6000F50181935F01FFEFCF1ADF0A22EFC21640 -:103D70002FE1D20691F7B801C7010E944C1E80E1E5 -:103D8000F80111928A95E9F786EF9FE10F94E321FC -:103D90008C018F3FFFEF9F0761F484EF9FE10F9449 -:103DA000E321019631F483EF9FE10F94D5218F3FFA -:103DB00081F083EF9FE10F94D521282F84EF9FE1BD -:103DC00029A30F94E321AC0129A1B801C7010E94E6 -:103DD000FA1D82EF9FE10F94D5218F3F21F0682FCC -:103DE000C7010E94D41D8EEB9FE10F94D5218F3F18 -:103DF00021F0682FC7010E94EC1D8CEB9FE10F940E -:103E0000D5218F3F11F0F7018187A1960FB6F89465 -:103E1000DEBF0FBECDBFDF91CF911F910F91FF90FD -:103E2000EF90DF90CF90BF90AF9008950F931F93C6 -:103E3000CF93DF93EC017B876A875D874C870E8782 -:103E40001F87288B398B0F9405000E9407FF61E0C4 -:103E500089E00F94420761E089E00F94090726E0AA -:103E600040E052EC61E070E083E496E40F94C30814 -:103E7000CE01DF91CF911F910F910C94761E0F937D -:103E80001F93CF93DF938B01C2EEDFE1CE010F943E -:103E9000D521F80181938F012196C23FFFE1DF0711 -:103EA000A9F7DF91CF911F910F910895CF93DF93E1 -:103EB000CDB7DEB760970FB6F894DEBF0FBECDBFAB -:103EC00020E1E1E5FCE0DE01119601900D922A95DA -:103ED000E1F7BE016F5F7F4F0E944C1E60960FB6E8 -:103EE000F894DEBF0FBECDBFDF91CF910895862F2E -:103EF000BA010C94DDF1CF93DF93EB01CB010E946B -:103F0000B7F3811105C0CE01DF91CF910C9483F3FB -:103F1000DF91CF910895CF93DF93EB01CB010E9406 -:103F2000B7F3882329F0CE01DF91CF910C949CF355 -:103F3000DF91CF910895CB010C94B7F3FC018281FE -:103F400093810895FC01848195810895FC01868107 -:103F50000895FC01828593850895FC0184859585EB -:103F60000895FC0166857785808991890895DC0133 -:103F70001796EC91E03140F4F0E0EE0FFF1FE756AA -:103F8000F34F80819181089586EB99E00895DC01DB -:103F90001896EC91E43040F4F0E0EE0FFF1FEF567E -:103FA000F34F8081918108958EE899E00895A09162 -:103FB0005C2CB0915D2C109749F0ED91FC9111971C -:103FC0000190F081E02D682FCD01199408958F9212 -:103FD0009F92AF92BF92CF92DF92EF92FF920F9398 -:103FE0001F93CF93DF9300D000D0CDB7DEB78C0105 -:103FF0004B015A01FC018181882369F067E17BE074 -:1040000083E496E40F94360BF5016081718183E4BB -:1040100096E40F949A0B8114910429F090925D2CF0 -:1040200080925C2C08C0F8018281882341F01092B4 -:104030005D2C10925C2C87ED9FE10E94C2D8F501A7 -:10404000808191810E94EEF06B017C01892819F436 -:10405000F801828181110E94C7D869ED7CE0CE0110 -:1040600001960F94480DBE016F5F7F4FC5010F94FD -:104070007D10B82ECE0101960F94DA0CBB2019F0FA -:10408000C8010E94C558C701B60126960FB6F8941C -:10409000DEBF0FBECDBFDF91CF911F910F91FF907B -:1040A000EF90DF90CF90BF90AF909F908F9008954A -:1040B000CF93DF93EC010E94301DFE01EC57FF4FC0 -:1040C00011821082CE0188579F4F0E94827DCE01BF -:1040D0008C569F4F0E94572EFE01EE55FF4F1082C7 -:1040E00011821282138234961082319610821182CC -:1040F000128213821B8A1A8A1D8A1C8A1F8A1E8AB0 -:10410000198E188E1B8E1A8E1D8E1C8E3D9682E384 -:1041100090E0A0E0B0E080839183A283B3833496E3 -:1041200081E090E09183808332962AE235E2318308 -:104130002083389648EE53E060E070E0408351837E -:104140006283738334969183808332962BEF34E2BB -:1041500031832083389640E65AEE60E070E0408379 -:1041600051836283738334969183808332968CE883 -:1041700091E291838083E055F1091082B796108215 -:10418000BB961082C352DF4F19821882DF91CF9104 -:104190000895CF93DF93EC018C569F4F0E945E2EC3 -:1041A000CE01DF91CF910C94341D84E10F947807F8 -:1041B00021E0892B09F020E0822F08950E94F5BAB2 -:1041C00097FD0AC00E94F5BA8536910514F40C9447 -:1041D000F5BA84E690E0089580E090E008950C94AC -:1041E000D8BA82E10F94780721E0892B09F020E00A -:1041F000822F08950F931F93CF93DF9384E10F9441 -:10420000780701E0892B09F400E0C8E2D0E010E073 -:1042100084E10F94780721E0892B09F420E0201332 -:1042200003C0112311F00BC011E061E070E080E0E9 -:1042300090E00F943505219759F781E001C080E0A7 -:10424000DF91CF911F910F9108950C94481DCF934A -:10425000DF93EC010E94481D682F772767FD70955A -:10426000872F972F0F94451426E636E646EE5FE338 -:104270000F94A31520E030E040E052E40F943E1389 -:1042800020E030E0A9010F949F1587FD1EC0CE01EC -:104290000E94481D682F772767FD7095872F972FFD -:1042A0000F94451426E636E646EE5FE30F94A31519 -:1042B00020E030E040E052E40F943E1320E030E094 -:1042C00040E05FE30F943E131DC0CE010E94481DE5 -:1042D000682F772767FD7095872F972F0F944514C8 -:1042E00026E636E646EE5FE30F94A31520E030E0C5 -:1042F00040E052E40F943E1320E030E040E05FE302 -:104300000F943D130F940E140F9445140F9413142F -:10431000862FDF91CF9108950F931F93CF93DF9353 -:104320008091932B9091942B892B59F18DE79BE2EF -:104330000E94DE20182FEC012091FB2B30E02C177F -:104340003D07F9F08091032C882399F065EA7BE022 -:1043500083E496E40F94360B4AE050E0BE0183E418 -:1043600096E40F94AC0C63EA7BE083E496E40F944C -:10437000760B1093FB2BE091932BF091942B812FD4 -:1043800019958091952B9091962B892B61F18DE752 -:104390009BE20E94D520182FC82FD0E02091FE2B41 -:1043A00030E02C173D07F9F08091032C882399F019 -:1043B0006DE77BE083E496E40F94360B4AE050E02F -:1043C000BE0183E496E40F94AC0C6BE77BE083E4DE -:1043D00096E40F94760B1093FE2BE091952BF091C1 -:1043E000962B812F19958091972B9091982B892B43 -:1043F00071F182E10F94780711E0892B09F010E048 -:10440000C12FD0E02091FF2B30E02C173D07F9F0B1 -:104410008091032C882399F06FE47BE083E496E499 -:104420000F94360B4AE050E0BE0183E496E40F940B -:10443000AC0C6DE47BE083E496E40F94760B109370 -:10444000FF2BE091972BF091982B812F199580915C -:10445000992B90919A2B892B09F448C08DE79BE208 -:104460000E94481D182FC82FDD27C7FDD095209129 -:10447000002C30E02C173D07C9F18093002C8DE70C -:104480009BE20E942721082F8091032C882319F199 -:104490006BE27BE083E496E40F94360B4AE050E055 -:1044A000BE0183E496E40F944F0C63E071E183E472 -:1044B00096E40F94690B4AE050E0602F772767FD80 -:1044C000709583E496E40F944F0C69E27BE083E4FB -:1044D00096E40F94760BE091992BF0919A2B602F34 -:1044E000812FDF91CF911F910F911994DF91CF917F -:1044F0001F910F91089585559F4FFC01808108956C -:1045000087569F4FFC018081811104C081E090E0BB -:104510000C94798381E00895FC01E355FF4F80817D -:10452000811102C091E090830895F89428E088E119 -:1045300090E00FB6F894A895809360000FBE20938A -:104540006000FFCF82559F4F0D94BE0082559F4F54 -:104550000D94760084549F4F0D94BE0084549F4F59 -:104560000D94760086539F4F0D94BE0086539F4F47 -:104570000D9476006F927F928F929F92AF92BF922E -:10458000CF92DF92EF92FF920F931F93CF93DF931F -:1045900000D01F92CDB7DEB73C01480159018C0114 -:1045A00002551F4FC80149835A836B837C830F9444 -:1045B0007600F301EC54FF4F49815A816B817C8175 -:1045C0004083518362837383C8010F94BE00025FEE -:1045D0001F4FC8010F947600F301EE53FF4F808206 -:1045E0009182A282B382C8010F94BE0053018AEC6B -:1045F000A80EB11CC5010F947600F301E053FF4FE4 -:10460000C082D182E282F382C5010F900F900F9099 -:104610000F90DF91CF911F910F91FF90EF90DF905E -:10462000CF90BF90AF909F908F907F906F900D94A0 -:10463000BE00603238F4860F911DFC01E25AFF4F34 -:10464000808108958DEF08958EEF860F843048F0B5 -:104650008BEE860F823028F081E0673119F080E020 -:10466000089581E00895603248F4860F911DFC01A1 -:10467000E25AFF4F90819D7F81E009F080E008952C -:10468000603250F4860F911DFC01E25AFF4F908179 -:104690009D7F81E0913009F080E008959C01862F94 -:1046A000603218F5E62FF0E0D901AE0FBF1FA25A15 -:1046B000BF4F9C919130B9F01CF4992369F015C05B -:1046C000923051F0933089F43F96EE0FFF1FE20FC6 -:1046D000F31F80819181089598EE980F993018F416 -:1046E000892F0D94CA050D94780780E090E0089515 -:1046F000FF920F931F93CF93DF938B01CDECDBE001 -:10470000F12CBE01C8010F94AF1D892B11F48F2D20 -:1047100006C0F394259680E2F812F3CF8FEFDF9175 -:10472000CF911F910F91FF900895603238F425E0EA -:10473000629FC00111248353944F089580E090E05C -:1047400008956C5F683048F4E62FF0E0EE0FFF1F2D -:10475000ED5FF24F80819181089580E090E00895AF -:10476000262F4091772D5091782D6091792D709161 -:104770007A2D2F3F69F081E090E0A0E0B0E0022EBA -:1047800004C0880F991FAA1FBB1F0A94D2F703C049 -:1047900080E090E0DC0184239523A623B723892BB6 -:1047A0008A2B8B2B39F4223028F02F50293010F02F -:1047B00080E0089581E008959F92AF92BF92CF92DA -:1047C000DF92EF92FF920F931F93CF93DF93EC0151 -:1047D0007C018C01B12C9DEFA92E2EEF922ECC24C2 -:1047E000CA94DC2C6B2DCE010E94B023F801E25A52 -:1047F000FF4F882311F0908201C0A082F701D78E6D -:10480000C68EB394F2E0EF0EF11C0F5F1F4F80E2F3 -:10481000B812E8CFCE010E94DE20FE01E258FF4F21 -:1048200080830E94D8BAFE01E158FF4F91838083B4 -:10483000CE010E94D520FE01EF57FF4F8083CE01AD -:104840000E94F120FE01EE57FF4F8083CE010E94AF -:10485000481DCD57DF4F8883DF91CF911F910F9176 -:10486000FF90EF90DF90CF90BF90AF909F90089512 -:10487000CF92DF92EF92FF920F931F93CF93DF932C -:10488000EC01C62E8A01D22EE62EF12CF701EE0F96 -:10489000FF1FE80FF91F868D978D9E012E0D3F1D7E -:1048A0008017910741F4C901825A9F4FDC018C9116 -:1048B0008D1509F456C0178F068FD901A25ABF4F24 -:1048C000DC928EEF8C0D873008F040C08A899B897E -:1048D000892BE1F1FE01EA57FF4F8081882381F1A6 -:1048E00063EB7AE083E496E40F94360B4AE050E001 -:1048F0006C2D83E496E40F948E0C61EB7AE083E4F4 -:1049000096E40F94360B4AE050E0B80183E496E455 -:104910000F944F0C6FEA7AE083E496E40F94360B21 -:104920004AE050E06D2D772767FD709583E496E4AB -:104930000F944F0C6DEA7AE083E496E40F94760BC3 -:10494000EA89FB894D2DB8018C2D1995B8EECB0E57 -:1049500088E08C1508F445C02C893D89232B19F477 -:1049600040C080E03FC0FE01EA57FF4F80818823AE -:1049700091F16DE87AE083E496E40F94360BB70189 -:10498000685171094AE050E083E496E40F944F0CBB -:104990006BE87AE083E496E40F94360B4AE050E04B -:1049A000B80183E496E40F944F0C69E87AE083E45D -:1049B00096E40F94360B4AE050E06D2D772767FDA3 -:1049C000709583E496E40F944F0C67E87AE083E4F3 -:1049D00096E40F94760BEC89FD894D2DB8018C2D52 -:1049E000199581E0DF91CF911F910F91FF90EF908A -:1049F000DF90CF900895EF92FF921F93CF93DF93B4 -:104A00001F92CDB7DEB78091912B9091922B892B7D -:104A1000D1F053EFE52E5BE2F52E18E1F70121917D -:104A20007F0127FD0DC0612F8DE79BE229830E9446 -:104A30004E232981AC01612F8DE79BE20E9438242F -:104A40001F5F103259F70F90DF91CF911F91FF90A8 -:104A5000EF900895EF92FF921F93CF93DF931F92F1 -:104A6000CDB7DEB780918F2B9091902B892BD1F011 -:104A70006DEDE62E6BE2F62E12E0F70121917F013B -:104A800027FD0DC0612F8DE79BE229830E944E23F5 -:104A90002981AC01612F8DE79BE20E9438241F5FC2 -:104AA000193059F70F90DF91CF911F91FF90EF9040 -:104AB0000895CF92DF92FF920F931F93CF93DF93CE -:104AC0001F92CDB7DEB76C01F62E49830E94B0234A -:104AD0002981811133C012162CF02F3F4CF42C3F4A -:104AE00049F02CC0223031F03CF0233029F026C0B0 -:104AF00060E003C062E001C061E08F2D29830F9464 -:104B00000907298123303CF427FF0AC02F3F79F49D -:104B10000FEF1FEF0CC0233051F400E010E007C08E -:104B20006F2DC60129830E944E238C012981A80183 -:104B30006F2DC6010E94382481E001C080E00F90F3 -:104B4000DF91CF911F910F91FF90DF90CF9008954B -:104B50000F931F93CF93DF938C01C0E0D0E0F80157 -:104B6000EC0FFD1FE25AFF4F80818D3F29F44CEF7F -:104B70006C2FC8010E9459252196C032D10579F7C2 -:104B8000DF91CF911F910F910895DF92EF92FF92E5 -:104B90000F931F93CF93DF93EC01F62ED42E0E9438 -:104BA000B023811108C06F2DCE010E944023E82E52 -:104BB000811103C028C0E12C26C00D2D10E08FE12B -:104BC0008F1568F0FE01EF0DF11DE25AFF4F808155 -:104BD000833029F4B8018F2D0F94EF0507C06D2D98 -:104BE0008F2D0F9442078FE18F1538F0FE01EF0DE6 -:104BF000F11DE25AFF4F208101C02DEFA8016F2D5A -:104C0000CE010E9438248E2DDF91CF911F910F91FC -:104C1000FF90EF90DF900895AF92BF92CF92DF9216 -:104C2000EF92FF920F931F93CF93DF93EC016A01F2 -:104C30007B0159018C0108521F4F41155105610537 -:104C4000710541F0CB01BA010E94A87681E0F8011C -:104C5000808302C0F80110828E0103521F4FF801B9 -:104C600080819181009711F00F94C719A114B104AC -:104C700021F0C5010F94091E02C080E090E0F80108 -:104C800091838083C752DF4FC882D982EA82FB8238 -:104C9000DF91CF911F910F91FF90EF90DF90CF9018 -:104CA000BF90AF9008952F923F924F925F926F9274 -:104CB0007F928F929F92AF92BF92CF92DF92EF92AC -:104CC000FF920F931F93CF93DF93CDB7DEB7629719 -:104CD0000FB6F894DEBF0FBECDBF5C011C018DED99 -:104CE000280E311CF101E080F180118210826501F3 -:104CF000F8EDCF0ED11CF6011082611107C00E94A1 -:104D0000EFF181E00E9400770E94F1F1E114F104DB -:104D100009F496C040E150E060E470E08E010F5F5E -:104D20001F4FC8010E9400BF0E94DD76E8EE4E2EA4 -:104D3000E3E05E2E612C712CA30192010F94811788 -:104D40002F87388B498B5A8BF4E0660F771F881FAB -:104D5000991FFA95D1F7A30192010F9481172901A8 -:104D60003A018F859889A989BA8924E0880F991F0B -:104D7000AA1FBB1F2A95D1F7480E591E6A1E7B1E1B -:104D8000B701C8010F94460F61EE74E2C8010F9499 -:104D9000460FF501E752FF4F83818F9382818F93F6 -:104DA00081818F9380818F9384EE9CE09F938F937A -:104DB0001F930F930E9426BF7F926F925F924F9234 -:104DC00083EE9CE09F938F931F930F930E9426BFC7 -:104DD00069EE71E1C8010F94460F69817A81CE01B5 -:104DE00009960F94480DAE01475F5F4F60E070E099 -:104DF0008EE49DE20E94E71F4B015C01CE01099603 -:104E00000F94DA0C0FB6F894DEBF0FBECDBF452865 -:104E10004628472841F089288A288B2821F0F60166 -:104E20008081882321F0C7010F94C71906C081E053 -:104E3000F6018083F101F182E082C8010F94DA0C5F -:104E400062960FB6F894DEBF0FBECDBFDF91CF9153 -:104E50001F910F91FF90EF90DF90CF90BF90AF9098 -:104E60009F908F907F906F905F904F903F902F908A -:104E700008952F923F924F925F926F927F928F92FE -:104E80009F92AF92BF92CF92DF92EF92FF920F93D9 -:104E90001F93CF93DF93CDB7DEB729970FB6F89462 -:104EA000DEBF0FBECDBF998788878091DF00877FE7 -:104EB0008093DF004090692D50906A2D60906B2D9B -:104EC00070906C2D80916D2D90916E2DA0916F2D15 -:104ED0008D839E83AF838091DF0088608093DF00A5 -:104EE0000E94377620E130E040E050E00F94421815 -:104EF000190149835A836B837C834C0130E4A32ED0 -:104F0000E2E4BE2EFFE0CF2ED12CE12CF12C00E00C -:104F100010E09101C4010F946F1859016A014A0C05 -:104F20005B1C6C1C7D1CA0E4AA2EB2E4BB2E1FE00F -:104F3000C12ED12CE12CF12C00E010E0910149812F -:104F40005A816B817C81C4010F946D184901A42E94 -:104F50008D819E81AF81880D991DAA1D8034924458 -:104F6000AF4028F0FFEF4F1A5F0A6F0A7F0A0885EB -:104F700019850E551F4FF80140825182628273825B -:104F8000888599850E94351DE885F985EA55FF4F8A -:104F900020812223E9F0F80160817181828193816F -:104FA000E884F984F7EAEF0EF11CF7018080918024 -:104FB000A280B38086169706A806B90648F430E0AA -:104FC00040E050E00F948117672B682B692B11F09C -:104FD00010E03EC088EE90E30E94F6BB40E0BC01CA -:104FE00088EE90E30E9447BB88EE90E30E94FABBF4 -:104FF00040E0BC0188EE90E30E946CBB88EE90E339 -:105000000E94FEBB40E0BC0188EE90E30E9491BB91 -:105010000E9442F420E030E060E0FC01E20FF31F68 -:10502000418152814F3F5F4F09F061E0295F3F4F5F -:105030002C38310591F7662351F0F8018081918178 -:10504000A281B381F70180839183A283B38311E0AE -:105050008EE49DE20E94B574888599858C569F4F99 -:105060000E9410340E94B3910E94B1811123F1F08B -:1050700088EE90E30E94B6BB41E0BC0188EE90E36D -:105080000E9447BB88EE90E30E94BABB41E0BC019E -:1050900088EE90E30E946CBB88EE90E30E94BEBB5A -:1050A00041E0BC0188EE90E30E9491BBE885F98560 -:1050B000E852FF4F8081882351F10E94E6F1182FBA -:1050C0000E94DD76672B682B692B11F461E003C029 -:1050D00011111DC060E08885998529960FB6F89456 -:1050E000DEBF0FBECDBFDF91CF911F910F91FF901B -:1050F000EF90DF90CF90BF90AF909F908F907F9078 -:105100006F905F904F903F902F900C94532629966C -:105110000FB6F894DEBF0FBECDBFDF91CF911F91C8 -:105120000F91FF90EF90DF90CF90BF90AF909F9046 -:105130008F907F906F905F904F903F902F90089549 -:105140000F931F93CF93DF931F92CDB7DEB7DC0190 -:105150000D911C910115110559F0D801ED91FC91AB -:10516000862F69831995F801028113816981F2CF35 -:105170000F90DF91CF911F910F910895CF93DF93FF -:10518000EC01FC01E555FF4F81E0808361E081E1A6 -:105190000F94420761E0CE018C579F4FDF91CF9172 -:1051A0000C94A028FC01E555FF4F108260E08C575D -:1051B0009F4F0E94A02860E081E10D9442070F9369 -:1051C0001F93CF93DF93CDB7DEB762970FB6F894F6 -:1051D000DEBF0FBECDBF8C01CE010D960F94480DE2 -:1051E00068EE7CE0CE0101960F94480D69E173E111 -:1051F000CE0107960F94480DAE014F5F5F4FBE0181 -:10520000695F7F4FCE010D960F94B811CE010796BE -:105210000F94DA0CCE0101960F94DA0C62E2C80109 -:105220000F94560FBE01635F7F4FC8010F943F0F6D -:1052300062E2C8010F94560FCE010D960F94DA0C5E -:1052400062960FB6F894DEBF0FBECDBFDF91CF914F -:105250001F910F910895EF92FF920F931F93CF9399 -:10526000DF93CDB7DEB72E970FB6F894DEBF0FBE33 -:10527000CDBF7C010E94161F0E94737662E084E11C -:105280000F94090762E082E10F94090761E081E170 -:105290000F940907C7010E94D22864E670E080E0FD -:1052A00090E00F943505C7010E94BE2888EE90E378 -:1052B0000E9499BC8DEB9AE20E94DE1A84E10E9462 -:1052C00093BAC7010E94DC230E94B2910E94EA8334 -:1052D000C7018C569F4F0E94612EC70182559F4F78 -:1052E0000F94BE00C70184549F4F0F94BE00C701A6 -:1052F00086539F4F0F94BE0088EE90E30E9450BEED -:105300008EE49DE20E94256D88EE90E30E94B6BB7C -:105310008C0188EE90E30E94F6BB0817190709F08C -:105320009BC088EE90E30E94BABB8C0188EE90E3AC -:105330000E94FABB0817190709F08EC088EE90E3A7 -:105340000E94BEBB8C0188EE90E30E94FEBB081752 -:10535000190709F081C040E064E670E088EE90E350 -:105360000E940BBEF701EE57FF4F8081882309F49E -:1053700073C0F701EF57FF4F808181116DC06BEE55 -:105380007CE0CE0109960F94480D41E050E060E8C2 -:1053900070E0CE0101960E9400BFBE01675F7F4FA3 -:1053A000CE0101960F943F0F68E2CE0101960F9453 -:1053B000560F64EF71E0CE0101960F94960F6CE2E8 -:1053C000CE0101960F94560F67EF7CE0CE01019657 -:1053D0000E94DF286CE2CE0101960F94560F64E61E -:1053E00070E0CE0101960F94960F6CE2CE0101960B -:1053F0000F94560F67EF7CE0CE0101960E94DF28E4 -:105400006CE2CE0101960F94560F64E670E0CE0177 -:1054100001960F94960F6CE2CE0101960F94560FF1 -:1054200067EF7CE0CE0101960E94DF2869E2CE01A1 -:1054300001960F94560FAE014F5F5F4F60E070E032 -:105440008EE49DE20E94E71FCE0101960F94DA0CD4 -:10545000CE0109960F94DA0C2E960FB6F894DEBFA3 -:105460000FBECDBFDF91CF911F910F91FF90EF90B5 -:1054700008950F9300E020E040E060E08EE59CE2BC -:105480000F94C30A8DE79BE20F910C9458208DE78F -:105490009BE20C94C920FC01848195810F94560FE6 -:1054A0000895CF93DF932091EF2C3091F02C6091F1 -:1054B000D62C7091D72C621B730B653671051CF4CA -:1054C000EB01219602C0C4E6D0E08091F12C9091CE -:1054D000F22C9093E02C8093DF2C83E08093E12CDE -:1054E00082E08093E22C8093E32C8091D22C9091E7 -:1054F000D32C820F931F9093E72C8093E62CC093BC -:10550000E82C81E19BE29093EA2C8093E92C8AEDD0 -:105510009CE20E941CF28091112C8823F9F060918A -:10552000F12C7091F22C4AE050E083E496E40F9461 -:105530004F0C66E17EE083E496E40F94360B4AE07C -:1055400050E0BE0183E496E40F944F0C6EE07EE0E1 -:1055500083E496E4DF91CF910D94760BDF91CF91A8 -:105560000895CF93DF9320918B2C30918C2C6091F8 -:10557000912C7091922C621B730B653671051CF493 -:10558000EB01219602C0C4E6D0E08091952C909169 -:10559000962C90937C2C80937B2C82E080937D2CA6 -:1055A00093E090937E2C80937F2C80918D2C909112 -:1055B0008E2C820F931F9093832C8093822CC09308 -:1055C000842C8CE993E39093862C8093852C86E73A -:1055D0009CE20E941CF28091112C8823F9F06091CA -:1055E000952C7091962C4AE050E083E496E40F9459 -:1055F0004F0C64EE7CE083E496E40F94360B4AE0B3 -:1056000050E0BE0183E496E40F944F0C6CED7CE017 -:1056100083E496E4DF91CF910D94760BDF91CF91E7 -:105620000895CF93DF93EC018091112C882331F002 -:1056300064EF7DE083E496E40F94360B99898091C2 -:10564000112C91111FC0882331F06CEE7DE083E4B2 -:1056500096E40F94760B2091EF2C3091F02C8091F2 -:10566000D62C9091D72C821B930B85369105A0F1F7 -:105670002C593F4F3093F02C2093EF2CDF91CF919A -:105680000C94512A2091ED2C3091EE2C2F5F3F4F3E -:105690003093EE2C2093ED2C2430310584F08823B8 -:1056A000D9F064EE7DE083E496E40F94360B4AE093 -:1056B00050E0698983E496E40F94950C0DC088232B -:1056C00031F06EED7DE083E496E40F94760BCE012D -:1056D000DF91CF910C941CF21092F22C1092F12CCD -:1056E00060E070E082ED9CE2DF91CF910D94D80DE7 -:1056F0001F93CF93DF93EC011091162C112369F0C7 -:1057000063E17DE08EE49DE20E94F860688179812A -:105710008EE49DE20E94F8604AC0A0919D2DB09158 -:105720009E2D109761F01296ED91FC9113970488CD -:10573000F589E02DCD0102961995811112C0809155 -:10574000112C882361F066EA7EE083E496E40F94EE -:10575000760BBE0183E496E40F94880B28C010E01A -:1057600026C08091112C882359F066E97EE083E4FD -:1057700096E40F94760BBE0183E496E40F94880BB5 -:1057800080919D2D90919E2DBE0102960F945B0BF2 -:1057900080919D2D90919E2DDC011296ED91FC91B2 -:1057A00013970284F385E02D0296199511E0812F5D -:1057B000DF91CF911F910895DF92EF92FF920F93A7 -:1057C0001F93CF93DF93CDB7DEB728970FB6F8942A -:1057D000DEBF0FBECDBF8C0141E050E060E071E064 -:1057E000CE0101967C010E9400BFD80116969C91C3 -:1057F0008091112C96FF0AC0882309F472C062ECD4 -:105800007DE083E496E40F94760B6BC08823A9F0C7 -:1058100066EA7DE083E496E40F94360BF80160813C -:1058200071814AE050E083E496E40F94AC0C64EAA2 -:105830007DE083E496E40F94760BD80119968C9161 -:1058400019971796ED91FC911897E80FF11D319774 -:105850009081911106C0815019968C93DD24D394C8 -:1058600001C0D12CF80181818F9380818F93809129 -:10587000752C8F938091742C8F938BE29DE09F9376 -:105880008F93FF92EF920E9426BFD80119964C91F8 -:10589000199750E017966D917C91189721E0C701F8 -:1058A0000E94DCBF0FB6F894DEBF0FBECDBFDD2077 -:1058B00019F080E29DE002C085E29DE09F938F9306 -:1058C00086E59DE09F938F93FF92EF920E9426BF03 -:1058D000C7010E94782B0F900F900F900F900F90A0 -:1058E0000F90C7010F94DA0C81E028960FB6F89458 -:1058F000DEBF0FBECDBFDF91CF911F910F91FF9003 -:10590000EF90DF90089584E69CE20F94DA0C8CE629 -:105910009CE20F94DA0C8DE89CE20F94DA0C82ED95 -:105920009CE20F94DA0C83EF9CE20D94DA0CCF9298 -:10593000DF92EF92FF920F931F93CF93DF9300D0EC -:1059400000D0CDB7DEB78C018091112C882359F19E -:1059500065E87EE083E496E40F94360B6FE77EE023 -:1059600083E496E40F94360B4AE050E0F801628538 -:1059700083E496E40F948E0C6CE77EE083E496E477 -:105980000F94360B65E77EE083E496E40F94360BC4 -:10599000F8016385772767FD70954AE050E083E45E -:1059A00096E40F94570C8091F12C9091F22C892B56 -:1059B00061F01091112C112309F4C0C06AE47EE05B -:1059C00083E496E40F94760BB6C0F801418550E06D -:1059D0006781708583EF9CE20E94DBC0882309F415 -:1059E000AAC0F8018385992787FD909597FF03C08A -:1059F0009195819591090E946FF86091F72C7091B3 -:105A0000F82C6150710983EF9CE20F949A10FC010D -:105A100090818091112C992359F0182F882309F433 -:105A20008CC069E37EE083E496E40F94760B86C035 -:105A3000882371F068E27EE083E496E40F94360BED -:105A40006091F32C7091F42C83E496E40F949A0BFC -:105A5000F8018385992787FD909597FF03C091955D -:105A6000819591099093522D8093512DF801828553 -:105A700090E09093542D8093532D80819181909349 -:105A8000562D8093552D67EA79E182ED9CE20F94C3 -:105A9000D80D1C821B828DEA9EE09A83898382ED59 -:105AA0009CE29E838D8343EF5CE2BE016F5F7F4F7C -:105AB0008EE49DE20E94E71F6B017C0160E070E0D4 -:105AC00083EF9CE20F94D80D8091112C8823B1F0C4 -:105AD0006CE17EE083E496E40F94360B2AE030E03C -:105AE000B701A60183E496E40F946F0C6091D22C69 -:105AF0007091D32C83E496E40F949A0BF80184817F -:105B0000823039F460E070E082ED9CE20F94D80DB1 -:105B100014C0F801808191819093F22C8093F12C34 -:105B20001092F02C1092EF2C1092EE2C1092ED2C83 -:105B30000E94512A02C010E001C011E0812F269678 -:105B40000FB6F894DEBF0FBECDBFDF91CF911F918E -:105B50000F91FF90EF90DF90CF9008952F923F929A -:105B60004F925F926F927F928F929F92AF92BF926D -:105B7000CF92DF92EF92FF920F931F93CF93DF9319 -:105B8000CDB7DEB72E970FB6F894DEBF0FBECDBFF0 -:105B90008091DF00877F8093DF004090692D5090D7 -:105BA0006A2D60906B2D70906C2D80916D2D909171 -:105BB0006E2DA0916F2D8C879D87AE878091DF0021 -:105BC00088608093DF000E94377620E130E040E07B -:105BD00050E00F9442181901488759876A877B87DC -:105BE0004C0180E4A82E92E4B92E2FE0C22ED12CD5 -:105BF000E12CF12C00E010E09101C4010F946F182A -:105C000059016A014A0C5B1C6C1C7D1C30E4A32EFC -:105C100042E4B42E5FE0C52ED12CE12CF12C00E043 -:105C200010E09101488559856A857B85C4010F94F0 -:105C30006D1849015A018C859D85AE85880D991D89 -:105C4000AA1D803422E492072FE0A20740F080547E -:105C50009244AF402FEF421A520A620A720A4982F6 -:105C60005A826B827C828D839E83AF83242D3A81FE -:105C70004B815C81682F7E818F8190E02E960FB6DC -:105C8000F894DEBF0FBECDBFDF91CF911F910F9172 -:105C9000FF90EF90DF90CF90BF90AF909F908F904C -:105CA0007F906F905F904F903F902F90089541E0CC -:105CB00050E060E070E006960C9400BF06960D94EC -:105CC000DA0CCF93DF93DC0115961C928DE79BE2F3 -:105CD0000E948022882399F04CED5BE263E08DE71F -:105CE0009BE20E94771F6FEE7EEB8DE79BE20E94A6 -:105CF0007B1F60E070E08DE79BE20E947B1FC1E0AC -:105D0000D0E0BE018DE79BE20E947B1F2196CA3046 -:105D1000D105B9F747E95CE262E08DE79BE20E94BA -:105D2000771F49E751E364E08DE79BE20E94771F0C -:105D300084E1EEEBFCE2DF011D928A95E9F7DF9149 -:105D4000CF910895FC01608308958091BE2C9091BD -:105D5000BF2C892BA9F16091AA2C7091AB2C8DE7F7 -:105D60009BE20E947B1F8091AA2C9091AB2C909378 -:105D70009D2C80939C2C84E080939E2C8DE79BE24D -:105D80000E949E1F80939F2C82E18093A02CE09123 -:105D9000BE2CF091BF2CF093A42CE093A32CDF0138 -:105DA0000D900020E9F7AE1BA093A52C81EE9EE29A -:105DB0009093A72C8093A62C87E99CE20C941CF26C -:105DC0000895CF93DF93EC018989882389F080912E -:105DD000112C882369F06FE77CE083E496E40F944C -:105DE000360B4AE050E0698983E496E40F94950C01 -:105DF0008C859D850F94C71942E150E060EC7CE2F0 -:105E00008EEB9CE20F942C1E42E150E06CEA7CE2A7 -:105E10008AEA9CE20F942C1E1092D12C1092D02C66 -:105E2000DF91CF910C94A52E2F923F924F925F92CB -:105E30006F927F928F929F92AF92BF92CF92DF929A -:105E4000EF92FF920F931F93CF93DF93CDB7DEB7FF -:105E5000C05AD1090FB6F894DEBF0FBECDBF2C01DA -:105E60007B0148E050E064E670E00E9400BFD7018B -:105E70001296CD90DC901397C6010F942F198C01C8 -:105E8000F70160817181A6010F94231ED70112963C -:105E9000ED91FC911397E00FF11F1082F801019032 -:105EA0000020E9F7BF0161507109601B710B20E10F -:105EB00030E0AE014F575F4FC8010F94D501CF5767 -:105EC000DF4F88819981C158D040892B19F4C801CE -:105ED0000F94C719AE014F575F4FB80180E090E0B3 -:105EE0000F9443010F94131D0E94AA909F938F93C8 -:105EF00082E69DE09F938F935F924F920E9426BF10 -:105F0000CB57DF4FA880B980C558D040A00EB11E36 -:105F1000C957DF4F68817981C758D04020E230E00F -:105F2000AE014F5B5F4FC5010F94D5010F900F90ED -:105F30000F900F900F900F9023968EAD9FAD2397EB -:105F4000892B41F1C757DF4FC880D980C958D0404D -:105F5000C00ED11EC557DF4F68817981CB58D04024 -:105F600020E230E0AE014F5F5F4FC6010F94D501D4 -:105F700089819A81892B71F0CE018F5B9F4F4C01F3 -:105F8000DE0111967D01612C712C6DE6262E69E2F1 -:105F9000362E5FC0C8010F94C71960E070E0C201DF -:105FA0000F94D80D89C0AE014F5B5F4FB501C3019F -:105FB0000F9443010F94131D0E94AA909F938F93F7 -:105FC000AFE6BDE0BF93AF935F924F920E9426BFB2 -:105FD000D7018D919C9111970197F601E80FF91F58 -:105FE0000F900F900F900F900F900F902081223202 -:105FF00061F411969C938E9312968D919C911397B8 -:10600000029613969C938E931297F701808191814B -:106010000280F381E02DEC0DFD1DE80FF91F1082C9 -:106020008C0D9D1D9F938F933F922F925F924F9265 -:106030000E9426BFF2E06F0E711C84E0880E911C56 -:1060400094E0E90EF11C0F900F900F900F900F90BD -:106050000F90D4018D919C91892B09F0A4CFC35747 -:10606000DF4F88819981CD58D0400097E9F0C15722 -:10607000DF4FE881F981CF58D040E00FF11FE80FE2 -:10608000F91F1082800F911F9F938F9386E79DE0E9 -:106090009F938F935F924F920E9426BF0F900F9015 -:1060A0000F900F900F900F9063E273E1C2010F9475 -:1060B000460FC8010F94C719C201C056DF4F0FB673 -:1060C000F894DEBF0FBECDBFDF91CF911F910F912E -:1060D000FF90EF90DF90CF90BF90AF909F908F9008 -:1060E0007F906F905F904F903F902F900895AF9268 -:1060F000BF92CF92DF92EF92FF920F931F93CF93B5 -:10610000DF93CDB7DEB760970FB6F894DEBF0FBE52 -:10611000CDBF6C01B62EA72E7A018E01075F1F4FEF -:1061200048E050E064E670E0C8010E9400BF8FEED6 -:10613000C8168EEBD806E9F4B701CE0101960E948D -:10614000142F8A818F9389818F93AF92BF928FE7AB -:106150009DE09F938F931F930F930E9426BFCE01C4 -:1061600001960F94DA0C0FB6F894DEBF0FBECDBFC8 -:106170001FC0CD2801F5AF92BF9288EA9DE09F93A2 -:106180008F931F930F930E9426BFF7014281538183 -:1061900060817181C8010E94DBC06AE17EE0C801B4 -:1061A0000F94460F0F900F900F900F900F900F903D -:1061B000C8010E94782BC8010F94DA0C60960FB6C4 -:1061C000F894DEBF0FBECDBFDF91CF911F910F912D -:1061D000FF90EF90DF90CF90BF90AF900895EF9237 -:1061E000FF920F931F93CF93DF9300D01F92CDB7F1 -:1061F000DEB78B017A018DE79BE20E948022882323 -:10620000A1F0F701808191819A83898384819581AE -:106210009C838B838DE79BE20E949E1FAE014F5FA4 -:106220005F4FBC01C8010E9477308091112C8823F8 -:10623000C1F068E97CE083E496E40F94360B4AE011 -:1062400050E0B80183E496E40F94AC0C66E97CE07E -:1062500083E496E40F94360BB70183E496E40F943D -:10626000880BF701808191810F94091E0097B1F18D -:106270002091BE2C3091BF2C232BC9F0E0ECFCE226 -:1062800021E030E041915191452BE1F02F5F3F4FEC -:106290002A303105B9F70F900F900F900F90DF91D2 -:1062A000CF911F910F91FF90EF900D94C71990938C -:1062B000BF2C8093BE2C1093AB2C0093AA2C0E9471 -:1062C000A52E0CC0220F331FF901E254F34D918328 -:1062D0008083F901E655F34D118300830F900F90F1 -:1062E0000F900F90DF91CF911F910F91FF90EF9042 -:1062F00008958F929F92AF92BF92CF92DF92EF92CA -:10630000FF920F931F93CF93DF93CDB7DEB7AA977A -:106310000FB6F894DEBF0FBECDBF8C01FC01E78045 -:10632000F0848091112C882379F06FEB7EE083E478 -:1063300096E40F94360BF801628173814AE050E0D5 -:1063400083E496E40F94B20C8DE79BE20E948022D6 -:10635000882389F0F801818590E00197FA82E9822B -:106360009C838B8360817181AE014F5F5F4F82811F -:1063700093810E947730F80182819381009709F41C -:10638000ADC08F3E9E4B09F4A9C0F70101900020DB -:10639000E9F73197EE19FF09339708F49FC0F70129 -:1063A00080818B3509F09AC00F9406059B01AC01E2 -:1063B000BE016F5F7F4FF801878190850E94069133 -:1063C0006E01FDE1CF0ED11C41E050E064E170E0D0 -:1063D000C6010E9400BFF80183818F9382818F9351 -:1063E00081ED9DE09F938F93DF92CF920E9426BF15 -:1063F0006D8D7E8D8EE49DE20E94135E0F900F9056 -:106400000F900F900F900F90882309F462C07E01C7 -:10641000F5E1EF0EF11C40E150E060E470E0C701EF -:106420000E9400BFF80181818F9380818F938381C7 -:106430008F9382818F9382EE9DE09F938F93FF9243 -:10644000EF920E9426BF8E010B5F1F4F0FB6F8948C -:10645000DEBF0FBECDBFE2E0AE2EB12CF5E28F2E37 -:10646000FAE29F2E89819A818A159B05BCF0F8017A -:10647000808191810E5F1F4F9F938F939F928F9288 -:10648000FF92EF920E9426BFFFEFAF1ABF0A0F9054 -:106490000F900F900F900F900F90E4CF69EE71E185 -:1064A000C7010F94460F6D897E89CE0185960F94A2 -:1064B000480DAE014B5D5F4F60E070E08EE49DE201 -:1064C0000E94E71FCE0185960F94DA0CC7010F9446 -:1064D000DA0CC6010F94DA0C81E001C080E0AA96C4 -:1064E0000FB6F894DEBF0FBECDBFDF91CF911F91E5 -:1064F0000F91FF90EF90DF90CF90BF90AF909F9063 -:106500008F900895EF92FF920F931F93CF93DF9395 -:1065100000D01F92CDB7DEB77C018A01FA016481F9 -:106520007581615071094CE2C8010F948C100F9471 -:1065300006059F938F937F936F9389EF9DE09F93C1 -:106540008F931F930F930E9426BFA8016FEE7EEBDF -:1065500081E19CE20E94EF30F801808191819A8371 -:106560008983848195819C838B83BE016F5F7F4F7C -:10657000C7010E94142F0FB6F894DEBF0FBECDBF27 -:10658000C7010F900F900F900F90DF91CF911F9147 -:106590000F91FF90EF900895EF92FF920F931F934A -:1065A000CF93DF93CDB7DEB7A9970FB6F894DEBFD0 -:1065B0000FBECDBF8091162C811112C0A0919D2DD0 -:1065C000B0919E2D1097B1F11296ED91FC91139719 -:1065D0000488F589E02DCD0102961995882351F1A3 -:1065E0008E010E5D1F4F41E050E060E470E0C80195 -:1065F0000E9400BF19A2CE0101967C01BC018DE76B -:106600009BE20E94801DFF92EF928EEF9DE09F9390 -:106610008F931F930F930E9426BFC8010E94782B6F -:10662000C8010F94DA0C0F900F900F900F900F90FD -:106630000F900AC08091112C882331F06DE67CE028 -:1066400083E496E40F94760BA9960FB6F894DEBF18 -:106650000FBECDBFDF91CF911F910F91FF90EF90B3 -:106660000895FC0165836623D1F067EA79E1069617 -:106670000F94D80D4CED5BE263E08DE79BE20E9446 -:10668000771F6FEE7EEB8DE79BE20E947B1F60E041 -:1066900070E08DE79BE20E947B1F0C94CC32089542 -:1066A000AF92BF92CF92DF92EF92FF920F931F9320 -:1066B000CF93DF93CDB7DEB728970FB6F894DEBF40 -:1066C0000FBECDBFF82EE92ED62EC72EB42EA52E86 -:1066D00041E050E060E870E08E010F5F1F4FC8019D -:1066E0000E9400BFAF92BF92CF92DF92EF92FF92D3 -:1066F0008DE19EE09F938F931F930F930E9426BF7F -:10670000C8010E94782BC8010F94DA0C0FB6F894D8 -:10671000DEBF0FBECDBF28960FB6F894DEBF0FBE0A -:10672000CDBFDF91CF911F910F91FF90EF90DF9040 -:10673000CF90BF90AF900895CF93DF93EC018091FD -:10674000112C882331F062EC7CE083E496E40F9412 -:10675000360B99898091112C911120C0882331F03A -:106760006AEB7CE083E496E40F94760B20918B2C0B -:1067700030918C2C8091912C9091922C821B930BB8 -:106780008536910508F440C02C593F4F30938C2C2E -:1067900020938B2CDF91CF910C94B12A2091892CDE -:1067A00030918A2C2F5F3F4F30938A2C2093892C75 -:1067B00024303105E4F0882369F062EB7CE083E467 -:1067C00096E40F94360B4AE050E0698983E496E43E -:1067D0000F94950C6091742C7091752C49E55EE0D6 -:1067E0008091952C9091962C0E9450330DC0882357 -:1067F00031F06CEA7CE083E496E40F94760BCE01F2 -:10680000DF91CF910C941CF21092962C1092952C43 -:1068100060E070E08DE89CE2DF91CF910D94D80D9F -:106820002F923F924F925F926F927F928F929F92A0 -:10683000AF92BF92CF92DF92EF92FF920F931F938E -:10684000CF93DF93CDB7DEB7C655D1090FB6F89415 -:10685000DEBF0FBECDBF1C018DE79BE20E948022F0 -:10686000882309F45DC28091162C8823A9F0009139 -:106870001B2C10911C2C67E17CE28CE69CE20F94AF -:106880003F0F67EA79E187E19CE20F94D80D10167B -:1068900011060CF44AC039C1A0919D2DB0919E2DD6 -:1068A000109709F432C11296ED91FC911397048070 -:1068B000F581E02DCD0102961995892B09F425C1AA -:1068C00060919D2D70919E2D6E5F7F4F40E850E04E -:1068D0008CE69CE20E949BBF181619060CF015C1AD -:1068E0000E94AE2D2A962FAF2A972B963FAF2B975B -:1068F0002C964FAF2C972D965FAF2D972E966FAF9E -:106900002E972F967FAF2F9760968FAF60972D961B -:106910008CAD9DADAEADBFAD2D978093122C9093F5 -:10692000132CA093142CB093152C8E010F5B1F4FCA -:106930006AE08CE69CE20F9405116C0197FDE5C0BE -:106940008091112CC114D10409F4CDC0882361F0C9 -:106950006EE57DE083E496E40F94360B6CE67CE212 -:1069600083E496E40F94880B20E230E0AE014F5FA1 -:106970005F4FB60180916C2C90916D2C0F94D501D6 -:10698000892B09F0A9C0A0906C2CB0906D2CC60189 -:106990000F942F197C01A601B5010F94231EAE019F -:1069A0004F5F5F4FB70185E69EE00F94BC015C012D -:1069B0008091112C882329F0B50183E496E40F948B -:1069C0009A0B6FEB72E1C5010F94501E892B79F47D -:1069D00068E27DE0C8010F940A0FA80160E070E052 -:1069E0008EE49DE20E94E71FC8010F94DA0C67EA6B -:1069F0007CE1C5010F94501E892B09F069C0AE01DE -:106A00004F5F5F4FB7018AE69EE00F94BC010F9481 -:106A1000131D5C01AE014F5F5F4FB70183EF94E13F -:106A20000F94BC014AE050E060E070E00F94F61B68 -:106A30002B013C01AE014F5F5F4FB70187EA9CE13C -:106A40000F94BC014C01AE014F5F5F4FB7018AE666 -:106A50009EE00F94BC01DC018C91882349F0411425 -:106A600051046104710421F08114910409F0CEC035 -:106A70008091112C882361F16EEF7CE083E496E431 -:106A80000F94760B69EF7CE083E496E40F94360B69 -:106A90004AE050E0B50183E496E40F94B20C64EF51 -:106AA0007CE083E496E40F94360B2AE030E0B301F7 -:106AB000A20183E496E40F94C80C6AEE7CE083E4C0 -:106AC00096E40F94360BB40183E496E40F949A0B8A -:106AD000C7010F94C7190FC08091112C882359F05A -:106AE0006CE47DE004C0882331F063E47DE083E45E -:106AF00096E40F94760BA6014F5F5F4F60E070E065 -:106B00008CE69CE20F94AB1213CF0E94AE2D6196DF -:106B10002FAF619762963FAF629763964FAF6397CF -:106B200064965FAF649765966FAF659766967FAF23 -:106B3000669767968FAF679764968CAD9DADAEAD47 -:106B4000BFAD6497F1014181528163817481841BDF -:106B5000950BA60BB70B8D329140A105B10508F43A -:106B6000DFC0D1018C91882391F10E94AE2D229635 -:106B70002FAF229723963FAF239724964FAF2497AA -:106B800025965FAF259726966FAF269727967FAFFE -:106B9000279728968FAF289725964CAD5DAD6EADA3 -:106BA0007FAD2597F10181819281A381B481481B3A -:106BB000590B6A0B7B0B2AE030E083E496E40F94D8 -:106BC000810C66E77DE083E496E40F94760B0E94E7 -:106BD000AE2D29833A834B835C836D837E838F83C1 -:106BE00089819A81AB81BC81CC97A109B109F1015E -:106BF00081839283A383B48380919D2D90919E2D58 -:106C0000009709F48DC00E945E868AC08DE79BE2E2 -:106C10000E949E1FA816B90609F05AC0B401C80107 -:106C20000F94480D64961FAE1EAE6497EDEAFEE029 -:106C30006296FFAFEEAF629784E69CE266969FAFE6 -:106C40008EAF6697A801BE01605B7F4F8EE49DE228 -:106C50000E94E71FC8010F94DA0C41E050E060E0A9 -:106C600070E0C8010E9400BF7F926F925F924F92C6 -:106C7000BF92AF92ADE6BEE0BF93AF931F930F9369 -:106C80000E9426BF4091682C5091692C6091642C21 -:106C90007091652C21E0C8010E94DCBF6AE17EE0B2 -:106CA000C8010F94460FC8010E94782B60E070E085 -:106CB00084E69CE20F94D80DC7010F94C719C80150 -:106CC0000F94DA0C0FB6F894DEBF0FBECDBF13CF12 -:106CD0008091952C9091962C892B51F0C7010F949F -:106CE000C71944EA5EE0B201C5010E94503303CFE8 -:106CF0005092752C4092742CB092962CA092952CA8 -:106D0000B4018DE89CE20F94D80D10928C2C109257 -:106D10008B2C10928A2C1092892C0E94B12AD8CEEA -:106D2000CA5ADF4F0FB6F894DEBF0FBECDBFDF915A -:106D3000CF911F910F91FF90EF90DF90CF90BF9078 -:106D4000AF909F908F907F906F905F904F903F900B -:106D50002F9008950F9300E020E040E060E08BEF7B -:106D60009CE20F94C30A40E150E060E070E083EFE2 -:106D70009CE20E9400BF41E050E060E070E082EDE4 -:106D80009CE20E9400BF41E050E060E070E08DE8CE -:106D90009CE20E9400BF41E050E060E070E08CE6C1 -:106DA0009CE20E9400BF41E050E060E070E084E6B9 -:106DB0009CE20F910C9400BF0C94832C8091662D63 -:106DC0009091672DA091682DBC018A2F90E00895C5 -:106DD0006091622D7091632D8091642D9091652D4D -:106DE00008956091512D7091522D719561957109A1 -:106DF000882777FD8095982F08956091532D709185 -:106E0000542D882777FD8095982F08956091552DF2 -:106E10007091562D882777FD8095982F089561E011 -:106E200070E080E090E0089560E070E0CB010895AC -:106E30006CEF7FEF8FEF9FEF08956FEF7FEFCB0148 -:106E4000089560E070E0CB01089561E070E080E0BB -:106E500090E0089562E070E080E090E0089563E0E3 -:106E600070E080E090E0089561E070E080E090E004 -:106E70000E941EDF21E0672B682B692B09F420E0BC -:106E80002093032C61E070E080E090E0089560E0E2 -:106E900070E0CB010E941EDF672B682B692B39F055 -:106EA00061E070E080E090E00E941EDF01C065E0DC -:106EB0006093232C70E080E090E0089560E070E043 -:106EC000CB010E941EDF672B682B692B79F061E0F4 -:106ED00070E080E090E00E941EDF21E061307105EB -:106EE0008105910509F020E0822F01C081E08093A7 -:106EF000502D61E070E080E090E008956F927F9205 -:106F00008F929F92AF92BF92CF92DF92EF92FF92B9 -:106F10000F931F93CF93DF93CDB7DEB727970FB6AD -:106F2000F894DEBF0FBECDBF782E692E09831A8379 -:106F30002B833C834D835E836F83C980DA80EB8033 -:106F4000FC808D819E81AF81AC016A2F1F926F936F -:106F50005F938F938CE3882E912CA12CB12CC701C9 -:106F6000B601A50194010F9481177F936F93CA0115 -:106F7000B901A50194010F9481177F936F93C70105 -:106F8000B60120E13EE040E050E00F948117CA01D5 -:106F9000B90128E130E040E050E00F9481177F9381 -:106FA0006F93C701B60120E831E541E050E00F944E -:106FB00081173F932F9381EB9EE09F938F936F9266 -:106FC0007F920E9426BF0FB6F894DEBF0FBECDBFE2 -:106FD00027960FB6F894DEBF0FBECDBFDF91CF91DD -:106FE0001F910F91FF90EF90DF90CF90BF90AF90E7 -:106FF0009F908F907F906F9008952F923F924F9225 -:107000005F926F927F928F929F92AF92BF92CF9238 -:10701000DF92EF92FF920F931F93CF93DF93CDB741 -:10702000DEB72C970FB6F894DEBF0FBECDBF7C0144 -:1070300041E050E064E670E08E010F5F1F4FC80131 -:107040000E9400BF88EE90E30E94FEBB9C0188EE88 -:1070500090E32B873C870E94FABB382E292E88EEBE -:1070600090E30E94F6BB582E492E88EE90E30E94D2 -:10707000BEBB782E692E88EE90E30E94BABB982E94 -:10708000892E88EE90E30E94B6BBB82EA92E40E070 -:1070900050E0BA018DEF96E10E945990D82EC92E8A -:1070A00040E050E0BA0186E091E20E945990898761 -:1070B0009A8740E050E0BA0186E091E20E94599040 -:1070C0003C853F932B852F932F923F924F925F9257 -:1070D0006F927F928F929F92AF92BF92CF92DF92E8 -:1070E0002A852F9329852F939F938F9381EE9EE07E -:1070F0009F938F931F930F930E9426BFA80161E176 -:107100007CE2C7010E948232C8010F94DA0C0FB6EC -:10711000F894DEBF0FBECDBFC7012C960FB6F89412 -:10712000DEBF0FBECDBFDF91CF911F910F91FF90BA -:10713000EF90DF90CF90BF90AF909F908F907F9017 -:107140006F905F904F903F902F900895CF93DF9373 -:10715000CDB7DEB728970FB6F894DEBF0FBECDBF10 -:10716000CE0101960E94FD37CE0101960E940BDAF6 -:10717000CE0101960F94DA0C61E070E080E090E0BF -:1071800028960FB6F894DEBF0FBECDBFDF91CF912A -:107190000895CF92DF92EF92FF920F931F93CF93B8 -:1071A000DF93CDB7DEB728970FB6F894DEBF0FBEDA -:1071B000CDBF7C0141E050E064E670E08E010F5FDE -:1071C0001F4FC8010E9400BF40E050E0BA0188E5AF -:1071D0009CE10E945990D82EC92E40E050E0BA019F -:1071E00086E09FE00E945990CF92DF929F938F9309 -:1071F00080E19FE09F938F931F930F930E9426BF80 -:1072000062EA7FE0C8010F94460FA80161E17CE2C9 -:10721000C7010E948232C8010F94DA0C0FB6F894AD -:10722000DEBF0FBECDBFC70128960FB6F894DEBFF4 -:107230000FBECDBFDF91CF911F910F91FF90EF90C7 -:10724000DF90CF900895CF93DF93CDB7DEB7289727 -:107250000FB6F894DEBF0FBECDBFCE0101960E94DF -:10726000C938CE0101960E940BDACE0101960F9427 -:10727000DA0C61E070E080E090E028960FB6F894B8 -:10728000DEBF0FBECDBFDF91CF9108958DE79BE2AA -:107290000E942721682F772767FD7095872F972FEA -:1072A00008958DE79BE20E942521682F772767FDCF -:1072B0007095872F972F08955F926F927F928F928C -:1072C0009F92AF92BF92CF92DF92EF92FF920F9375 -:1072D0001F93CF93DF93CDB7DEB728970FB6F894FF -:1072E000DEBF0FBECDBF7C0141E050E064E670E040 -:1072F0008E010F5F1F4FC8010E9400BF8DE79BE208 -:107300000E94581D582E8DE79BE20E942721C82E0F -:107310008DE79BE20E942521D82E40E050E0BA0183 -:1073200086E995E10E945990782E692E40E050E060 -:10733000BA0182E795E10E945990982E892E40E08B -:1073400050E0BA0181E793E10E945990B82EA92E2E -:1073500040E050E0BA018CE19FE00E945990252D59 -:10736000332727FD30953F935F922C2D332727FD40 -:1073700030953F93CF922D2D332727FD30953F93A6 -:10738000DF926F927F928F929F92AF92BF929F9364 -:107390008F9381E29FE09F938F931F930F930E949F -:1073A00026BFA80161E17CE2C7010E948232C801C8 -:1073B0000F94DA0C0FB6F894DEBF0FBECDBFC70135 -:1073C00028960FB6F894DEBF0FBECDBFDF91CF91E8 -:1073D0001F910F91FF90EF90DF90CF90BF90AF90F3 -:1073E0009F908F907F906F905F900895CF93DF93E1 -:1073F000CDB7DEB728970FB6F894DEBF0FBECDBF6E -:10740000CE0101960E945C39CE0101960E940BDAF2 -:10741000CE0101960F94DA0C61E070E080E090E01C -:1074200028960FB6F894DEBF0FBECDBFDF91CF9187 -:1074300008958DE79BE20E947B22682F70E080E038 -:1074400090E008958DE79BE20E94D520682F70E0C0 -:1074500080E090E008958DE79BE20E94EF20BC0160 -:10746000882777FD8095982F08958DE79BE20E94ED -:10747000DE20BC01882777FD8095982F08952F92F4 -:107480003F924F925F926F927F928F929F92AF92B4 -:10749000BF92CF92DF92EF92FF920F931F93CF9301 -:1074A000DF93CDB7DEB72C970FB6F894DEBF0FBED3 -:1074B000CDBF6C0141E050E064E670E08E010F5FEB -:1074C0001F4FC8010E9400BF8DE79BE20E947B22F4 -:1074D000882329F020E2E22E2DE0F22E04C095E26E -:1074E000E92E9DE0F92E8DE79BE20E94D5208823AE -:1074F00019F020E23DE002C025E23DE08DE79BE28D -:107500002B873C870E94EF2089879A878DE79BE233 -:107510000E94DE20382E292E40E050E0BA0189EC8E -:1075200093E10E945990582E492E40E050E0BA0154 -:1075300085E392E10E945990782E692E40E050E058 -:10754000BA0189EA93E10E945990982E892E40E071 -:1075500050E0BA018DE893E10E945990B82EA92E0F -:1075600040E050E0BA018FE394E10E945990FF920D -:10757000EF922B853C853F932F932A852F93298566 -:107580002F932F923F924F925F926F927F928F92A2 -:107590009F92AF92BF929F938F938CE39FE09F93B4 -:1075A0008F931F930F930E9426BFA80161E17CE295 -:1075B000C6010E948232C8010F94DA0C0FB6F8940B -:1075C000DEBF0FBECDBFC6012C960FB6F894DEBF4E -:1075D0000FBECDBFDF91CF911F910F91FF90EF9024 -:1075E000DF90CF90BF90AF909F908F907F906F90E3 -:1075F0005F904F903F902F900895CF93DF93CDB73A -:10760000DEB728970FB6F894DEBF0FBECDBFCE0110 -:1076100001960E943F3ACE0101960E940BDACE01FC -:1076200001960F94DA0C61E070E080E090E028961B -:107630000FB6F894DEBF0FBECDBFDF91CF91089596 -:107640002F923F924F925F926F927F928F929F9272 -:10765000AF92BF92CF92DF92EF92FF920F931F9360 -:10766000CF93DF93CDB7DEB768970FB6F894DEBF40 -:107670000FBECDBF7C0141E050E064E670E08E01BA -:107680000F5F1F4FC8010E9400BFE9EDFBE22081A0 -:1076900029873181E7EDFBE220812A8721812B8731 -:1076A000E5EDFBE220812C8721812D87E3EDFBE2D4 -:1076B00020812E8721812F87E1EDFBE22081288B1D -:1076C0002181298BEFECFBE220812A8B21812B8BFE -:1076D000EDECFBE220812C8B21812D8BEBECFBE28E -:1076E00020812E8B21816FE18DE79BE2288F3F8BDC -:1076F0000E941923682E6EE18DE79BE20E941923F8 -:10770000782E6DE18DE79BE20E941923882E6CE1B3 -:107710008DE79BE20E941923982E6BE18DE79BE297 -:107720000E941923A82E6AE18DE79BE20E9419238B -:10773000B82E69E18DE79BE20E941923C82E68E10B -:107740008DE79BE20E941923D82E40E050E0BA0159 -:107750008DE59FE00E945990382E292E40E050E0A0 -:10776000BA0188EB97E10E945990582E492E40E0CB -:1077700050E0BA0184E298E10E9459903F893F931A -:1077800039853F933B853F933A853F933D853F93B2 -:107790003C853F933F853F933E853F9339893F9397 -:1077A00038893F933B893F933A893F933D893F9383 -:1077B0003C893F93288D2F932E892F93262D332795 -:1077C00027FD30953F936F92272D332727FD309566 -:1077D0003F937F92282D332727FD30953F938F923B -:1077E000292D332727FD30953F939F922A2D33274C -:1077F00027FD30953F93AF922B2D332727FD3095F2 -:107800003F93BF922C2D332727FD30953F93CF9286 -:107810002D2D332727FD30953F93DF922F923F92F6 -:107820004F925F929F938F9383E69FE09F938F93F6 -:107830001F930F930E9426BF0FB6F894DEBF0FBEB2 -:10784000CDBFA80161E17CE2C7010E948232C8017C -:107850000F94DA0CC70168960FB6F894DEBF0FBE1E -:10786000CDBFDF91CF911F910F91FF90EF90DF90EF -:10787000CF90BF90AF909F908F907F906F905F90D0 -:107880004F903F902F900895CF93DF93CDB7DEB701 -:1078900028970FB6F894DEBF0FBECDBFCE0101967C -:1078A0000E94203BCE0101960E940BDACE01019688 -:1078B0000F94DA0C61E070E080E090E028960FB65B -:1078C000F894DEBF0FBECDBFDF91CF9108952F9208 -:1078D0003F924F925F926F927F928F929F92AF9260 -:1078E000BF92CF92DF92EF92FF920F931F93CF93AD -:1078F000DF93CDB7DEB765970FB6F894DEBF0FBE46 -:10790000CDBF7C0141E050E064E670E08E010F5F86 -:107910001F4FC8010E9400BFEBEAFBE220813181CA -:10792000E9EAFBE28081898791819A87E7EAFBE2B5 -:1079300080818B8791819C87E5EAFBE280818D873E -:1079400091819E87E3EAFBE280818F879181988B0A -:10795000E1EAFBE28081898B91819A8BEFE9FBE27E -:1079600080818B8B218068E08DE79BE22C8B3D8BA7 -:107970000E941923782E67E08DE79BE20E9419236D -:10798000882E66E08DE79BE20E941923982E65E021 -:107990008DE79BE20E941923A82E64E08DE79BE20D -:1079A0000E941923B82E63E08DE79BE20E94192301 -:1079B000C82E62E08DE79BE20E941923D82E40E09A -:1079C00050E0BA018DE59FE00E945990482E392E73 -:1079D00040E050E0BA0188EB97E10E945990682E90 -:1079E000592E40E050E0BA0181E198E10E9459909F -:1079F0003D893F932C892F932A852F9329852F9397 -:107A00002C852F932B852F932E852F932D852F93A8 -:107A100028892F932F852F932A892F9329892F9394 -:107A20002F922B892F93272D332727FD30953F93B6 -:107A30007F92282D332727FD30953F938F92292D54 -:107A4000332727FD30953F939F922A2D332727FD1B -:107A500030953F93AF922B2D332727FD30953F93E1 -:107A6000BF922C2D332727FD30953F93CF922D2D9C -:107A7000332727FD30953F93DF923F924F925F92DD -:107A80006F929F938F9386EA9FE09F938F931F93AC -:107A90000F930E9426BF0FB6F894DEBF0FBECDBF76 -:107AA000A80161E17CE2C7010E948232C8010F9403 -:107AB000DA0CC70165960FB6F894DEBF0FBECDBFD6 -:107AC000DF91CF911F910F91FF90EF90DF90CF90BA -:107AD000BF90AF909F908F907F906F905F904F90EE -:107AE0003F902F900895CF93DF93CDB7DEB72897BF -:107AF0000FB6F894DEBF0FBECDBFCE0101960E9437 -:107B0000673CCE0101960E940BDACE0101960F94DC -:107B1000DA0C61E070E080E090E028960FB6F8940F -:107B2000DEBF0FBECDBFDF91CF910895EF92FF92E0 -:107B30000F931F93CF93DF93CDB7DEB728970FB680 -:107B4000F894DEBF0FBECDBF88EE90E30E94BEBBAF -:107B5000F82EE92E88EE90E30E94BABB182F092F69 -:107B600088EE90E30E94B6BBEF92FF920F931F93B3 -:107B70009F938F9383EE9FE09F938F931F9288E054 -:107B80008F938E010F5F1F4F1F930F930F94351F1D -:107B9000C8010E9407DA0F940605AB01BC01C801B9 -:107BA0000E945990BC01882777FD8095982F0FB6C9 -:107BB000F894DEBF0FBECDBF28960FB6F894DEBF97 -:107BC0000FBECDBFDF91CF911F910F91FF90EF902E -:107BD00008958F929F92AF92BF92CF92DF92EF92D1 -:107BE000FF920F931F9363E070E080E090E00E94AB -:107BF0001EDF6B017C0162E070E080E090E00E949B -:107C00001EDF4B015C0161E070E080E090E00E94CB -:107C10001EDFAB01BC01950184018DE79BE20E9450 -:107C2000BA2261E070E080E090E01F910F91FF9038 -:107C3000EF90DF90CF90BF90AF909F908F9008957E -:107C400081E08093042C8DE79BE20E94A6228DE7C1 -:107C50009BE20E94AE228DE79BE20E94B62261E089 -:107C600070E080E090E008951092042C8DE79BE294 -:107C70000E94A2228DE79BE20E94AA228DE79BE24E -:107C80000E94B22261E070E080E090E0089561E03F -:107C900070E080E090E00E941EDF21E0672B682BFF -:107CA000692B09F420E0622F81E19CE20E94A22E60 -:107CB00061E070E080E090E0089561E070E080E0D5 -:107CC00090E00E941EDF21E0672B682B692B09F4EE -:107CD00020E0622F81E19CE20E94A22E61E070E030 -:107CE00080E090E00E941EDF21E0672B682B692B6B -:107CF00009F420E020934D2D61E070E080E090E0F9 -:107D00000E941EDF21E0672B682B692B09F420E01D -:107D100020934F2D61E070E080E090E00E941EDF34 -:107D200021E0672B682B692B09F420E02093032CBA -:107D300061E070E080E090E00895CF93DF93CDB7ED -:107D4000DEB7A1970FB6F894DEBF0FBECDBFBE0160 -:107D50006F5F7F4F8DE79BE20E94801D19A2CE01CD -:107D600001960E9407DA0F940605AB01BC01CE0113 -:107D700001960E945990BC01882777FD8095982F25 -:107D8000A1960FB6F894DEBF0FBECDBFDF91CF91A5 -:107D900008950F931F93CF93DF9300D000D0CDB7FA -:107DA000DEB76AEC7FE1CE0101960F940A0FCE0197 -:107DB00001960E940BDACE0101960F94DA0C6BEB60 -:107DC0007FE1CE0101960F940A0FCE0101960E9429 -:107DD0000BDACE0101960F94DA0C0091702E1091FF -:107DE000712E0115110529F1D80112968C91882365 -:107DF00019F080EF9FE002C08BEF9FE00E94CCD88B -:107E0000D801ED91FC910480F581E02DC801199510 -:107E1000BC01CE0101960F940A0FCE0101960E947B -:107E20000BDACE0101960F94DA0CF801038114816C -:107E3000D8CF61E070E080E090E026960FB6F8942D -:107E4000DEBF0FBECDBFDF91CF911F910F9108957F -:107E50008DE79BE20E94A71D8DE79BE20E94952281 -:107E600008958DE79BE20E94952208958DE79BE29D -:107E70000E94561F61E070E080E090E008958DE779 -:107E80009BE20E948022682F70E080E090E00895DD -:107E90002F923F924F925F926F927F928F929F921A -:107EA000AF92BF92CF92DF92EF92FF920F931F9308 -:107EB000CF93DF93CDB7DEB76C970FB6F894DEBFE4 -:107EC0000FBECDBF7C0141E050E064E670E0CE0122 -:107ED00001960E9400BF8DE79BE20E94AD1F182F04 -:107EE000092F8DE79BE20E94B11F6B877C878D87EE -:107EF0009E878DE79BE20E94A91F8F87988B8DE755 -:107F00009BE20E94AC1D698B7A8B8B8B9C8B8DE7DF -:107F10009BE20E94B01D8D8B9E8B8DE79BE20E94A1 -:107F2000B41D89878DE79BE20E94B81D8A878DE783 -:107F30009BE20E948022882319F020E23DE002C0EB -:107F400025E23DE040E050E0BA0186E090E12B8F71 -:107F50003C8F0E9459908F8B988F40E050E0BA017F -:107F60008FE090E10E945990382E292E40E050E099 -:107F7000BA0185E190E10E945990582E492E40E0C7 -:107F800050E0BA018CE190E10E945990782E692E60 -:107F900040E050E0BA0183E290E10E945990982EAF -:107FA000892E40E050E0BA018AE290E10E945990A7 -:107FB000B82EA92E40E050E0BA0183E390E10E9480 -:107FC0005990D82EC92E40E050E0BA018BE390E1E1 -:107FD0000E945990898F9A8F40E050E0BA0187E162 -:107FE00095E10E9459900F931F934E854F934D85B5 -:107FF0004F934C854F934B854F9348894F934F85B3 -:108000004F934C894F934B894F934A894F9349899A -:108010004F934E894F934D894F931F9249854F93AC -:108020001F924A854F932B8D3C8D3F932F93288D24 -:108030002F932F892F932F923F924F925F926F929F -:108040007F928F929F92AF92BF92CF92DF922A8DB2 -:108050002F93298D2F939F938F9380E490E19F938B -:108060008F938E010F5F1F4F1F930F930E9426BFA8 -:108070000FB6F894DEBF0FBECDBFA80161E17CE270 -:10808000C7010E948232C8010F94DA0CC7016C96B6 -:108090000FB6F894DEBF0FBECDBFDF91CF911F9119 -:1080A0000F91FF90EF90DF90CF90BF90AF909F9097 -:1080B0008F907F906F905F904F903F902F9008959A -:1080C000CF93DF93CDB7DEB728970FB6F894DEBF16 -:1080D0000FBECDBFCE0101960E94483FCE01019652 -:1080E0000E940BDACE0101960F94DA0C61E070E089 -:1080F00080E090E028960FB6F894DEBF0FBECDBFAB -:10810000DF91CF910895AF92BF92CF92DF92EF921D -:10811000FF920F931F93CF93DF935C016B01EA01F2 -:10812000F12C8F2D90E08C159D05B8F4F501E80F2A -:10813000F91F608170E080E090E030E3E32E02E020 -:1081400010E020E030E040E10E941FDA209719F0B3 -:10815000CE010E94CCD8F394E4CFDF91CF911F9150 -:108160000F91FF90EF90DF90CF90BF90AF90089568 -:108170000F931F93CF93DF93CDB7DEB727970FB63B -:10818000F894DEBF0FBECDBF8091892D81110FC045 -:108190006AE67CE1CE0101960F940A0FCE010196AA -:1081A0000E940BDACE0101960F94DA0C64C01F8294 -:1081B0008F819091892D891708F05DC00091872DDE -:1081C0001091882D92E1899F000D111D112440E02E -:1081D00050E061E070E0CE0107960E94834067E6C0 -:1081E0007CE1CE0101960F940A0FCE0101960E9408 -:1081F000D8D8CE0101960F94DA0CC8010E94F28102 -:10820000009779F464E57CE1CE0101960F940A0FA2 -:10821000CE0101960E94D8D8CE0101960F94DA0CB7 -:1082200003C005960E94CCD861E57CE1CE010196A1 -:108230000F940A0FCE0101960E94D8D8CE01019664 -:108240000F94DA0C40E050E068E070E0C8010E9452 -:1082500083406FE47CE1CE0101960F940A0FCE01BA -:1082600001960E940BDACE0101960F94DA0C8F81F1 -:108270008F5F8F839DCF60E070E0CB0127960FB6B4 -:10828000F894DEBF0FBECDBFDF91CF911F910F914C -:108290000895AF92BF92CF92DF92EF920F931F9308 -:1082A000CF93DF9300D000D0CDB7DEB761E070E0B0 -:1082B00080E090E00E941EDF97FD0AC00091892DAA -:1082C00010E020E030E0601771078207930794F018 -:1082D00061EC7DE1CE0101960F940A0FCE0101966B -:1082E0000E940BDACE0101960F94DA0C60E070E088 -:1082F000CB011EC122E1269F8001279F100D112472 -:108300008091872D9091882D800F911F0E94F2817E -:108310005C01C090872DD090882DC00ED11E61EBDE -:108320007DE1CE0101960F940A0FCE0101960E94C5 -:10833000D8D8CE0101960F94DA0CC50105960E949B -:1083400007DA60EA7DE1CE0101960F940A0FCE01B3 -:1083500001960E94D8D8CE0101960F94DA0CF6014E -:108360006281718180E090E040E3E42E02E010E061 -:1083700020E030E040E10E941FDA0E94B7D96FE8A8 -:108380007DE1CE0101960F940A0FCE0101960E9465 -:10839000D8D8CE0101960F94DA0CF6011381812F03 -:1083A00082958F700E9424D96DE87DE1CE010196FF -:1083B0000F940A0FCE0101960E94D8D8CE010196E3 -:1083C0000F94DA0C812F8F700E940FDA6BE77DE13A -:1083D000CE0101960F940A0FCE0101960E94D8D8C3 -:1083E000CE0101960F94DA0CF6017581668102E0E8 -:1083F00010E020E030E040E1848190E00E941FDA4C -:108400000E94B7D96BE57DE1CE0101960F940A0F6A -:10841000CE0101960E94D8D8CE0101960F94DA0CB5 -:10842000F60180810E9424D968E57DE1CE010196A4 -:108430000F940A0FCE0101960E940BDACE0101962D -:108440000F94DA0C68E37DE1CE0101960F940A0FD8 -:10845000CE0101960E94D8D8CE0101960F94DA0C75 -:10846000F50183810E940FDA60E27DE1CE01019681 -:108470000F940A0FCE0101960E94D8D8CE01019622 -:108480000F94DA0CF50180810E9424D96DE17DE121 -:10849000CE0101960F940A0FCE0101960E940BDACD -:1084A000CE0101960F94DA0C6FE07DE1CE010196CA -:1084B0000F940A0FCE0101960E94D8D8CE010196E2 -:1084C0000F94DA0CF50181810E9424D968E07DE1E6 -:1084D000CE0101960F940A0FCE0101960E940BDA8D -:1084E000CE0101960F94DA0C6AEF7CE1CE01019681 -:1084F0000F940A0FCE0101960E94D8D8CE010196A2 -:108500000F94DA0CF50182810E9424D963EF7CE19B -:10851000CE0101960F940A0FCE0101960E940BDA4C -:10852000CE0101960F94DA0C61E070E080E090E0FB -:1085300026960FB6F894DEBF0FBECDBFDF91CF9168 -:108540001F910F91EF90DF90CF90BF90AF90089563 -:108550007F928F929F92AF92BF92CF92DF92EF92D3 -:10856000FF920F931F93CF93DF9300D000D0CDB72E -:10857000DEB760E17CE1CE0101960F940A0FCE01D7 -:1085800001960E940BDACE0101960F94DA0C00E0FE -:1085900010E0C12CD12C7601C394702E6CE07CE1EC -:1085A000CE0101960F940A0FCE0101960E94D8D8F1 -:1085B000CE0101960F94DA0C602F8DE79BE20E94AA -:1085C0009523BC01CE0101960F940A0FCE010196AE -:1085D0000E94D8D8CE0101960F94DA0C62E07CE1BB -:1085E000CE0101960F940A0FCE0101960E94D8D8B1 -:1085F000CE0101960F94DA0C802F0E9424D966EFE9 -:108600007BE1CE0101960F940A0FCE0101960E94E4 -:10861000D8D8CE0101960F94DA0C602F8DE79BE23B -:108620000E941923B82E682F8DE79BE20E94A12398 -:10863000009719F46EEE7BE101C0BC01CE010196FA -:108640000F940A0FCE0101960E94D8D8CE01019650 -:108650000F94DA0C63EE7BE1CE0101960F940A0FC2 -:10866000CE0101960E94D8D8CE0101960F94DA0C63 -:10867000B7FE04C08DE20E9408D907C0672D8DE7C0 -:108680009BE20E944E230E945ED989E193E10E9401 -:10869000CCD8672D8DE79BE20E942423882371F0BC -:1086A00066ED7BE1CE0101960F940A0FCE01019693 -:1086B0000E94D8D8CE0101960F94DA0C872D0E9423 -:1086C00006798823C9F16AEC7BE1CE0101960F940B -:1086D0000A0FCE0101960E94D8D8CE0101960F94C0 -:1086E000DA0CB701A601002E04C0440F551F661F07 -:1086F000771F0A94D2F780905E2D90905F2DA09006 -:10870000602DB090612D482159216A217B21452B94 -:10871000462B472B19F068EC7BE102C066EC7BE14D -:10872000CE0101960F940A0FCE0101960E94D8D86F -:10873000CE0101960F94DA0C64EC7BE1CE01019638 -:108740000F940A0FCE0101960E94D8D8CE0101964F -:108750000F94DA0C8FE1781671F062EC7BE1CE01B8 -:1087600001960F940A0FCE0101960E94D8D8CE012F -:1087700001960F94DA0C0E94B7D90F5F1F4F003299 -:10878000110509F00ACF60EC7BE1CE0101960F9450 -:108790000A0FCE0101960E940BDACE0101960F94CA -:1087A000DA0C61E070E080E090E026960FB6F89475 -:1087B000DEBF0FBECDBFDF91CF911F910F91FF9014 -:1087C000EF90DF90CF90BF90AF909F908F907F9071 -:1087D000089588EE90E30E9437BB682F70E080E038 -:1087E00090E0089588EE90E30E9499BC61E070E00B -:1087F00080E090E00895CF92DF92EF92FF920F9386 -:108800001F93CF93DF93CDB7DEB764970FB6F8947D -:10881000DEBF0FBECDBF8DE79BE20E94371D1982E0 -:108820008E010F5F1F4F60E7E62E63E1F62EFC011D -:1088300024916C01FFEFCF1ADF0A2223C9F0D8017F -:108840000D900020E9F7822F992787FD90959F933F -:108850002F93FF92EF921197BF93AF930F94721FD4 -:10886000C6010F900F900F900F900F900F90DFCFD9 -:1088700040E050E0BA01C8010E945990BC0188272D -:1088800077FD8095982F64960FB6F894DEBF0FBEE3 -:10889000CDBFDF91CF911F910F91FF90EF90DF90AF -:1088A000CF9008950F94001B882777FD8095982F0F -:1088B00008954F925F926F927F928F929F92AF92A4 -:1088C000BF92CF92DF92EF92FF920F931F93CF93BD -:1088D000DF93CDB7DEB760970FB6F894DEBF0FBE5B -:1088E000CDBF8E01075F1F4F41E050E064E670E0AE -:1088F000C8010E9400BF0E948CBE7C010E94DABEAB -:10890000582E492E0E9467BE782E692E40E050E016 -:10891000BA018BE391E10E945990982E892E40E094 -:1089200050E0BA0181E899E10E945990B82EA92E31 -:1089300040E050E0BA018FE790E10E945990D82EB4 -:10894000C92E40E050E0BA0184E890E10E945990BD -:108950004F925F92FF92EF926F927F928F929F92CF -:10896000AF92BF92CF92DF929F938F9381E29FE06D -:108970009F938F931F930F930E9426BFA80161E1DD -:108980007CE2CE0101960E948232CE0101960E94C5 -:108990000BDACE0101960F94DA0CC8010F94DA0CB1 -:1089A000B701882777FD8095982F0FB6F894DEBF22 -:1089B0000FBECDBF60960FB6F894DEBF0FBECDBF21 -:1089C000DF91CF911F910F91FF90EF90DF90CF90AB -:1089D000BF90AF909F908F907F906F905F904F90DF -:1089E00008959F92AF92BF92CF92DF92EF92FF9243 -:1089F0000F931F93CF93DF93B82E6B018A017901F8 -:108A000083E190E00F942F19EC018EE0FE011192AA -:108A10008A95E9F7BB2011F083E001C082E18987E4 -:108A2000DE82CD828DE29DE5988B8F8782E08F83F9 -:108A30008887F80101900020E9F7CF010197801B9A -:108A4000910BF70101900020E9F73197EE19FF092A -:108A50008E0F9F1F02960F942F195C019D878C87A4 -:108A6000F80101900020E9F79E2E901A9E86B80129 -:108A70000F94591EB701C501890D911D0F94591E00 -:108A8000CE010E941CF280914F2D8823E1F166E710 -:108A900076E183E496E40F94360B4AE050E0B601A9 -:108AA00083E496E40F944F0C63E776E183E496E465 -:108AB0000F94360B4AE050E06E8583E496E40F9401 -:108AC0008E0C60E776E183E496E40F94360B6C85B8 -:108AD0007D8583E496E40F949A0B6AE676E183E45D -:108AE00096E40F94360BB70183E496E4DF91CF91BF -:108AF0001F910F91FF90EF90DF90CF90BF90AF90BC -:108B00009F900D949A0BDF91CF911F910F91FF9041 -:108B1000EF90DF90CF90BF90AF909F900895AF926D -:108B2000BF92CF92DF92EF92FF920F931F93CF935A -:108B3000DF9300D000D0CDB7DEB764EE71E1CE0197 -:108B400001960F940A0FCE0101960E94D8D8CE014B -:108B500001960F94DA0C0E94B7D90E9442F46C017E -:108B60008C01E12CF12CF80181819281019609F4AC -:108B700098C06CED71E1CE0101960F940A0FCE0101 -:108B800001960E94D8D8CE0101960F94DA0CF80114 -:108B9000808181700E9424D96EEC71E1CE01019632 -:108BA0000F940A0FCE0101960E94D8D8CE010196EB -:108BB0000F94DA0CF8018081869581700E9424D987 -:108BC00060EC71E1CE0101960F940A0FCE0101967F -:108BD0000E94D8D8CE0101960F94DA0CF80180815A -:108BE00082958F700E9424D962EB71E1CE010196CB -:108BF0000F940A0FCE0101960E94D8D8CE0101969B -:108C00000F94DA0CF801818192810E945ED964EAA6 -:108C100071E1CE0101960F940A0FCE0101960E94D8 -:108C2000D8D8CE0101960F94DA0CF8018381948193 -:108C30000E945ED967E971E1CE0101960F940A0F97 -:108C4000CE0101960E94D8D8CE0101960F94DA0C7D -:108C50005601AE0CBF1CF50185810E9424D96BE83A -:108C600071E1CE0101960F940A0FCE0101960E9488 -:108C7000D8D8CE0101960F94DA0CF50186810E94B6 -:108C800024D964E871E1CE0101960F940A0FCE0158 -:108C900001960E94D8D8CE0101960F94DA0C0E945A -:108CA000B7D9F7E0EF0EF11C095F1F4F2CE8E21671 -:108CB000F10409F058CF61E070E080E090E0269682 -:108CC0000FB6F894DEBF0FBECDBFDF91CF911F91DD -:108CD0000F91FF90EF90DF90CF90BF90AF900895ED -:108CE0008DE79BE20E949E1FBC0180E090E008950A -:108CF0002F923F924F925F926F927F928F929F92AC -:108D0000AF92BF92CF92DF92EF92FF920F931F9399 -:108D1000CF93DF93CDB7DEB72F970FB6F894DEBFB2 -:108D20000FBECDBF7C0141E050E064E670E09E01E3 -:108D30002F5F3F4F6901C9010E9400BF0E9442F4AA -:108D400020E030E000E010E0FC01E20FF31F418181 -:108D500052814F3F5F4F11F00F5F1F4F295F3F4F11 -:108D60002C38310589F78DE79BE20E94A61F282F3A -:108D70008DE79BE22F870E94A21F382E292E8DE7B8 -:108D80009BE20E949E1F582E492E40E050E0BA01FF -:108D90008FE394E10E945990782E692E40E050E0D4 -:108DA000BA0181E594E10E945990982E892E40E005 -:108DB00050E0BA018FE294E10E945990B82EA92E9A -:108DC00040E050E0BA018BE890E10E945990898719 -:108DD0009A8740E050E0BA0182E990E10E94599000 -:108DE0008B879C8740E050E0BA018AE990E10E94BD -:108DF0005990382F9D8740E050E0BA0182EA90E117 -:108E00003E870E9459901F922F852F931F930F9397 -:108E10002F923F924F925F926F927F928F929F928A -:108E2000AF92BF922A852F9329852F932C852F935C -:108E30002B852F932D852F933E853F939F938F9363 -:108E400087EA90E19F938F93DF92CF920E9426BF93 -:108E50008DE79BE20E94C71F0FB6F894DEBF0FBEDE -:108E6000CDBFFC0164918C010F5F1F4F662329F079 -:108E7000C6010F94560FC801F4CF6EEC70E1C60125 -:108E80000F94460F8DE79BE20E94B71FFC0164918F -:108E90008C010F5F1F4F662329F0C6010F94560FF8 -:108EA000C801F4CF69ED72E1C6010F94460FA60127 -:108EB00061E17CE2C7010E948232C6010F94DA0CA4 -:108EC000C7012F960FB6F894DEBF0FBECDBFDF915E -:108ED000CF911F910F91FF90EF90DF90CF90BF90B7 -:108EE000AF909F908F907F906F905F904F903F904A -:108EF0002F900895CF93DF93CDB7DEB728970FB6A5 -:108F0000F894DEBF0FBECDBFCE0101960E94784619 -:108F1000CE0101960E940BDACE0101960F94DA0C75 -:108F200061E070E080E090E028960FB6F894DEBF34 -:108F30000FBECDBFDF91CF910895CF93DF93CDB713 -:108F4000DEB761970FB6F894DEBF0FBECDBFBE018E -:108F50006F5F7F4F8DE79BE20E943F1F198ACE0112 -:108F600001960E9407DA0F940605AB01BC01CE0101 -:108F700001960E945990BC01882777FD8095982F13 -:108F800061960FB6F894DEBF0FBECDBFDF91CF91D3 -:108F900008958DE79BE20E94D22861E070E080E0B6 -:108FA00090E008958DE79BE20E94BE2861E070E0AA -:108FB00080E090E008958DE79BE20E94FA20682F00 -:108FC00070E080E090E00895CF92DF92EF92FF9200 -:108FD0000F931F93CF93DF9300D000D0CDB7DEB7B0 -:108FE00061E070E080E090E00E941EDF97FD0AC023 -:108FF0000091892D10E020E030E0601771078207B2 -:1090000093071CF064E97CE11CC042E1469F90019B -:10901000479F300D11248091872D9091882D60E01D -:1090200070E0820F931F0E94C3817C01009739F08A -:1090300000E010E06C018FEFC81AD80A24C06DE779 -:109040007CE1CE0101960F940A0FCE0101960E9499 -:109050000BDACE0101960F94DA0C60E070E0CB01E0 -:109060001CC0601B710B6930710510F068E070E086 -:1090700044E050E1C601800F911F0E9483400E948E -:10908000B7D9085F1F4FF701608170E00617170717 -:1090900040F361E070E080E090E026960FB6F8942F -:1090A000DEBF0FBECDBFDF91CF911F910F91FF901B -:1090B000EF90DF90CF900895CF92DF92EF92FF92E2 -:1090C00060E070E0CB010E941EDF62307105810517 -:1090D0009105C9F462E070E080E090E00E941EDF3C -:1090E0006B017C0161E070E080E090E00E941EDF97 -:1090F00041E0CD28CE28CF2809F440E088EE90E367 -:109100000E94FABD15C060E070E0CB010E941EDF36 -:10911000613071058105910539F461E070E080E00E -:1091200090E00E941EDFE9CF88EE90E30E9427BD09 -:1091300061E070E080E090E0FF90EF90DF90CF90F2 -:109140000895CF92DF92EF92FF9260E070E0CB0142 -:109150000E941EDF6230710581059105C9F462E04D -:1091600070E080E090E00E941EDF6B017C0161E016 -:1091700070E080E090E00E941EDF41E0CD28CE2824 -:10918000CF2809F440E088EE90E30E94E9BD15C0C5 -:1091900060E070E0CB010E941EDF61307105810547 -:1091A000910539F461E070E080E090E00E941EDFFC -:1091B000E9CF88EE90E30E941FBD61E070E080E09F -:1091C00090E0FF90EF90DF90CF900895CF92DF92E4 -:1091D000EF92FF9260E070E0CB010E941EDF6230F0 -:1091E000710581059105C9F462E070E080E090E0CE -:1091F0000E941EDF6B017C0161E070E080E090E086 -:109200000E941EDF41E0CD28CE28CF2809F440E09F -:1092100088EE90E30E94D8BD15C060E070E0CB01FD -:109220000E941EDF613071058105910539F461E00E -:1092300070E080E090E00E941EDFE9CF88EE90E3CE -:109240000E9417BD61E070E080E090E0FF90EF9039 -:10925000DF90CF900895CF92DF92EF92FF9260E07F -:1092600070E0CB010E941EDF62307105810591051F -:10927000C9F462E070E080E090E00E941EDF6B01C4 -:109280007C0161E070E080E090E00E941EDF41E040 -:10929000CD28CE28CF2809F440E088EE90E30E9444 -:1092A000C7BD15C060E070E0CB010E941EDF6130D9 -:1092B00071058105910539F461E070E080E090E08E -:1092C0000E941EDFE9CF88EE90E30E940FBD61E0AF -:1092D00070E080E090E0FF90EF90DF90CF900895F5 -:1092E000CF92DF92EF92FF9260E070E0CB010E949C -:1092F0001EDF6230710581059105C9F462E070E0FE -:1093000080E090E00E941EDF6B017C0161E070E074 -:1093100080E090E00E941EDF41E0CD28CE28CF28DB -:1093200009F440E088EE90E30E94B6BD15C060E00D -:1093300070E0CB010E941EDF61307105810591054F -:1093400039F461E070E080E090E00E941EDFE9CF38 -:1093500088EE90E30E9407BD61E070E080E090E05D -:10936000FF90EF90DF90CF900895CF92DF92EF9231 -:10937000FF9260E070E0CB010E941EDF6230710559 -:1093800081059105C9F462E070E080E090E00E9400 -:109390001EDF6B017C0161E070E080E090E00E94E4 -:1093A0001EDF41E0CD28CE28CF2809F440E088EE2A -:1093B00090E30E94A5BD15C060E070E0CB010E9463 -:1093C0001EDF613071058105910539F461E070E0BF -:1093D00080E090E00E941EDFE9CF88EE90E30E94DB -:1093E000FFBC61E070E080E090E0FF90EF90DF90E4 -:1093F000CF900895CF92DF92EF92FF9260E070E0FD -:10940000CB010E941EDF6230710581059105C9F410 -:1094100062E070E080E090E00E941EDF6B017C0162 -:1094200061E070E080E090E00E941EDF41E0CD2826 -:10943000CE28CF2809F440E088EE90E30E9494BD46 -:1094400015C060E070E0CB010E941EDF6130710545 -:109450008105910539F461E070E080E090E00E94C0 -:109460001EDFE9CF88EE90E30E94F7BC61E070E078 -:1094700080E090E0FF90EF90DF90CF900895CF9242 -:10948000DF92EF92FF9260E070E0CB010E941EDF5E -:109490006230710581059105C9F462E070E080E0F9 -:1094A00090E00E941EDF6B017C0161E070E080E0D3 -:1094B00090E00E941EDF41E0CD28CE28CF2809F49D -:1094C00040E088EE90E30E9483BD15C060E070E04C -:1094D000CB010E941EDF613071058105910539F4D1 -:1094E00061E070E080E090E00E941EDFE9CF88EE4E -:1094F00090E30E94EFBC61E070E080E090E0FF90BC -:10950000EF90DF90CF900895CF92DF92EF92FF928D -:1095100060E070E0CB010E941EDF623071058105C2 -:109520009105C9F462E070E080E090E00E941EDFE7 -:109530006B017C0161E070E080E090E00E941EDF42 -:1095400041E0CD28CE28CF2809F440E088EE90E312 -:109550000E9472BD15C060E070E0CB010E941EDF6A -:10956000613071058105910539F461E070E080E0BA -:1095700090E00E941EDFE9CF88EE90E30E94E7BCF6 -:1095800061E070E080E090E0FF90EF90DF90CF909E -:109590000895CF92DF92EF92FF9260E070E0CB01EE -:1095A0000E941EDF6230710581059105C9F462E0F9 -:1095B00070E080E090E00E941EDF6B017C0161E0C2 -:1095C00070E080E090E00E941EDF41E0CD28CE28D0 -:1095D000CF2809F440E088EE90E30E9461BD15C0F9 -:1095E00060E070E0CB010E941EDF613071058105F3 -:1095F000910539F461E070E080E090E00E941EDFA8 -:10960000E9CF88EE90E30E94DFBC61E070E080E08B -:1096100090E0FF90EF90DF90CF900895CF92DF928F -:10962000EF92FF9260E070E0CB010E941EDF62309B -:10963000710581059105C9F462E070E080E090E079 -:109640000E941EDF6B017C0161E070E080E090E031 -:109650000E941EDF41E0CD28CE28CF2809F440E04B -:1096600088EE90E30E940BBE15C060E070E0CB0175 -:109670000E941EDF613071058105910539F461E0BA -:1096800070E080E090E00E941EDFE9CF88EE90E37A -:109690000E9450BE61E070E080E090E0FF90EF90AB -:1096A000DF90CF90089560E070E0CB010E941EDF54 -:1096B000672B682B692B31F461E081E19CE20E9409 -:1096C00031330AC061E070E080E090E00E941EDF6C -:1096D00087E19CE20F94460F61E070E080E090E04B -:1096E0000895CF93DF93CDB7DEB728970FB6F894E0 -:1096F000DEBF0FBECDBF8091042C811108C0CE010A -:1097000001960E94FD37CE0101960F94DA0C28963F -:109710000FB6F894DEBF0FBECDBFDF91CF91089595 -:1097200061E070E080E090E00E94D1D7672B682B69 -:10973000692B51F061E070E080E090E00E9473DFFF -:109740008DE79BE20C94782361E070E080E090E08C -:109750000E941EDF97FD13C061E070E080E090E0A2 -:109760000E941EDF603271058105910544F461E0BD -:1097700070E080E090E00E941EDF862F08958FEF5A -:1097800008950F931F93CF93DF9300D000D0CDB7F0 -:10979000DEB7082F0E94904B182F8F3F19F46DE70A -:1097A0007BE123C0682F8DE79BE20E94B0238823D2 -:1097B00019F06AE57BE119C0033051F4612F8DE7A0 -:1097C0009BE20E942423811103C067E37BE10DC06B -:1097D000602F8DE79BE20E94A123892B21F083E07B -:1097E000800F823090F466E27BE1CE0101960F9407 -:1097F0000A0FCE0101960E940BDACE0101960F945A -:10980000DA0C60E070E0CB010FC0402F612F8DE7D4 -:109810009BE20E945925811103C06CE07BE1E5CFFA -:1098200061E070E080E090E026960FB6F894DEBF2D -:109830000FBECDBFDF91CF911F910F910895DC0135 -:10984000ED91FC910190F081E02D1994CF92DF927F -:10985000EF92FF920F931F93CF93DF9300D000D02E -:10986000CDB7DEB77C016B01FB0101900020E9F769 -:109870008F0101501109061B170B67EA79E10F945C -:10988000480D4AE060E070E0CE0101960F94360E7C -:10989000CE0101960F94DA0CF701D182C0821583B4 -:1098A000048326960FB6F894DEBF0FBECDBFDF91BE -:1098B000CF911F910F91FF90EF90DF90CF9008957F -:1098C000242FFB0142815381608171810C94DCBFA4 -:1098D000CF93DF93CDB7DEB727970FB6F894DEBFEF -:1098E0000FBECDBF0E94AE2D6D837E838F838D8191 -:1098F0009E81AF81BC018A2F90E027960FB6F89425 -:10990000DEBF0FBECDBFDF91CF910895CF93DF9320 -:10991000CDB7DEB727970FB6F894DEBF0FBECDBF29 -:109920000E94AE2D29833A834B835C8369817A81BF -:109930008B819C8127960FB6F894DEBF0FBECDBFFA -:10994000DF91CF9108952F923F924F925F926F9245 -:109950007F928F929F92AF92BF92CF92DF92EF92BF -:10996000FF920F931F93CF93DF93CDB7DEB7AF97DF -:109970000FB6F894DEBF0FBECDBF6C018E010B5E3B -:109980001F4F41E050E064E670E0C8010E9400BF54 -:109990000E948CBE8DE79BE20E94371D44E150E09F -:1099A000BC01CE0101967C010F94FA1D1C8A0F9414 -:1099B000001B962E872EE2E6FDE2908198A721817A -:1099C00029A742814AA783818BA70E94AE2DB42E7E -:1099D000A52E2D8F3E8F4F8F58A369A37AA38BA3FB -:1099E00040E050E0BA018BE696E12EA73FA70E9427 -:1099F00059908CA79DA740E050E0BA0182ED90E11C -:109A00000E945990382E292E40E050E0BA018AED8C -:109A10009CE10E945990582E492E40E050E0BA0136 -:109A200089ED90E10E945990782E692E40E050E037 -:109A3000BA018FED90E10E9459908F929F924BA5B1 -:109A40004F934AA54F9349A54F9348A54F93AF9283 -:109A5000BF923FA53F932EA52F932DA52F932CA505 -:109A60002F932F923F924F925F926F927F929F938C -:109A70008F9386EE90E19F938F931F930F930E9495 -:109A800026BFFDA2ECA2F70101900020E9F7319773 -:109A9000EE19FF09FFA3EEA341E0BE016C5D7F4F0D -:109AA000C8010E94604C6AED72E1C8010F94460F34 -:109AB000A80161E17CE2C6010E948232C8010F94D4 -:109AC000DA0C0FB6F894DEBF0FBECDBFC601AF965D -:109AD0000FB6F894DEBF0FBECDBFDF91CF911F91BF -:109AE0000F91FF90EF90DF90CF90BF90AF909F903D -:109AF0008F907F906F905F904F903F902F90089540 -:109B0000CF93DF93CDB7DEB728970FB6F894DEBFBB -:109B10000FBECDBFCE0101960E94A34CCE0101968F -:109B20000E940BDACE0101960F94DA0C61E070E02E -:109B300080E090E028960FB6F894DEBF0FBECDBF50 -:109B4000DF91CF9108956F927F928F92CF92DF92A3 -:109B5000EF92CF93DF93CDB7DEB72E970FB6F89481 -:109B6000DEBF0FBECDBF0E94AE2D288739874A8742 -:109B70005B876C877D878E876090662D7090672DE0 -:109B80008090682D88859985AA85BB85CC84DD84E5 -:109B9000EE844091622D5091632D6091642D7091FF -:109BA000652D841B950BA60BB70BC614D704E804D0 -:109BB00048F420ECC21A2DEBD20A20EFE20A0197FA -:109BC000A109B10989839A83AB83BC83C618D708DE -:109BD000E808CD82DE82EF82282F3A814B815C81BA -:109BE0006C2D7E818F8190E02E960FB6F894DEBFAB -:109BF0000FBECDBFDF91CF91EF90DF90CF908F90D0 -:109C00007F906F900895CF93DF93CDB7DEB72797FE -:109C10000FB6F894DEBF0FBECDBF0E94A34D2983BF -:109C20003A834B835C8369817A818B819C812796FF -:109C30000FB6F894DEBF0FBECDBFDF91CF91089570 -:109C4000CF93DF93CDB7DEB727970FB6F894DEBF7B -:109C50000FBECDBF0E94A34D6D837E838F838D8108 -:109C60009E81AF81BC018A2F90E027960FB6F894B1 -:109C7000DEBF0FBECDBFDF91CF9108950F931F932D -:109C8000CF93DF93CDB7DEB766970FB6F894DEBFFC -:109C90000FBECDBF41E050E064E670E0CE0101961A -:109CA0000E9400BF68EC78E1CE0101960F94E80EA7 -:109CB0000E94AE2D89019A01AB01682FCE01019659 -:109CC0000E947E3789819A810E9407DA60EC78E1F0 -:109CD000CE0101960F94E80E0E94A34D89019A01CE -:109CE000AB01682FCE0101960E947E3789819A814F -:109CF0000E9407DA67EB78E1CE0101960F94E80E37 -:109D00000091622D1091632D2091642D3091652D6D -:109D10004091662D5091672D6091682DCE0101967E -:109D20000E947E3789819A810E9407DACE010196CE -:109D30000F94DA0C61E070E080E090E066960FB678 -:109D4000F894DEBF0FBECDBFDF91CF911F910F9171 -:109D50000895CF92DF92EF92FF920F931F93CF93CC -:109D6000DF9300D000D0CDB7DEB7F82E8B0160E0D6 -:109D700070E0CB010E941EDFCF2CD12CE12CF12C06 -:109D80006C157D058E059F0579F0B801CE01019611 -:109D90000F940A0FCE0101960E940BDACE010196B4 -:109DA0000F94DA0C80E001C081E026960FB6F8949B -:109DB000DEBF0FBECDBFDF91CF911F910F91FF90FE -:109DC000EF90DF90CF90089568EF70E281E00E94FD -:109DD000A94E882399F061E070E080E090E00E9455 -:109DE0001EDFCB010E94AA90009741F00F94131D33 -:109DF000BC01882777FD8095982F089560E070E07A -:109E0000CB01089562EE70E281E00E94A94E8823A2 -:109E100091F061E070E080E090E00E941EDFCB01F5 -:109E20000E94AA90009739F00E9407DA61E070E082 -:109E300080E090E0089560E070E0CB0108956DEC63 -:109E400070E281E00E94A94E882371F061E070E029 -:109E500080E090E00E941EDFCB010E94B89061E09C -:109E600070E080E090E0089560E070E0CB0108953C -:109E700060E170E281E00E94A94E882379F061E000 -:109E800070E080E090E00E9473DF8DE79BE20E942B -:109E9000691D61E070E080E090E0089560E070E0AE -:109EA000CB010895CF93DF9300D000D0CDB7DEB7BC -:109EB00062EF7FE181E00E94A94E882321F161E0F9 -:109EC00070E080E090E00E9473DFCB010E94099275 -:109ED000892BE9F469ED7FE1CE0101960F940A0F19 -:109EE000CE0101960E94D8D8CE0101960F94DA0CCB -:109EF00061E070E080E090E00E9473DFCB010E949F -:109F0000CCD80E94B7D960E070E0CB0104C061E01A -:109F100070E080E090E026960FB6F894DEBF0FBEAA -:109F2000CDBFDF91CF91089562E17CE181E00E9495 -:109F3000A94E882349F00E94904B682F772767FD30 -:109F40007095872F972F089560E070E0CB010895FA -:109F5000CF92DF92EF92FF921F93CF93DF9300D0C7 -:109F600000D0CDB7DEB766EE7AE182E00E94A94E5E -:109F7000882309F442C00E94904B182F62E070E0E1 -:109F800080E090E00E941EDF6B017C011F3F19F40E -:109F900063ED7AE126C0612F8DE79BE20E944023AA -:109FA000811103C067EA7AE11CC0612F8DE79BE253 -:109FB0000E941923833041F48FEFC816D10421F099 -:109FC00018F065E97AE10DC0612F8DE79BE20E94F0 -:109FD00019238330B1F082E0C816D10490F063E811 -:109FE0007AE1CE0101960F940A0FCE0101960E94EC -:109FF0000BDACE0101960F94DA0C60E070E0CB0131 -:10A000000AC04C2D612F8DE79BE20E94C52561E0BF -:10A0100070E080E090E026960FB6F894DEBF0FBEA9 -:10A02000CDBFDF91CF911F91FF90EF90DF90CF9048 -:10A030000895CF93DF9300D000D0CDB7DEB768E6A8 -:10A040007AE181E00E94A94E8823E1F00E94904BC2 -:10A050008F3F79F465E57AE1CE0101960F940A0FFE -:10A06000CE0101960E940BDACE0101960F94DA0C14 -:10A0700009C0682F8DE79BE20E944E23BC0180E05F -:10A0800090E003C060E070E0CB0126960FB6F89434 -:10A09000DEBF0FBECDBFDF91CF9108956EE27AE1B2 -:10A0A00082E00E94A94E882349F062E070E080E0DF -:10A0B00090E00E941EDF862F0C94C14B60E070E0A0 -:10A0C000CB01089560E17AE181E00E94A94E8823E6 -:10A0D00019F08FEF0C94C14B60E070E0CB01089554 -:10A0E00069EE79E181E00E94A94E882319F083E0AE -:10A0F0000C94C14B60E070E0CB0108956BEC79E10A -:10A1000081E00E94A94E882319F083E00C94C14B92 -:10A1100060E070E0CB0108956AEA79E181E00E9495 -:10A12000A94E882319F081E00C94C14B60E070E0E7 -:10A13000CB010895CF92DF92EF92FF92CF93DF93FE -:10A1400000D01F92CDB7DEB76BE479E183E00E94C7 -:10A15000A94E882331F163E070E080E090E00E9436 -:10A160001EDF9B01AC0162E070E080E090E029839B -:10A170003A834B835C830E941EDF6B017C0161E0AC -:10A1800070E080E090E00E941EDF29813A81A60104 -:10A1900088EE90E30E94C2BB61E070E080E090E056 -:10A1A00003C060E070E0CB010F900F900F900F9014 -:10A1B000DF91CF91FF90EF90DF90CF900895CF92F5 -:10A1C000DF92EF92FF92CF93DF9300D01F92CDB733 -:10A1D000DEB767E279E183E00E94A94E882331F17E -:10A1E00063E070E080E090E00E941EDF9B01AC0124 -:10A1F00062E070E080E090E029833A834B835C83E7 -:10A200000E941EDF6B017C0161E070E080E090E065 -:10A210000E941EDF29813A81A60188EE90E30E9408 -:10A220004CBC61E070E080E090E003C060E070E072 -:10A23000CB010F900F900F900F90DF91CF91FF9077 -:10A24000EF90DF90CF9008951F93CF93DF931F92ED -:10A25000CDB7DEB76FE778E181E00E94A94E882391 -:10A26000E1F061E070E080E090E00E941EDF8DE7A9 -:10A270009BE269830E942521182F8DE79BE20E94B3 -:10A28000581D6981680F611B8DE79BE20E945B1D71 -:10A2900061E070E080E090E003C060E070E0CB013E -:10A2A0000F90DF91CF911F9108956BE578E181E0E8 -:10A2B0000E94A94E882379F061E070E080E090E090 -:10A2C0000E941EDF8DE79BE20E945B1D61E070E053 -:10A2D00080E090E0089560E070E0CB0108956AE6C8 -:10A2E00071E181E00E94A94E882399F061E070E05D -:10A2F00080E090E00E941EDF21E0672B682B692B35 -:10A3000009F420E020934D2D61E070E080E090E0C2 -:10A31000089560E070E0CB0108956DE471E181E0A3 -:10A320000E94A94E882379F061E070E080E090E01F -:10A330000E941EDF8DE79BE20E949B1F682F70E04A -:10A3400080E090E0089560E070E0CB0108956DE258 -:10A3500071E181E00E94A94E882379F061E070E00C -:10A3600080E090E00E941EDF8DE79BE20E948B1F41 -:10A3700061E070E080E090E0089560E070E0CB0183 -:10A3800008956EE071E181E00E94A94E882379F082 -:10A3900061E070E080E090E00E941EDF8DE79BE2CC -:10A3A0000E947B1F61E070E080E090E0089560E033 -:10A3B00070E0CB0108950F931F93CF93DF93CDB738 -:10A3C000DEB760970FB6F894DEBF0FBECDBF64EF67 -:10A3D00070E181E00E94A94E882399F161E070E06C -:10A3E00080E090E00E9473DFFB0101900020E9F71C -:10A3F0008F0101501109061B170B40E150E06FEF70 -:10A4000070E0CE0101960F943E1E61E070E080E0A6 -:10A4100090E00E9473DFA8010131110514F040E1C2 -:10A4200050E0CE0101960F94231EBE016F5F7F4F57 -:10A430008DE79BE20E944C1E61E070E080E090E0BE -:10A4400003C060E070E0CB0160960FB6F894DEBF09 -:10A450000FBECDBFDF91CF911F910F91089562ED97 -:10A4600070E181E00E94A94E882379F061E070E0FC -:10A4700080E090E00E941EDF8DE79BE20E94EC1DD1 -:10A4800061E070E080E090E0089560E070E0CB0172 -:10A49000089561EB70E181E00E94A94E882379F074 -:10A4A00061E070E080E090E00E941EDF8DE79BE2BB -:10A4B0000E94D41D61E070E080E090E0089560E0CB -:10A4C00070E0CB01089561E970E181E00E94A94E3E -:10A4D000882379F061E070E080E090E00E941EDF68 -:10A4E0008DE79BE20E94BC1D61E070E080E090E09F -:10A4F000089560E070E0CB010895AF92BF92CF92D3 -:10A50000DF92EF92FF920F931F93CF93DF9300D0D0 -:10A5100000D0CDB7DEB7A82EB62E8A0160E070E07D -:10A52000CB010E941EDFCA2CD12CE12CF12C6C1522 -:10A530007D058E059F0584F060E070E0CB010E94F0 -:10A540001EDFCB2CD12CE12CF12CC616D706E80649 -:10A55000F90614F081E00EC0B801CE0101960F9407 -:10A560000A0FCE0101960E940BDACE0101960F94DC -:10A57000DA0C80E026960FB6F894DEBF0FBECDBF92 -:10A58000DF91CF911F910F91FF90EF90DF90CF90CF -:10A59000BF90AF900895CF92DF92EF92FF924AEA78 -:10A5A00050E262E081E00E947D52882309F45EC09F -:10A5B00060E070E0CB010E941EDF62307105810512 -:10A5C00091054CF062E070E080E090E00E941EDFB8 -:10A5D0006B017C0103C0C12CD12C760161E070E0DD -:10A5E00080E090E00E94D1D7672B682B692B91F017 -:10A5F00061E070E080E090E00E9473DFDC01CB015D -:10A60000B701A6010E945990BC01882777FD80956B -:10A61000982F2FC061E070E080E090E00E941EDF84 -:10A620009F938F937F936F9385E091E19F938F9397 -:10A630001F9288E08F9381E09DE29F938F930F9408 -:10A64000351FB701A60181E09DE20E945990BC012F -:10A65000882777FD8095982F2DB73EB7265F3F4F0F -:10A660000FB6F8943EBF0FBE2DBF03C060E070E090 -:10A67000CB01FF90EF90DF90CF9008954FE25CE127 -:10A6800060E080E00E947D52882321F08DE79BE20C -:10A690000E94A82560E070E0CB01089542E759E1EF -:10A6A00062E081E00E947D528823C9F060E070E0A2 -:10A6B000CB010E941EDF623071058105910569F4AE -:10A6C00062E070E080E090E00E941EDF672B682B64 -:10A6D000692B19F480E00C94C14B82E0FCCF60E060 -:10A6E00070E0CB0108954F925F926F927F928F92AC -:10A6F0009F92AF92BF92CF92DF92EF92FF920F9311 -:10A700001F93CF93DF9300D01F92CDB7DEB740EDFC -:10A7100058E165E083E00E947D52882309F498C0E7 -:10A7200060E070E0CB010E941EDF6530710581059D -:10A730009105B1F565E070E080E090E00E941EDFD9 -:10A740006B017C0164E070E080E090E00E941EDF1D -:10A750004B015C0163E070E080E090E00E941EDF4E -:10A760009B01AC0162E070E080E090E029833A83D5 -:10A770004B835C830E941EDF2B013C0161E070E093 -:10A7800080E090E00E941EDFE1E029813A81CD283F -:10A79000CE28CF2809F4E0E0EE2E8401A20131C0DA -:10A7A00060E070E0CB010E941EDF6430710581051E -:10A7B000910581F564E070E080E090E00E941EDF8A -:10A7C0002B013C0163E070E080E090E00E941EDF1E -:10A7D0009B01AC0162E070E080E090E029833A8365 -:10A7E0004B835C830E941EDF4B015C0161E070E0E3 -:10A7F00080E090E00E941EDFE12C820129813A81F5 -:10A80000A40188EE90E30E942FBD61E070E080E03B -:10A8100090E021C063E070E080E090E00E941EDFE5 -:10A820009B01AC0162E070E080E090E029833A8314 -:10A830004B835C830E941EDF4B015C0161E070E092 -:10A8400080E090E00E941EDFE12C04EF11E0D6CF03 -:10A8500060E070E0CB010F900F900F900F90DF91B0 -:10A86000CF911F910F91FF90EF90DF90CF90BF900D -:10A87000AF909F908F907F906F905F904F900895D2 -:10A880000F931F93CF93DF9300D000D0CDB7DEB7E7 -:10A890004BE250E162E081E00E947D52882309F49E -:10A8A00051C00E94904B182F60E070E0CB010E94D5 -:10A8B0001EDF623071058105910569F462E070E088 -:10A8C00080E090E00E941EDF01E0672B682B692B7F -:10A8D00019F400E001C001E01F3F19F468E170E1E4 -:10A8E0001BC0812F0E940679811103C066EF7FE0B3 -:10A8F00013C0612F8DE79BE20E94B023882319F0DB -:10A900006FEC7FE009C0612F8DE79BE20E9433234B -:10A9100081110FC06FEA7FE0CE0101960F940A0FFC -:10A92000CE0101960E940BDACE0101960F94DA0C4B -:10A9300009C0602F812F0E94C07861E070E080E044 -:10A9400090E003C060E070E0CB0126960FB6F8946B -:10A95000DEBF0FBECDBFDF91CF911F910F91089544 -:10A96000CF92DF92EF92FF92CF93DF9300D000D08F -:10A97000CDB7DEB749E750E262E081E00E947D5248 -:10A980008823A9F160E070E0CB010E941EDF6230F5 -:10A99000710581059105A1F462E070E080E090E02E -:10A9A0000E941EDF6B017C0161E070E080E090E0BE -:10A9B0000E9473DFCE0101960E94264CA6010CC0B6 -:10A9C00061E070E080E090E00E9473DFCE010196CC -:10A9D0000E94264C40E050E060E0CE0101960E94CB -:10A9E00035901A821982CE0101960F94DA0C60E03C -:10A9F00070E0CB0126960FB6F894DEBF0FBECDBF38 -:10AA0000DF91CF91FF90EF90DF90CF9008952F923C -:10AA10003F924F925F926F927F928F929F92AF92EE -:10AA2000BF92CF92DF92EF92FF920F931F93CF933B -:10AA3000DF9300D01F92CDB7DEB74B015C018A01D6 -:10AA400020E030E0A9010F94A21387FD05C060E06B -:10AA500070E080E09FE304C060E070E080E09FEB86 -:10AA6000E12CF12CE016F10654F420E030E040E255 -:10AA700051E40F94A6132FEFE21AF20AF3CF9B01D1 -:10AA8000AC01C501B4010F943E136B017C0120E0C1 -:10AA900030E0A901C501B4010F94A21387FF04C0DF -:10AAA000F7FAF094F7F8F0941C821B828DEC782E64 -:10AAB0009CEC692E2CEC522E3DE3432E20E030E03E -:10AAC00040E251E4672D762D852D942D0F94A3152A -:10AAD0001B0189839A83A70196010F94A21318166C -:10AAE00054F08B819C8101969C838B83722C632C08 -:10AAF00059804A80E3CF20E030E0A901C501B401CC -:10AB00000F94A21387FF03C08DE20E9408D9EB8146 -:10AB1000FC81EF2B19F480E30E9408D9212C312C01 -:10AB20008B819C8128163906B4F5272D362D452DAD -:10AB3000542DC701B6010F94A6130F940E144B01A8 -:10AB40005C01CB010E9441D9B401882777FD809533 -:10AB5000982F0F944514272D362D452D542D0F94E5 -:10AB6000A3159B01AC01C701B6010F943D136B0106 -:10AB70007C0120E030E040E251E4672D762D852D08 -:10AB8000942D0F94A613762E672E582E492EFFEF84 -:10AB90002F1A3F0AC5CF101611065CF58EE20E94EF -:10ABA00008D9612C712C20E030E040E251E4C7016B -:10ABB000B6010F94A3156B017C010F940E144B0189 -:10ABC0005C01CB010E9441D9B401882777FD8095B3 -:10ABD000982F0F9445149B01AC01C701B6010F9447 -:10ABE0003D136B017C019FEF691A790A60167106AB -:10ABF000D1F60F900F900F900F90DF91CF911F9192 -:10AC00000F91FF90EF90DF90CF90BF90AF909F900B -:10AC10008F907F906F905F904F903F902F9008950E -:10AC2000CF92DF92EF92FF928DE79BE20E94EF209E -:10AC3000BC01882777FD8095982F0F94451420E05C -:10AC400030E048EC52E40F94A6136B017C0142E023 -:10AC500050E00E9407550E94B7D9C701B6010F9472 -:10AC60000E14882777FD8095982FFF90EF90DF9046 -:10AC7000CF9008950E9407550C94B7D94F925F92D8 -:10AC80006F927F928F929F92AF92BF92CF92DF92FC -:10AC9000EF92FF920F931F93CF93DF93CDB7DEB761 -:10ACA00028970FB6F894DEBF0FBECDBF4C018B01C5 -:10ACB00041E050E064E670E00E9400BF60E070E0B8 -:10ACC000CB010E941EDF5B0189E0A816B1041CF0D5 -:10ACD00048E0A42EB12C6BE77AE2C4010F94D80DA2 -:10ACE00017FF02C092E013C01F930F9381E091E120 -:10ACF0009F938F939F928F920E9426BF0F900F90E9 -:10AD00000F900F900F900F90012B61F791E080E072 -:10AD1000092F182FC12CD12C7601C801AA2797FD25 -:10AD2000A095BA2F8D839E83AF83B887A016B106F6 -:10AD30000CF446C04D805E806F8078844C0C5D1CA6 -:10AD40006E1C7F1CC301B2010E94D1D7672B682BF8 -:10AD5000692B69F0C301B2010E9473DFDC01CB01F2 -:10AD600041E050E060E070E00E94599005C0C301EE -:10AD7000B2010E941EDFCB010E94AA909A838983B0 -:10AD8000DC010D900020E9F71197A81BB90BBC83DB -:10AD9000AB8341E0BE016F5F7F4FC4010E94604CF6 -:10ADA0000A151B052CF463E071E1C4010F94460FF2 -:10ADB0000F5F1F4F9FEFC91AD90AE90AF90AB6CFE8 -:10ADC00060E07FE1C4010F94460FC40128960FB6DE -:10ADD000F894DEBF0FBECDBFDF91CF911F910F91D1 -:10ADE000FF90EF90DF90CF90BF90AF909F908F90AB -:10ADF0007F906F905F904F900895AF92BF92CF92E7 -:10AE0000DF92EF92FF920F931F93CF93DF93CDB713 -:10AE1000DEB728970FB6F894DEBF0FBECDBF44E46F -:10AE200050E26FEF82E00E947D52882309F4A0C0B7 -:10AE300061E070E080E090E00E94D1D7672B682B42 -:10AE4000692B41F061E070E080E090E00E941EDF3D -:10AE50008B010AC061E070E080E090E00E941EDF9C -:10AE6000CB010E94AA908C010115110521F0F80177 -:10AE70008081811103C089E091E127C06FEF7FEFEE -:10AE8000CE0101960E943E5689819A810F94091E37 -:10AE90007C01CE0101960F94DA0CD7010D900020B1 -:10AEA000E9F71197AE19BF09F80101900020E9F701 -:10AEB0003197E01BF10BEA0FFB1FE135F10540F084 -:10AEC000C7010F94C71980E391E10E9407DA50C0CF -:10AED00067EA79E181E39DE20F94D80D40E050E00C -:10AEE000BA0181E491E10E945990B82EA92E40E068 -:10AEF00050E0BA0188E491E10E945990D82EC92E01 -:10AF000040E050E0BA0181E491E10E945990FF9243 -:10AF1000EF921F930F93AF92BF92CF92DF929F93C6 -:10AF20008F932DE431E13F932F9321E33DE23F9353 -:10AF30002F930E9426BFC7010F94C71941E35DE21A -:10AF400061E17CE2CE0101960E948232CE0101963F -:10AF50000E940BDACE0101960F94DA0C0FB6F8942A -:10AF6000DEBF0FBECDBF61E070E080E090E003C0C7 -:10AF700060E070E0CB0128960FB6F894DEBF0FBEFC -:10AF8000CDBFDF91CF911F910F91FF90EF90DF9098 -:10AF9000CF90BF90AF900895CF93DF93CDB7DEB73A -:10AFA00028970FB6F894DEBF0FBECDBF6BE270E2FC -:10AFB00081E00E94A94E8823C1F060E070E0CE01DC -:10AFC00001960E943E56AE014F5F5F4F60E070E019 -:10AFD00081E19CE20E94EF30CE0101960F94DA0CE1 -:10AFE00061E070E080E090E003C060E070E0CB01E1 -:10AFF00028960FB6F894DEBF0FBECDBFDF91CF917C -:10B000000895CF93DF93CDB7DEB728970FB6F894A6 -:10B01000DEBF0FBECDBF42E358E163E681E00E9490 -:10B020007D528823E1F061E070E0CE0101960E943C -:10B030003E5661E070E080E090E00E941EDFAE01CD -:10B040004F5F5F4F81E19CE20E94EF30CE0101969D -:10B050000F94DA0C61E070E080E090E003C060E003 -:10B0600070E0CB0128960FB6F894DEBF0FBECDBFBF -:10B07000DF91CF910895CF92DF92EF92FF921F93CD -:10B08000CF93DF93CDB7DEB728970FB6F894DEBF26 -:10B090000FBECDBF49E058E163E681E00E947D52DA -:10B0A000882309F45DC061E070E0CE0101960E9442 -:10B0B0003E5661E070E080E090E00E941EDF6B0190 -:10B0C0007C018091392D811142C0D092402DC092D7 -:10B0D0003F2D11E01093412D1093422D83E080937A -:10B0E000432D89819A810F94091E9093472D809357 -:10B0F000462D8D818F5F8093482D85E09AE6909351 -:10B100004A2D8093492D8AE39DE20E941CF2109300 -:10B11000392D80914D2D8823D1F062EF77E183E4C2 -:10B1200096E40F94360B4AE050E0B60183E496E4CF -:10B130000F944F0C6FEE77E183E496E40F94360B97 -:10B14000BE016F5F7F4F83E496E40F94880BCE01BE -:10B1500001960F94DA0C61E070E080E090E003C0AB -:10B1600060E070E0CB0128960FB6F894DEBF0FBE0A -:10B17000CDBFDF91CF911F91FF90EF90DF90CF90E7 -:10B180000895CB01BA010C94BFDFBF92CF92DF923A -:10B19000EF92FF920F931F93CF93DF93CDB7DEB75C -:10B1A00064970FB6F894DEBF0FBECDBF41E050E00C -:10B1B00060E070E08E010F5F1F4FC8010E9400BF6A -:10B1C00067EA79E189E29DE20F94D80D64E671E1C6 -:10B1D000CE0109960F94480D1A8A198A8DEA9EE0CD -:10B1E000988B8F871C8B0B8BAE01475F5F4FBE0127 -:10B1F000615F7F4F8EE49DE20E94E71FCE010996BA -:10B200000F94DA0C6AE0C8010F9405117C0197FDD8 -:10B2100049C069ED7CE0CE0109960F94480DBE014E -:10B22000675F7F4FC8010F947D10882371F049E05C -:10B2300050E060E2C8010F94E9106C0181E0CE1487 -:10B24000DF040CF080E0B82E01C0B12CCE010996CD -:10B250000F94DA0CBB20A9F096012F5F3F4F49E015 -:10B2600050E0B801CE0109960F947311BE01675FDB -:10B270007F4F89E29DE20F943F0FCE0109960F9414 -:10B28000DA0C2D813E81A7014F5F5F4FB801CE01DF -:10B2900009960F947311BE01675F7F4FC8010F9429 -:10B2A000CC0DACCF80914F2D882361F06AE87FE010 -:10B2B00083E496E40F94360B69E27DE283E496E43E -:10B2C0000F94880BC8010F94DA0C64960FB6F894AB -:10B2D000DEBF0FBECDBFDF91CF911F910F91FF90C9 -:10B2E000EF90DF90CF90BF9008952F923F924F92B2 -:10B2F0005F926F927F928F929F92AF92BF92CF9206 -:10B30000DF92EF92FF920F931F93CF93DF93CDB70E -:10B31000DEB76A970FB6F894DEBF0FBECDBF8C01C3 -:10B320004B0141E050E060E070E0CE0101965C012D -:10B330000E9400BF60E070E0CB010E941EDF7E8BA8 -:10B340006D8BB401882777FD8095982F0E9473DF5D -:10B35000C8010F94D80D68E2C8010F94560F9FEFF3 -:10B36000891A990A212C312C2101C401AA2797FDA1 -:10B37000A095BA2F8F8B988FA98FBA8FED89FE89F0 -:10B38000E815F9050CF48DC0CF88D88CE98CFA8CBF -:10B39000C20CD31CE41CF51CC701B6010E94D1D716 -:10B3A000672B682B692B09F461C0C701B6010E94A5 -:10B3B00073DF6B017C01DB01FB0101900020E9F7E9 -:10B3C0003197E61BF70BE330F105ECF18C918036F9 -:10B3D000D1F53F0191E0691A71086C0C7D1CF301F5 -:10B3E0008081803681F567EA79E1C5010F94D80D37 -:10B3F000D3011C92B6016F5F7F4FCE0109960F9467 -:10B40000480D1A8A198AEDEAFEE0F88BEF87BC8AAC -:10B41000AB8AAE01475F5F4FBE01615F7F4F8EE435 -:10B420009DE20E94E71FCE0109960F94DA0CC50138 -:10B430000F94DD1289819A819A8789878D819E81F7 -:10B440009C878B870BC0DA86C986FD01019000209E -:10B45000E9F73197EC19FD09FC87EB8741E0BE0164 -:10B46000675F7F4FC8010E94604C09C0C701B601E9 -:10B470000E941EDFAB01BC01C8010F94F80F8D893B -:10B480009E898816990624F46CE2C8010F94560F21 -:10B490009FEF891A990AAFEF2A1A3A0A4A0A5A0AFA -:10B4A0006DCF69E2C8010F94560F80914F2D88230C -:10B4B00059F067E671E183E496E40F94690BB801F3 -:10B4C00083E496E40F94880BC5010F94DA0C6A9616 -:10B4D0000FB6F894DEBF0FBECDBFDF91CF911F91A5 -:10B4E0000F91FF90EF90DF90CF90BF90AF909F9023 -:10B4F0008F907F906F905F904F903F902F90089526 -:10B50000CF92DF92EF92FF92CF93DF93CDB7DEB76A -:10B510002E970FB6F894DEBF0FBECDBF4FEB56E1AE -:10B5200063E682E00E947D528823E1F062E070E0F1 -:10B5300080E090E00E94D1D7672B682B692B91F0B7 -:10B540008091392D882391F067EA76E1CE0101964A -:10B550000F940A0FCE0101960E940BDACE010196DC -:10B560000F94DA0CC12CD12C76013BC041E050E0A5 -:10B5700060E070E0CE0101960E9400BF62E070E0E2 -:10B58000CE0101960E9475598D819E818536910567 -:10B5900090F06DE876E1CE0109960F940A0FCE0186 -:10B5A00009960E940BDACE0109960F94DA0CC12C91 -:10B5B000D12C760112C0E980FA8061E070E080E071 -:10B5C00090E00E941EDF27EA39E1A70180E00E9497 -:10B5D000F144C12CD12C7601C394CE0101960F9475 -:10B5E000DA0CC701B6012E960FB6F894DEBF0FBE77 -:10B5F000CDBFDF91CF91FF90EF90DF90CF90089576 -:10B60000CF92DF92EF92FF92CF93DF93CDB7DEB769 -:10B610002E970FB6F894DEBF0FBECDBF4BE655E1B7 -:10B6200063E681E00E947D528823E1F061E070E0F2 -:10B6300080E090E00E94D1D7672B682B692B91F0B6 -:10B640008091392D882391F063E575E1CE01019653 -:10B650000F940A0FCE0101960E940BDACE010196DB -:10B660000F94DA0CC12CD12C760136C041E050E0A9 -:10B6700060E070E0CE0101960E9400BF61E070E0E2 -:10B68000CE0101960E9475598D819E818536910566 -:10B6900090F069E375E1CE0109960F940A0FCE018F -:10B6A00009960E940BDACE0109960F94DA0CC12C90 -:10B6B000D12C76010DC049815A8127EA39E161E038 -:10B6C00070E080E00E94F144C12CD12C7601C3943B -:10B6D000CE0101960F94DA0CC701B6012E960FB673 -:10B6E000F894DEBF0FBECDBFDF91CF91FF90EF90FA -:10B6F000DF90CF900895CF92DF92EF92FF92CF9399 -:10B70000DF93CDB7DEB762970FB6F894DEBF0FBEFA -:10B71000CDBF46E954E163E683E00E947D52882371 -:10B7200009F471C061E070E080E090E00E94D1D740 -:10B73000672B682B692B09F466C063E070E080E03A -:10B7400090E00E94D1D7672B682B692B09F45BC06E -:10B750008091392D882379F06EE774E1CE0101964E -:10B760000F940A0FCE0101960E940BDACE010196CA -:10B770000F94DA0C48C041E050E060E070E0CE0188 -:10B7800001960E9400BF63E070E0CE0101960E9426 -:10B7900075598D819E818536910590F064E674E13E -:10B7A000CE0109960F940A0FCE0109960E940BDA7A -:10B7B000CE0109960F94DA0CC12CD12C76011EC053 -:10B7C00061E070E080E090E00E941EDF9B01AC0130 -:10B7D000E980FA8062E070E080E090E02F87388BAB -:10B7E000498B5A8B0E941EDF2F853889A70181E083 -:10B7F0000E94F144C12CD12C7601C394CE01019654 -:10B800000F94DA0C03C0C12CD12C7601C701B6010C -:10B8100062960FB6F894DEBF0FBECDBFDF91CF9119 -:10B82000FF90EF90DF90CF900895CF92DF92EF924C -:10B83000FF92CF93DF93CDB7DEB72E970FB6F89474 -:10B84000DEBF0FBECDBF4EE254E163E682E00E9450 -:10B850007D528823E1F062E070E080E090E00E9499 -:10B86000D1D7672B682B692B91F08091392D8823D4 -:10B8700091F066E174E1CE0101960F940A0FCE01BA -:10B8800001960E940BDACE0101960F94DA0CC12CBE -:10B89000D12C76013BC041E050E060E070E0CE0189 -:10B8A00001960E9400BF62E070E0CE0101960E9406 -:10B8B00075598D819E818536910590F06CEF73E10D -:10B8C000CE0109960F940A0FCE0109960E940BDA59 -:10B8D000CE0109960F94DA0CC12CD12C760112C03E -:10B8E000E980FA8061E070E080E090E00E941EDF75 -:10B8F00027EA39E1A70181E00E94F144C12CD12C53 -:10B900007601C394CE0101960F94DA0CC701B601FB -:10B910002E960FB6F894DEBF0FBECDBFDF91CF914C -:10B92000FF90EF90DF90CF900895BF92CF92DF927B -:10B93000EF92FF920F931F93CF93DF93CDB7DEB7B4 -:10B940002E970FB6F894DEBF0FBECDBF60EE73E149 -:10B9500081E00E94A94E882309F46CC00E9442F441 -:10B960008C01E12CF12CF80181819281019609F47E -:10B9700052C061E070E080E090E00E9473DFCE0191 -:10B9800009960F94480D41E050E060E870E0CE0168 -:10B9900001960E9400BFBE01675F7F4FCE010196F6 -:10B9A0000F943F0F68E2CE0101960F94560FF801F5 -:10B9B000C380D480B68061817281CE0101960F94DC -:10B9C000C70F6CE2CE0101960F94560F6B2DCE017E -:10B9D00001960F946A0F6CE2CE0101960F94560FF8 -:10B9E000B601CE0101960F94C70F69E2CE01019610 -:10B9F0000F94560FAE014F5F5F4F60E070E08EE432 -:10BA00009DE20E94E71FCE0101960F94DA0CCE0151 -:10BA100009960F94DA0CFFEFEF1AFF0A095F1F4F28 -:10BA200024E1E216F10409F09ECF61E070E080E0CD -:10BA300090E003C060E070E0CB012E960FB6F89462 -:10BA4000DEBF0FBECDBFDF91CF911F910F91FF9051 -:10BA5000EF90DF90CF90BF900895EF92FF920F93F9 -:10BA60001F93CF93DF93CDB7DEB72E970FB6F89421 -:10BA7000DEBF0FBECDBF8C0180914F2D882309F40E -:10BA80006BC0F801818981112CC063E476E183E405 -:10BA900096E40F94360BF801658176814AE050E018 -:10BAA00083E496E40F94AC0CF80182898823A1F01A -:10BAB00063E276E183E496E40F94360B4AE050E0CB -:10BAC000F801628983E496E40F948E0C61E276E1DA -:10BAD00083E496E40F94360B83E496E40F94720BA0 -:10BAE0003BC069E176E183E496E40F94360BF801FC -:10BAF0008189813189F028F4823041F0803149F028 -:10BB000011C0803261F0813221F00CC069E076E131 -:10BB10000BC06BEE75E108C061ED75E105C06FEA21 -:10BB200075E102C06DE975E183E496E40F94360B8C -:10BB30006BE975E183E496E40F94360B40E150E045 -:10BB4000F801618983E496E40F948E0C69E975E14C -:10BB500083E496E40F94760BF801828990E0909349 -:10BB6000522D8093512D868564857585680F711DD2 -:10BB7000FB018081882309F442C0CE0109960F940D -:10BB8000480D41E050E060E870E0CE0101960E946F -:10BB900000BFBE01675F7F4FCE0101960F943F0F3C -:10BBA00068E2CE0101960F94560FE090512DF0906F -:10BBB000522DF8016189CE0101960F946A0F6CE253 -:10BBC000CE0101960F94560FB701CE0101960F9446 -:10BBD000960F69E2CE0101960F94560FAE014F5FAA -:10BBE0005F4F60E070E08EE49DE20E94E71FCE01AF -:10BBF00001960F94DA0CCE0109960F94DA0CF80135 -:10BC0000848595850F94C719C8012E960FB6F894B0 -:10BC1000DEBF0FBECDBFDF91CF911F910F91FF907F -:10BC2000EF900D94C719EF92FF920F931F93CF934C -:10BC3000DF9300D000D0CDB7DEB78B016115710561 -:10BC400009F43FC080914F2D882359F065E77FE0CC -:10BC500083E496E40F94360BB80183E496E40F94E2 -:10BC60009A0BC8010E94B2D681112DC0E12CF12C93 -:10BC7000B801CE0101960F94480DA701BE016F5F78 -:10BC80007F4F89E29DE20F9409117C01CE0101965C -:10BC90000F94DA0CF7FC15C0F80101900020E9F7C9 -:10BCA000BF0161507109601B710B6E0D7F1D89E230 -:10BCB0009DE20F94BD10803231F0FFEFEF1AFF0AC2 -:10BCC000D7CF80E001C081E026960FB6F894DEBFA2 -:10BCD0000FBECDBFDF91CF911F910F91FF90EF90DD -:10BCE0000895CF93DF9360E070E0CB010E941EDFE8 -:10BCF000672B682B692B09F444C060E070E0CB012E -:10BD00000E941EDF6330710581059105D4F560E066 -:10BD100070E0CB010E941EDF623071058105910544 -:10BD20006CF162E070E080E090E00E94D1D7672B78 -:10BD3000682B692B41F062E070E080E090E00E94A7 -:10BD400073DFEB010AC062E070E080E090E00E94E7 -:10BD50001EDFCB010E94AA90EC012097D1F0BE011A -:10BD60008EE49DE20E94135E811113C086EA91E188 -:10BD70000E94CCD8CE010E94CCD807C0C0E0D0E051 -:10BD800008C081E891E10E9407DA60E070E0CB0131 -:10BD900011C061E070E080E090E00E941EDFAB0126 -:10BDA000BC019E018DE79BE20E940C2661E070E0E1 -:10BDB00080E090E0DF91CF910895CF93DF93CDB7EE -:10BDC000DEB728970FB6F894DEBF0FBECDBFCE0109 -:10BDD00001960E94483FCE0101960F94DA0CCE01E5 -:10BDE00001960E94A34CCE0101960F94DA0CCE016D -:10BDF00001960E943F3ACE0101960F94DA0CCE01D3 -:10BE000001960E94C938CE0101960F94DA0CCE013A -:10BE100001960E94673CCE0101960F94DA0CCE0188 -:10BE200001960E94203BCE0101960F94DA0CCE01C0 -:10BE300001960E947846CE0101960F94DA0CCE014D -:10BE400001960E945C39CE0101960F94DA0CCE0166 -:10BE500001960E94FD37CE0101960F94DA0C2896C8 -:10BE60000FB6F894DEBF0FBECDBFDF91CF9108951E -:10BE7000CF93DF9300D000D0CDB7DEB763EA78E18F -:10BE8000CE0101960F940A0FCE0101960E940BDAA3 -:10BE9000CE0101960F94DA0C8EE49DE20E94DD5EE5 -:10BEA00061E070E080E090E026960FB6F894DEBF87 -:10BEB0000FBECDBFDF91CF91089590ED980F9A30CE -:10BEC00088F09FE9980F9A3110F4875508959FEBF9 -:10BED000980F9A3110F4875308958EE00E94BADBD0 -:10BEE00080E00895892F08957F928F929F92AF925C -:10BEF000BF92CF92DF92EF92FF920F931F93CF9357 -:10BF0000DF936C018B014A0160FF03C08EE00E9449 -:10BF1000BADBC0E0D0E0C017D107D0F47E01F694C0 -:10BF2000E794E80CF91C5601AC0EBD1EF5018081AA -:10BF30000E945D5F782EF50181810E945D5FF0E1D6 -:10BF40007F9E90011124822BF70180832296E3CFFC -:10BF5000F601E00FF11F8081882381F08EE0DF91F0 -:10BF6000CF911F910F91FF90EF90DF90CF90BF90F6 -:10BF7000AF909F908F907F900C94BADBDF91CF9120 -:10BF80001F910F91FF90EF90DF90CF90BF90AF90F7 -:10BF90009F908F907F9008952F923F924F925F9243 -:10BFA0006F927F928F929F92AF92BF92CF92DF92C9 -:10BFB000EF92FF920F931F93CF93DF9300D000D0A7 -:10BFC000CDB7DEB70DB71EB761E070E080E090E05E -:10BFD0000E941EDF6B017C0197FD0AC08091892DB4 -:10BFE00090E0A0E0B0E0C816D906EA06FB061CF017 -:10BFF0006BED7CE171C060E070E0CB010E941EDF60 -:10C00000623071058105910559F462E070E080E0CD -:10C0100090E00E9473DFCB01212C312C21010FC055 -:10C0200062E070E080E090E00E941EDF1B012C01C6 -:10C0300063E070E080E090E00E9473DFCB01FC01E0 -:10C0400001900020E9F7BF0161507109681B790B6D -:10C050003B01769467942DB73EB7261937090FB682 -:10C06000F8943EBF0FBE2DBFEDB7FEB731964F011E -:10C07000AF010E94745F22E12C9DC0012D9D900DA7 -:10C080001124A090872DB090882DA80EB91E60E0D5 -:10C0900070E0C5010E94C381C5010E940F82C501E5 -:10C0A0000E941B82262DA401B101F5018085918596 -:10C0B0000E94C87C009719F463EC7CE10DC0F50187 -:10C0C00091878087AC016C2D8BE79DE20E94EF7B0E -:10C0D000811112C06CEA7CE1CE0101960F940A0F27 -:10C0E000CE0101960E940BDACE0101960F94DA0C74 -:10C0F00060E070E0CB0104C061E070E080E090E0BF -:10C100000FB6F8941EBF0FBE0DBF26960FB6F8945B -:10C11000DEBF0FBECDBFDF91CF911F910F91FF907A -:10C12000EF90DF90CF90BF90AF909F908F907F90D7 -:10C130006F905F904F903F902F900895CF93DF9333 -:10C1400000D0CDB7DEB769E079E181E00E94A94E69 -:10C15000882389F161E070E080E090E00E94D1D70F -:10C16000672B682B692B41F061E070E080E090E084 -:10C170000E941EDFCB0109C061E070E080E090E02A -:10C180000E941EDFCB010E94AA90AE014F5F5F4F5D -:10C1900066E070E00E94745F2B8130E04A8150E0DD -:10C1A000698170E088EE90E30E944CBC61E070E031 -:10C1B00080E090E003C060E070E0CB010F900F9052 -:10C1C0000F90DF91CF91089562E77FE083E496E4DA -:10C1D0000F94360B6091212D7091222D83E496E40B -:10C1E0000F94690B60E070E081E29DE20D94D80D40 -:10C1F000FC018081882321F081E29DE20D94460FAD -:10C2000083E496E40D94690BAF92BF92CF92DF92D4 -:10C21000EF92FF920F931F93CF93DF936A017B01FD -:10C220005901F90101900020E9F78F01015011092E -:10C23000021B130BC8010F960F942F19EC018EE00F -:10C24000FE0111928A95E9F7A8014F5F5F4FB50192 -:10C25000CE010E960F94231E1B861A8685E99BE657 -:10C260009D878C87CE82DF82E886F986CE01DF91BA -:10C27000CF911F910F91FF90EF90DF90CF90BF90E3 -:10C28000AF900D94BE004F925F926F927F928F920B -:10C290009F92AF92BF92CF92DF92EF92FF92CF9395 -:10C2A000DF9360E070E0CB010E941EDFEB0120977E -:10C2B00061F061707727672B41F4C12CD12C760196 -:10C2C000C394812C912C540130C085EC91E10E94E3 -:10C2D00007DA60E070E0CB0139C0260137018FEF4B -:10C2E000481A580A680A780AC301B2010E94D1D7D5 -:10C2F000672B682B692BE9F0C301B2010E941EDF96 -:10C300003B01C701B6010E941EDF860E971EA81EC4 -:10C31000B91E9301B501A4018EE49DE20E9404615F -:10C3200082E0C80ED11CE11CF11CCC16DD06ACF27B -:10C3300009C0C301B2010E941EDFCB010E94AA9076 -:10C340003C01DFCF61E070E080E090E0DF91CF91D1 -:10C35000FF90EF90DF90CF90BF90AF909F908F9025 -:10C360007F906F905F904F900895AF92BF92CF9261 -:10C37000DF92EF92FF920F931F93CF93DF935C01B5 -:10C380006A017B018901C9010F94F11D01960F9487 -:10C390002F19EC01B8010F94CB1D9E01B701A60126 -:10C3A000C5010E940461CE01DF91CF911F910F91D1 -:10C3B000FF90EF90DF90CF90BF90AF900D94C71992 -:10C3C000CF92DF92EF92FF92CF93DF93CDB7DEB79C -:10C3D0002E970FB6F894DEBF0FBECDBF4EE055E1ED -:10C3E00063E681E00E947D528823E1F061E070E025 -:10C3F00080E090E00E94D1D7672B682B692B91F0E9 -:10C400008091392D882391F066EF74E1CE01019679 -:10C410000F940A0FCE0101960E940BDACE0101960D -:10C420000F94DA0CC12CD12C760140C041E050E0D1 -:10C4300060E070E0CE0101960E9400BF61E070E014 -:10C44000CE0101960E9475598D819E818536910598 -:10C4500090F06CED74E1CE0109960F940A0FCE01B5 -:10C4600009960E940BDACE0109960F94DA0CC12CC2 -:10C47000D12C760117C049815A8127EA39E161E060 -:10C4800070E080E00E94F14429813A8144E650E066 -:10C4900060E070E08EE49DE20E940461C12CD12C2A -:10C4A0007601C394CE0101960F94DA0CC701B60150 -:10C4B0002E960FB6F894DEBF0FBECDBFDF91CF91A1 -:10C4C000FF90EF90DF90CF900895CF93DF93CDB79B -:10C4D000DEB74885598560E070E08E819F810E94BB -:10C4E000E71FDF91CF9108954F925F926F927F92F5 -:10C4F0008F929F92AF92BF92CF92DF92EF92FF9274 -:10C500000F931F93CF93DF93CDB7DEB7CA55D109F1 -:10C510000FB6F894DEBF0FBECDBF8C01FC01E780E3 -:10C52000F08480914D2D8823F1F169E272E283E479 -:10C5300096E40F94360BB70183E496E40F94690BED -:10C5400062E272E283E496E40F94360BF8016081B4 -:10C5500071814AE050E083E496E40F94AC0C6CE106 -:10C5600072E283E496E40F94360B4AE050E0F8015F -:10C57000628583E496E40F948E0C65E172E283E4B5 -:10C5800096E40F94360BF8016385772767FD709565 -:10C5900077FF03C07195619571094AE050E083E42B -:10C5A00096E40F94570CF8012385332727FD309527 -:10C5B00037FF03C03195219531092093512D3093D8 -:10C5C000522DF801828590E09093542D8093532D45 -:10C5D000808191819093562D8093552D822F0E94BA -:10C5E0006FF8F70101900020E9F73197EE19FF0984 -:10C5F000339708F4BFC0F70180818B3509F0BAC0CA -:10C600000F9406059B01AC01BE016F5B7F4FC70114 -:10C610000E9406910F9406056B017C016BEE71E19F -:10C62000CE0101965C010F94591EB5018EE49DE286 -:10C630000E94135E882309F47EC0F80181818F93E4 -:10C6400080818F938CEF91E19F938F931F9280E471 -:10C650008F93BF92AF920F94351F01E410E00C0F3F -:10C660001D1F0C5F1F4F0FB6F894DEBF0FBECDBF6E -:10C6700092E0492E512C25E2822E2AE2922E30E4BD -:10C68000632E712C23968EAD9FAD2397841595054F -:10C6900024F1F801808191810E5F1F4FF501019017 -:10C6A0000020E9F73197EA19FB099F938F939F9236 -:10C6B0008F92C3018E1B9F0B9F938F93EA0DFB1DDF -:10C6C000FF93EF930F94351FFFEF4F1A5F0A0FB6DA -:10C6D000F894DEBF0FBECDBFD5CFF501019000208D -:10C6E000E9F73197EA19FB0989EE91E19F938F935E -:10C6F00080E490E08E1B9F0B9F938F93EA0DFB1DB0 -:10C70000FF93EF930F94351F8E010B5A1F4FB50106 -:10C71000C8010F94480D1F930F938EE49DE29F93E1 -:10C720008F930E946562C8010F94DA0C0FB6F894DB -:10C73000DEBF0FBECDBF1091032C1123E9F060EFD7 -:10C7400071E283E496E40F94360B0F940605AB0177 -:10C75000BC014C195D096E097F092AE030E083E4D1 -:10C7600096E40F94810C6DEE71E283E496E40F94ED -:10C77000760B03C010E001C011E0812FC65ADF4FD5 -:10C780000FB6F894DEBF0FBECDBFDF91CF911F91E2 -:10C790000F91FF90EF90DF90CF90BF90AF909F9060 -:10C7A0008F907F906F905F904F900895AF92BF925F -:10C7B000CF92DF92EF92FF920F931F93CF93DF936D -:10C7C000CDB7DEB7A2970FB6F894DEBF0FBECDBFD0 -:10C7D000B82EA62E8091042C811166C00F940605F8 -:10C7E0006B017C018E010F5F1F4FC8010E945C39F5 -:10C7F000C8010F94DA0C60E172E18EE49DE20E94C0 -:10C80000135E882399F12A2D332727FD30953F9316 -:10C81000AF922B2D332727FD30953F93BF9280E1B8 -:10C8200092E19F938F938FE192E19F938F931F9259 -:10C830008CE18F931F930F930F94351F5E018DE151 -:10C84000A80EB11CB801C5010F94480DBF92AF925C -:10C850008EE49DE29F938F930E946562C5010F94C1 -:10C86000DA0C0FB6F894DEBF0FBECDBF8091032C5B -:10C870008823D1F06AEC71E283E496E40F94360BDE -:10C880000F940605AB01BC014C195D096E097F09C7 -:10C890002AE030E083E496E40F94810C67EC71E2C7 -:10C8A00083E496E40F94760BA2960FB6F894DEBF5D -:10C8B0000FBECDBFDF91CF911F910F91FF90EF90F1 -:10C8C000DF90CF90BF90AF900895AF92BF92CF927C -:10C8D000DF92EF92FF920F931F93CF93DF93CDB729 -:10C8E000DEB7A2970FB6F894DEBF0FBECDBFB82E4D -:10C8F0008091042C81115CC00F9406056B017C01B2 -:10C900008E010F5F1F4FC8010E943F3AC8010F946C -:10C91000DA0C6AE272E18EE49DE20E94135E8823E3 -:10C9200049F11F92BF928AE292E19F938F938EE327 -:10C9300092E19F938F931F928CE18F931F930F939C -:10C940000F94351F5E018DE1A80EB11CB801C50121 -:10C950000F94480DBF92AF928EE49DE29F938F9308 -:10C960000E946562C5010F94DA0C0FB6F894DEBF21 -:10C970000FBECDBF8091032C8823D1F06FE971E207 -:10C9800083E496E40F94360B0F940605AB01BC01CB -:10C990004C195D096E097F092AE030E083E496E4D2 -:10C9A0000F94810C6CE971E283E496E40F94760BAA -:10C9B000A2960FB6F894DEBF0FBECDBFDF91CF9128 -:10C9C0001F910F91FF90EF90DF90CF90BF90AF90AD -:10C9D0000895AF92BF92CF92DF92EF92FF920F93A2 -:10C9E0001F93CF93DF93CDB7DEB76E970FB6F89452 -:10C9F000DEBF0FBECDBFB82E8091042C81115CC06C -:10CA00000F9406056B017C018E010F5F1F4FC8015B -:10CA10000E943F3AC8010F94DA0C65E472E18EE49B -:10CA20009DE20E94135E882349F11F92BF9285E424 -:10CA300092E19F938F938EE392E19F938F931F9246 -:10CA400088E18F931F930F930F94351F5E0189E147 -:10CA5000A80EB11CB801C5010F94480DBF92AF924A -:10CA60008EE49DE29F938F930E946562C5010F94AF -:10CA7000DA0C0FB6F894DEBF0FBECDBF8091032C49 -:10CA80008823D1F067E771E283E496E40F94360BD4 -:10CA90000F940605AB01BC014C195D096E097F09B5 -:10CAA0002AE030E083E496E40F94810C64E771E2BD -:10CAB00083E496E40F94760B6E960FB6F894DEBF7F -:10CAC0000FBECDBFDF91CF911F910F91FF90EF90DF -:10CAD000DF90CF90BF90AF9008958F929F92AF92CA -:10CAE000BF92CF92DF92EF92FF920F931F93CF935B -:10CAF000DF93CDB7DEB767970FB6F894DEBF0FBEF2 -:10CB0000CDBFB82E962E872E8091042C811173C034 -:10CB10004F8B0F9406056B017C018E010F5F1F4F39 -:10CB2000C8010E94203BC8010F94DA0C1F92BF92EB -:10CB300026E532E13F932F931F9240E1A42EAF925E -:10CB40001F930F930F94351FB8018EE49DE20E944E -:10CB5000135E0FB6F894DEBF0FBECDBF4F8988239A -:10CB600061F1242F332727FD30953F934F938F9208 -:10CB70009F921F92BF928DE592E19F938F931F9298 -:10CB8000AF921F930F930F94351F5E0131E1A30EF7 -:10CB9000B11CB801C5010F94480DBF92AF928EE44D -:10CBA0009DE29F938F930E946562C5010F94DA0CFA -:10CBB0000FB6F894DEBF0FBECDBF8091032C882343 -:10CBC000D1F064E571E283E496E40F94360B0F94A0 -:10CBD0000605AB01BC014C195D096E097F092AE00D -:10CBE00030E083E496E40F94810C61E571E283E424 -:10CBF00096E40F94760B67960FB6F894DEBF0FBEDF -:10CC0000CDBFDF91CF911F910F91FF90EF90DF90FB -:10CC1000CF90BF90AF909F908F9008956F927F922A -:10CC20008F929F92AF92BF92CF92DF92EF92FF923C -:10CC30000F931F93CF93DF93CDB7DEB766970FB6F1 -:10CC4000F894DEBF0FBECDBF782E4B01642E8091CD -:10CC5000042C8111ABC00F9406056B017C018E0181 -:10CC60000F5F1F4FC8010E94673CC8010F94DA0C88 -:10CC70001F927F928CE692E19F938F931F9250E1D7 -:10CC8000B52EBF921F930F930F94351FB8018EE4FA -:10CC90009DE20E94135E0FB6F894DEBF0FBECDBFBB -:10CCA000882361F1862D992787FD90959F936F9238 -:10CCB0009F928F921F927F9223E732E13F932F93AF -:10CCC0001F92BF921F930F930F94351F5E0131E1A6 -:10CCD000A30EB11CB801C5010F94480DBF92AF92CD -:10CCE0002EE43DE23F932F930E946562C5010F94AD -:10CCF000DA0C0FB6F894DEBF0FBECDBF862D8D7F48 -:10CD0000B9F5892829F41F927F9281E892E104C045 -:10CD10001F927F928CE892E19F938F931F9280E104 -:10CD20008F931F930F930F94351F0FB6F894DEBFA8 -:10CD30000FBECDBFB8018EE49DE20E94135E882332 -:10CD4000B9F05E0191E1A90EB11CB801C5010F94C3 -:10CD5000480DBF92AF928EE49DE29F938F930E9405 -:10CD60006562C5010F94DA0C0F900F900F900F9031 -:10CD70008091032C8823D1F060E371E283E496E490 -:10CD80000F94360B0F940605AB01BC014C195D09DD -:10CD90006E097F092AE030E083E496E40F94810C69 -:10CDA0006DE271E283E496E40F94760B66960FB61B -:10CDB000F894DEBF0FBECDBFDF91CF911F910F91D1 -:10CDC000FF90EF90DF90CF90BF90AF909F908F90AB -:10CDD0007F906F900895EF92FF920F931F93CF93E0 -:10CDE000DF93CDB7DEB7E0970FB6F894DEBF0FBE86 -:10CDF000CDBF6FE071E282E00E94A94E882351F01E -:10CE000061E070E080E090E00E94D1D7672B682B52 -:10CE1000692B21F460E070E0CB0140C061E070E07C -:10CE200080E090E00E9473DF162F072F62E070E031 -:10CE300080E090E00E941EDFCB010E94AA909F93A9 -:10CE40008F930F931F930F931F9388E992E19F9302 -:10CE50008F931F928AE28F93CE0101967C01FF92FD -:10CE60008F930F94351F8E01055D1F4FB701C801C9 -:10CE70000F94480D1F930F938EE49DE29F938F9321 -:10CE80000E946562C8010F94DA0C0FB6F894DEBFF9 -:10CE90000FBECDBF61E070E080E090E0E0960FB69D -:10CEA000F894DEBF0FBECDBFDF91CF911F910F91E0 -:10CEB000FF90EF900895CF92DF92EF92FF920F9341 -:10CEC0001F93CF93DF93CDB7DEB72E970FB6F894AD -:10CED000DEBF0FBECDBF60E070E0CB010E941EDF61 -:10CEE000613071058105910509F04DC061E070E088 -:10CEF00080E090E00E941EDF672B682B692B09F40D -:10CF000042C0C090122CD090132CE090142CF090C2 -:10CF1000152C0E94AE2D288739874A875B87888524 -:10CF20009985AA85BB858093122C9093132CA0938E -:10CF3000142CB093152C61E070E080E090E00E942A -:10CF40001EDF623071058105910509F450C0C114DE -:10CF5000D104E104F10409F44AC08091122C9091AB -:10CF6000132CA091142CB091152C8C199D09AE098D -:10CF7000BF09CD97A105B105D0F567EA79E181E355 -:10CF80009DE20F94D80D8091122C9091132CA091BA -:10CF9000142CB091152C892B8A2B8B2B19F10E9404 -:10CFA000AE2D29833A834B835C8349815A816B81FF -:10CFB0007C818091122C9091132CA091142CB09113 -:10CFC000152C481B590B6A0B7B0B31E020E080E0ED -:10CFD00090E04C3351056105710508F030E0632F96 -:10CFE000722F38C060E070E080E090E033C08EE4E3 -:10CFF0009DE20E94DD5E69EB72E18EE49DE20E949B -:10D00000135E8823B9F06DE970E28E010F5F1F4F48 -:10D01000C8010F940A0F1F930F938EE49DE29F9314 -:10D020008F930E946562C8010F94DA0C0F900F90E5 -:10D030000F900F908091352D9091362D892B09F40A -:10D040009CCF41E35DE26FEE7EEB81E19CE20E94CA -:10D05000EF3093CF2E960FB6F894DEBF0FBECDBF44 -:10D06000DF91CF911F910F91FF90EF90DF90CF90C4 -:10D070000895CF92DF92EF92FF920F931F93CF9379 -:10D08000DF93CDB7DEB760970FB6F894DEBF0FBE63 -:10D09000CDBF8DE79BE20E948C228E010F5F1F4F58 -:10D0A00081110FC063E87FE1C8010F940A0FC80126 -:10D0B0000E940BDAC8010F94DA0C60E070E0CB013B -:10D0C000C0C064E67FE1C8010F940A0FC8010E9446 -:10D0D0000BDAC8010F94DA0C7E0129E0E20EF11C94 -:10D0E00041E050E064E670E0C7010E9400BF40E00C -:10D0F00050E0BA0186EC92E10E945990D82EC92ED8 -:10D1000040E050E0BA0188EB98E10E945990CF923C -:10D11000DF929F938F938BEC92E19F938F93FF927B -:10D12000EF920E9426BFA70161E17CE2C8010E9444 -:10D130008232C8010F94DA0C80919D2D90919E2D22 -:10D140000FB6F894DEBF0FBECDBF009709F041C007 -:10D150008DE79BE20E94561F24E140E050E060E032 -:10D1600070E08DE79BE20E94FA1D8DE79BE20E9432 -:10D17000971D20E030E04FEF50E060E070E088EE77 -:10D1800090E30E94C2BB6DED72E1C8010F94480D9F -:10D190001F930F936EE4C62E6DE2D62EDF92CF92D0 -:10D1A0000E946562C8010F94DA0C62EE72E1C80158 -:10D1B0000F94480D1F930F93DF92CF920E946562E8 -:10D1C000C8010F94DA0C0FB6F894DEBF0FBECDBFC6 -:10D1D00031C04DEE52E163E476E40E94D1888111C2 -:10D1E0000DC061E47FE1C8010F940A0FC8010E94DD -:10D1F000D8D8C8010F94DA0CD12C02C0DD24D39406 -:10D2000042EF52E163E476E480919D2D90919E2D52 -:10D210000E94D18881110CC06EE17FE1C8010F949A -:10D220000A0FC8010E94D8D8C8010F94DA0C02C0B6 -:10D23000D1108ECFC7010F94DA0C61E070E080E06E -:10D2400090E060960FB6F894DEBF0FBECDBFDF91C1 -:10D25000CF911F910F91FF90EF90DF90CF900895A5 -:10D260000F931F93CF93DF93CDB7DEB72E970FB6F3 -:10D27000F894DEBF0FBECDBF40E95BE163E082E022 -:10D280000E947D52882309F482C00E94904B182F7F -:10D2900062E070E080E090E00E941EDF062F862FA3 -:10D2A0000E94C14B672B682B692B09F470C041E0C9 -:10D2B00050E060E870E0CE0101960E9400BF68EF88 -:10D2C00072E1CE0101960F94460F612F8DE79BE22C -:10D2D0000E949523BC01CE0101960F942A106AE0AA -:10D2E00073E1CE0101960F94460F612F8DE79BE20B -:10D2F0000E949523BC01CE0101960F942A106BE188 -:10D3000073E1CE0101960F94460F602F8DE79BE2EB -:10D310000E94A123BC01CE0101960F942A106FE157 -:10D3200073E1CE0101960F94460F60E070E0CB01EF -:10D330000E941EDF633071058105910511F40130F3 -:10D3400051F162E273E1CE0101960F94460F6981BB -:10D350007A818E01075F1F4FC8010F94480D1F93FC -:10D360000F938EE49DE29F938F930E946562C801A4 -:10D370000F94DA0CCE0101960F94DA0C0F900F90F7 -:10D380000F900F9061E070E080E090E033C060E0CB -:10D3900070E0CB012FC063E070E080E090E00E947D -:10D3A0001EDF062F462F612F8DE79BE20E94C525C9 -:10D3B00065E273E1CE0101960F94460F612F8DE770 -:10D3C0009BE20E949523BC01CE0101960F942A1086 -:10D3D0006BE173E1CE0101960F94460F602FCE01F1 -:10D3E00001960F946A0F6FE173E1CE0101960F94DD -:10D3F000460FA7CF2E960FB6F894DEBF0FBECDBF57 -:10D40000DF91CF911F910F910895AF92BF92CF926C -:10D41000DF92EF92FF920F931F93CF93DF93CDB7DD -:10D42000DEB7A6970FB6F894DEBF0FBECDBF8C0156 -:10D430001092392DFC01848595850F94C719809130 -:10D440004D2D882309F46BC0F801818981112CC00E -:10D4500068EC77E183E496E40F94360BF80165817C -:10D4600076814AE050E083E496E40F94AC0CF80136 -:10D4700082898823A1F068EA77E183E496E40F9437 -:10D48000360B4AE050E0F801628983E496E40F9499 -:10D490008E0C66EA77E183E496E40F94360B83E41E -:10D4A00096E40F94720B3BC06EE977E183E496E457 -:10D4B0000F94360BF8018189813189F028F482308C -:10D4C00041F0803149F011C0803261F0813221F0A9 -:10D4D0000CC06EE877E10BC060E777E108C066E555 -:10D4E00077E105C064E377E102C062E277E183E4BB -:10D4F00096E40F94360B60E277E183E496E40F94B0 -:10D50000360B40E150E0F801618983E496E40F9422 -:10D510008E0C6EE177E183E496E40F94760BF801CC -:10D52000828990E09093522D8093512D0F9406059F -:10D530006B017C0164E373E1CE0101965C010F9401 -:10D54000591EB5018EE49DE20E94135E882391F17D -:10D55000F8018189811103C0828990E002C080E0D6 -:10D5600090E09F938F93F80186818F9385818F93AD -:10D5700086E493E19F938F931F9280E28F93BF92F3 -:10D58000AF920F94351F8E010F5D1F4FB501C8017B -:10D590000F94480D1F930F938EE49DE29F938F93FA -:10D5A0000E946562C8010F94DA0C0FB6F894DEBFD2 -:10D5B0000FBECDBF8091032C8823D1F068EF76E1B8 -:10D5C00083E496E40F94360B0F940605AB01BC017F -:10D5D0004C195D096E097F092AE030E083E496E486 -:10D5E0000F94810C65EF76E183E496E40F94760B5B -:10D5F000A6960FB6F894DEBF0FBECDBFDF91CF91D8 -:10D600001F910F91FF90EF90DF90CF90BF90AF9060 -:10D610000895EF92FF920F931F93CF93DF9300D063 -:10D6200000D0CDB7DEB761EC73E181E00E94A94E76 -:10D63000882309F46AC060E973E18E010F5F1F4F10 -:10D64000C8010F940A0F1F930F937EE4E72E7DE22B -:10D65000F72EFF92EF920E946562C8010F94DA0CD8 -:10D660006AE173E1C8010F940A0F1F930F93FF92B1 -:10D67000EF920E946562C8010F94DA0C68EC72E1C7 -:10D68000C8010F940A0F1F930F93FF92EF920E940D -:10D690006562C8010F94DA0C64E972E1C8010F9465 -:10D6A0000A0F1F930F93FF92EF920E946562C801C9 -:10D6B0000F94DA0C6FE772E1C8010F940A0F1F9301 -:10D6C0000F93FF92EF920E946562C8010F94DA0CEB -:10D6D00061E070E080E090E00E941EDF9B01AC0101 -:10D6E000A8EEB3E00F94CF17AB01BC0128E432E100 -:10D6F000C7010E94B5610FB6F894DEBF0FBECDBF63 -:10D7000061E070E080E090E003C060E070E0CB0199 -:10D7100026960FB6F894DEBF0FBECDBFDF91CF9136 -:10D720001F910F91FF90EF900895EF92FF920F934A -:10D730001F93CF93DF9300D000D0CDB7DEB77C012D -:10D7400080914F2D8701025F1F4F882359F06DECA8 -:10D750007EE083E496E40F94360BB80183E496E40C -:10D760000F949A0BB8018E010F5F1F4FC8010F94E1 -:10D77000480D1F930F938EE49DE29F938F930E9419 -:10D780006562C8010F94DA0C0F900F900F900F9004 -:10D79000C70126960FB6F894DEBF0FBECDBFDF914E -:10D7A000CF911F910F91FF90EF900D94C7197F9229 -:10D7B0008F929F92AF92BF92CF92DF92EF92FF92A1 -:10D7C0000F931F93CF93DF93CDB7DEB7A6970FB616 -:10D7D000F894DEBF0FBECDBF6C0181E0F6018187FA -:10D7E0000E94AEE20E941EE08EE49DE20E94C558B7 -:10D7F0006DE57FE08E010F5F1F4FC8010F940A0F88 -:10D80000C8010E940BDAC8010F94DA0C6CE27FE0C9 -:10D81000C8010F940A0FC8010E940BDAC8010F94C7 -:10D82000DA0C6AE27FE0C8010F940A0FC8010E9477 -:10D83000D8D8C8010F94DA0C8DE79BE20E94A91F8B -:10D840000E94CCD86CE17FE0C8010F940A0FC80198 -:10D850000E94D8D8C8010F94DA0C8DE79BE20E9491 -:10D86000AD1F0E94CCD86AE17FE0C8010F940A0F77 -:10D87000C8010E940BDAC8010F94DA0C68E17FE05E -:10D88000C8010F940A0FC8010E94D8D8C8010F948C -:10D89000DA0C0E949BD60E947BD96CE07FE0C80125 -:10D8A0000F940A0FC8010E940BDAC8010F94DA0C1A -:10D8B0008DE79BE20E948022882319F06AEF7EE0C8 -:10D8C00002C067EE7EE0C8010F940A0FC8010E94F3 -:10D8D0000BDAC8010F94DA0C1F921F9280E693E1D5 -:10D8E0009F938F931F9280E28F931F930F930F94B8 -:10D8F000351FB8018EE49DE20E94135E0FB6F894C6 -:10D90000DEBF0FBECDBF8823B9F07E0131E2E30E4A -:10D91000F11CB801C7010F94480DFF92EF928EE4FD -:10D920009DE29F938F930E946562C7010F94DA0C6A -:10D930000F900F900F900F90E1E6EE2EF12CF8E68D -:10D940008F2EF3E19F2EA0E27A2E5E0181E2A80ED7 -:10D95000B11CFF92EF929F928F921F927F921F9322 -:10D960000F930F94351FB8018EE49DE20E94135E61 -:10D970000FB6F894DEBF0FBECDBF882399F0B80173 -:10D98000C5010F94480DBF92AF928EE49DE29F9324 -:10D990008F930E946562C5010F94DA0C0F900F906F -:10D9A0000F900F90FFEFEF1AFF0A2AE7E216F1043B -:10D9B00081F6B12C7E0131E2E30EF11C40E250E031 -:10D9C00061E073E1C8010F94601E6B2D8DE79BE24F -:10D9D0000E94952340E250E0BC01C8010F94D21D83 -:10D9E000B8018EE49DE20E94135E882399F0B8018D -:10D9F000C7010F94480DFF92EF928EE49DE29F9332 -:10DA00008F930E946562C7010F94DA0C0F900F90FC -:10DA10000F900F90B39480E2B812D0CFC6010E944D -:10DA2000E460A6960FB6F894DEBF0FBECDBFDF91BF -:10DA3000CF911F910F91FF90EF90DF90CF90BF900B -:10DA4000AF909F908F907F900895CF93DF93EC01DC -:10DA50000E94949162E27AE383E793E10E94BFDF40 -:10DA60006BED77E484E893E10E94BFDF65E37AE33E -:10DA700085E993E10E94BFDF6BE27AE383EA93E1F9 -:10DA80000E94BFDF60E176E581EB93E10E94BFDF9A -:10DA900062ED77E48DEB93E10E94BFDF69EC77E400 -:10DAA0008DEC93E10E94BFDF69E17AE38EED93E1B3 -:10DAB0000E94BFDF61E77EE581EF93E10E94BFDF57 -:10DAC0006DEF7AE38DEF93E10E94BFDF60E474E5D0 -:10DAD0008AE094E10E94BFDF69ED73E78BE194E196 -:10DAE0000E94BFDF63E672E587E294E10E94BFDF38 -:10DAF00069E472E587E394E10E94BFDF6FE272E5BB -:10DB000085E494E10E94BFDF6BED71E586E594E169 -:10DB10000E94BFDF6DE977E482E694E10E94BFDFF7 -:10DB200066E37FE38EE694E10E94BFDF61EC71E57E -:10DB30008CE794E10E94BFDF67EA71E58BE894E12E -:10DB40000E94BFDF6DE871E58BE994E10E94BFDFC1 -:10DB50006FE671E588EA94E10E94BFDF6AE777E447 -:10DB600085EB94E10E94BFDF6FE875E481EC94E1FE -:10DB70000E94BFDF61EF76E38EEC94E10E94BFDF8D -:10DB80006DEF76E38AED94E10E94BFDF66E077E314 -:10DB900084EE94E10E94BFDF60E776E48EEE94E1CC -:10DBA0000E94BFDF69E07BE686EF94E10E94BFDF61 -:10DBB00065E97CE585E095E10E94BFDF65E17CE5F4 -:10DBC0008FE095E10E94BFDF6BE77BE58DE195E19A -:10DBD0000E94BFDF60EE71E68FE295E10E94BFDF39 -:10DBE00060E07BE58BE395E10E94BFDF60E87AE5CA -:10DBF0008AE495E10E94BFDF6BE378E58EEE91E168 -:10DC00000E94BFDF61E078E584ED9DE00E94BFDF08 -:10DC100061E579E388E595E10E94BFDF66E479E399 -:10DC200086E695E10E94BFDF66EF79E384E795E140 -:10DC30000E94BFDF65E571E587E895E10E94BFDFDF -:10DC400064E271E58DE995E10E94BFDF62E574E46D -:10DC500083EB95E10E94BFDF69E574E480EC95E118 -:10DC60000E94BFDF68E37FE58AE497E10E94BFDF9F -:10DC70006DE57EE38DEA94E10E94BFDF6EE577E318 -:10DC80008EEC95E10E94BFDF60E27EE48AED95E1D3 -:10DC90000E94BFDF63E07EE48EEE95E10E94BFDF6D -:10DCA0006EED76E383E096E10E94BFDF68EE76E3F7 -:10DCB0008AE196E10E94BFDF66E87CE482E396E1B8 -:10DCC0000E94BFDF68E67CE481E496E10E94BFDF4A -:10DCD00060E87DE48FE496E10E94BFDF6BEF73E4C0 -:10DCE0008DE596E10E94BFDF6EE37EE481E796E179 -:10DCF0000E94BFDF6EE37EE48FED90E10E94BFDF04 -:10DD00006EE07BE48FE796E10E94BFDF62EF73E491 -:10DD100086E896E10E94BFDF69EC7AE48EE896E13E -:10DD20000E94BFDF64E87AE486E996E10E94BFDFE3 -:10DD30006FE37AE480EA96E10E94BFDF6AEF79E45C -:10DD400089EA96E10E94BFDF65EB79E482EB96E118 -:10DD50000E94BFDF60E779E48DEB96E10E94BFDFB0 -:10DD60006BE279E48DEC96E10E94BFDF66EE78E429 -:10DD700089ED96E10E94BFDF61EA78E484EE96E1E6 -:10DD80000E94BFDF6CE578E48FEE96E10E94BFDF72 -:10DD90006EE07BE489EF96E10E94BFDF63E773E505 -:10DDA00083E097E10E94BFDF6EE970E68DE097E1C6 -:10DDB0000E94BFDF66E97DE388E197E10E94BFDF53 -:10DDC0006FED70E583E297E10E94BFDF69EE73E4D7 -:10DDD0008EE297E10E94BFDF6AE970E588E397E190 -:10DDE0000E94BFDF66EA78E386E497E10E94BFDF26 -:10DDF0006FE077E383E992E10E94BFDF64E177E3BC -:10DE000088E892E10E94BFDF68E177E388E997E163 -:10DE10000E94BFDF6DE177E381E597E10E94BFDFFC -:10DE200061E277E38FE697E10E94BFDF65E277E387 -:10DE30008DE797E10E94BFDF6AE277E38AE597E129 -:10DE40000E94BFDF6FE277E38CE894E20E94BFDFBD -:10DE50006EE473E587E697E10E94BFDF6CE870E54A -:10DE600085E797E10E94BFDF6EE770E584E897E100 -:10DE70000E94BFDF60E770E580E997E10E94BFDFA5 -:10DE800062E670E585EA97E10E94BFDF6EE470E527 -:10DE900081EB97E10E94BFDF69E170E58DEB97E1CF -:10DEA0000E94BFDF68EA7FE486EC97E10E94BFDF53 -:10DEB00060E379E680ED97E10E94BFDF68EA72E4F3 -:10DEC00089ED97E10E94BFDF64E97FE484EE97E18A -:10DED0000E94BFDF6EE373E58FEE97E10E94BFDF24 -:10DEE00063E77DE386E098E10E94BFDF64E47CE3C2 -:10DEF00089E198E10E94BFDF63E279E38BE298E178 -:10DF00000E94BFDF68EB70E48BE398E10E94BFDF03 -:10DF100064EE77E489E498E10E94BFDF6CEC7FE572 -:10DF200089E598E10E94BFDF69E471E480E798E148 -:10DF30000E94BFDF63EB70E780E898E10E94BFDFDB -:10DF400060E670E483E998E10E94BFDF6FE37FE35E -:10DF500080EA98E10E94BFDF63E471E68BEE9CE00B -:10DF60000E94BFDF69E378E682EB98E10E94BFDFA1 -:10DF700061E37FE382EE92E10E94BFDF68E27FE32C -:10DF80008EEB98E10E94BFDF67E477E38CEC98E1C9 -:10DF90000E94BFDF69EC7EE38BED98E10E94BFDF5A -:10DFA00062E57FE489EE98E10E94BFDF68E37FE4E9 -:10DFB00087EF98E10E94BFDF6DE97EE383E099E19E -:10DFC0000E94BFDF67E47EE38FE099E10E94BFDF3C -:10DFD0006CEC77E58AE199E10E94BFDF6DEF76E5B1 -:10DFE00083E299E10E94BFDF63E57BE48DE299E182 -:10DFF0000E94BFDF60EB74E587E399E10E94BFDF19 -:10E000006BE577E68CEB92E10E94BFDF64E37EE391 -:10E0100085E499E10E94BFDF60E27EE382E599E159 -:10E020000E94BFDF69EE7DE38EE599E10E94BFDFCC -:10E0300064E377E38EE699E10E94BFDF6BEC72E563 -:10E040008AE694E10E94BFDF6FE17FE48DE799E10A -:10E050000E94BFDF62E07FE486E899E10E94BFDFB3 -:10E0600064EE7EE480E999E10E94BFDF6BEE76E624 -:10E070008BE999E10E94BFDF8EE096E69093902BAA -:10E0800080938F2B8DE695E69093922B8093912B26 -:10E0900089EE94E69093942B8093932B85E694E6F7 -:10E0A0009093962B8093952B86ED93E690939A2BE5 -:10E0B0008093992B81E79BE49093E9308093E8303B -:10E0C0008985882319F0CE010E94D76B44E752E678 -:10E0D00061E08DE79BE20E94771F8EE49DE2DF9175 -:10E0E000CF910C94DD5E20E02F77FC018081382FEA -:10E0F00032953F7099F08F7090E0A0E0F3E1880FC7 -:10E10000991FAA1FFA95D9F7582F492F3D578A2FE3 -:10E1100030FB87F936952078232B21C0811104C06C -:10E1200050E040E020781BC033E8482F4870880F4B -:10E130009FEF930F411102C0392FF7CF932F969580 -:10E140002078292B90E0A0E043E1880F991FAA1FB7 -:10E150004A95D9F7582F492F8A2F30FB87F9652F19 -:10E16000742F922F0895AF92BF92CF92DF92EF92C9 -:10E17000FF920F931F93CF93DF9300D000D0CDB7C2 -:10E18000DEB761E070E080E090E00E941EDF97FD66 -:10E190000AC00091892D10E020E030E0601771077F -:10E1A000820793071CF066E07FE117C042E1469FBB -:10E1B0009001479F300D11248091872D9091882DDB -:10E1C000820F931F0E9448828C01009721F0C12C7E -:10E1D000B6E0DB2E3BC068ED7EE1CE0101960F94E8 -:10E1E0000A0FCE0101960E940BDACE0101960F9420 -:10E1F000DA0C60E070E0CB014CC2580128E0C29E0E -:10E20000A00CB11C1124C50101965C01DC0114961F -:10E21000ED91FC911597309741F0868197810E948E -:10E22000CCD888E093E10E94CCD8F501808191811F -:10E230008430910509F440C174F08630910509F4E9 -:10E24000F2C10CF4D0C00797E1F1C394D8018C91CE -:10E25000C81698F21AC28230910509F449C1039791 -:10E26000A1F7A680B780F50183810E9424D966EECC -:10E270007DE1CE0101960F940A0FCE0101960E9416 -:10E28000D8D8CE0101960F94DA0CD5018C910E945A -:10E2900024D969ED7DE1CE0101960F940A0FCE01DC -:10E2A00001960E94D8D8CE0101960F94DA0CF501A0 -:10E2B000608170E040E050E0818192810E94834063 -:10E2C000E1C1A680B780C50102960E94CCD86BEC54 -:10E2D0007EE1CE0101960F940A0FCE0101960E94B5 -:10E2E000D8D8CE0101960F94DA0CF5016081D69E44 -:10E2F000B001112467597C4DCE0101960F940A0F8D -:10E30000CE0101960E94D8D8CE0101960F94DA0C66 -:10E310006CEB7EE1CE0101960F940A0FCE010196BF -:10E320000E94D8D8CE0101960F94DA0CD50111962F -:10E330008C91882309F448C0E894F7F8282F229597 -:10E340002F70A9F08F7090E0A0E0B3E1880F991FC3 -:10E35000AA1FBA95D9F7582F492F2758EA2E20FB24 -:10E36000E7F82695EF2DE078FE2EF22A21C099E7F6 -:10E37000382F3870880F2FEF290F311102C0922FDC -:10E38000F7CF90FBE7F89695FF2DF078FF2EF92A4E -:10E3900090E0A0E023E1880F991FAA1F2A95D9F7E2 -:10E3A000582F492F8A2F8F773E2D3078E32EE82A79 -:10E3B000FA0144E650E06F2F7E2F8E2D9F2D0E9494 -:10E3C000075568EB7EE102C060EB7EE1CE0101966D -:10E3D0000F940A0FCE0101960E94D8D8CE01019663 -:10E3E0000F94DA0C4FC1A680B780C50106960E9433 -:10E3F000CCD862EA7EE1CE0101960F940A0FCE01DD -:10E4000001960E94D8D8CE0101960F94DA0CF5013E -:10E410006081D69EB001112467597C4DCE010196D2 -:10E420000F940A0FCE0101960E94D8D8CE01019612 -:10E430000F94DA0C6AE97EE1CE0101960F940A0F7F -:10E44000CE0101960E94D8D8CE0101960F94DA0C25 -:10E45000D50111966C91D69EB001112467597C4D5F -:10E46000CE0101960F940A0FCE0101960E94D8D8D2 -:10E47000CE0101960F94DA0C6FE87EE1CE01019691 -:10E480000F940A0FCE0101960E94D8D8CE010196B2 -:10E490000F94DA0CF5016281738184819581611595 -:10E4A00071058105910529F00E9499D96BE87EE1FB -:10E4B0008DCF63E87EE18ACFA680B780C501019643 -:10E4C0000E94CCD864E77EE1CE0101960F940A0F3A -:10E4D000CE0101960E94D8D8CE0101960F94DA0C95 -:10E4E000F5016081D69EB001112467597C4D6ECF35 -:10E4F000A680B78066E67EE1CE0101960F940A0FF2 -:10E50000CE0101960E94D8D8CE0101960F94DA0C64 -:10E51000F5016081D69EB001112467597C4DCE0172 -:10E5200001960F940A0FCE0101960E94D8D8CE0111 -:10E5300001960F94DA0C69E57EE1CE0101960F9405 -:10E540000A0FCE0101960E94D8D8CE0101960F94F1 -:10E55000DA0CD50111968C91882359F0C5010196EA -:10E560000E94737044E650E00E94075566E57EE124 -:10E5700002C06EE47EE1CE0101960F940A0FCE0137 -:10E5800001960E94D8D8CE0101960F94DA0C61E46E -:10E590007EE1CE0101960F940A0FCE0101960E94F2 -:10E5A000D8D8CE0101960F94DA0CF5018281882328 -:10E5B00059F0C50102960E94737044E650E00E9433 -:10E5C00007556EE37EE102C066E37EE1CE0101966F -:10E5D0000F940A0FCE0101960E94D8D8CE01019661 -:10E5E0000F94DA0C69E27EE1CE0101960F940A0FD6 -:10E5F000CE0101960E94D8D8CE0101960F94DA0C74 -:10E60000D50113968C91882359F0C50103960E9479 -:10E61000737044E650E00E94075566E27EE1D6CE74 -:10E620006EE17EE1D3CEF501A680B780C5010396E9 -:10E630000E94CCD86CE07EE1CE0101960F940A0FC7 -:10E64000CE0101960E94D8D8CE0101960F94DA0C23 -:10E65000D5018C910E9424D96DEF7DE1CE01019608 -:10E660000F940A0FCE0101960E94D8D8CE010196D0 -:10E670000F94DA0CF501818192810E945ED968EFD6 -:10E680007DE1A4CE0E94B7D9E0CD61E070E080E0EA -:10E6900090E026960FB6F894DEBF0FBECDBFDF9197 -:10E6A000CF911F910F91FF90EF90DF90CF90BF908F -:10E6B000AF900895CF92DF92EF92FF92CF93DF93C6 -:10E6C000CDB7DEB76A970FB6F894DEBF0FBECDBFE9 -:10E6D00041E050E060E870E0CE0101960E9400BF8A -:10E6E00068A579A5CE0101960F943F0F68E2CE018F -:10E6F00001960F94560FEAA5FBA560817181CE01AA -:10E7000045960F94480D68EE7CE0CE0109960F9473 -:10E71000480D69E173E1CE010F960F94480DAE01EB -:10E72000475F5F4FBE01615F7F4FCE0145960F94FB -:10E73000B811CE010F960F94DA0CCE0109960F9402 -:10E74000DA0C62E2CE0101960F94560FBE016B5EA9 -:10E750007F4FCE0101960F943F0F62E2CE010196EA -:10E760000F94560FCE0145960F94DA0C69E2CE0154 -:10E7700001960F94560FAE014F5F5F4F6EA17FA1C0 -:10E780008CA19DA10E94E71F6B017C01CE01019627 -:10E790000F94DA0CC701B6016A960FB6F894DEBF83 -:10E7A0000FBECDBFDF91CF91FF90EF90DF90CF9064 -:10E7B0000895CF92DF92EF92FF920F931F93CF9322 -:10E7C000DF93CDB7DEB729970FB6F894DEBF0FBE43 -:10E7D000CDBF48E550E164E082E00E947D5288238D -:10E7E00009F459C060E070E0CB010E941EDF633085 -:10E7F00071058105910544F063E070E080E090E0F0 -:10E800000E941EDF262F01C024E162E070E080E05C -:10E8100090E029870E941EDF6B017C0161E070E0BF -:10E8200080E090E00E941EDF2985A6018DE79BE233 -:10E830000E94FA1D60E070E0CB010E941EDF643090 -:10E840007105810591055CF164E070E080E090E085 -:10E850000E9473DF78876F8366E574E18E010F5F36 -:10E860001F4FC8010F94480DCE0107969F938F93B9 -:10E870001F930F931F921F928EE49DE29F938F939D -:10E880000E945A73C8010F94DA0C0FB6F894DEBFD9 -:10E890000FBECDBF04C060E070E0CB0104C061E0FA -:10E8A00070E080E090E029960FB6F894DEBF0FBECE -:10E8B000CDBFDF91CF911F910F91FF90EF90DF902F -:10E8C000CF9008950F9300E020E040E060E088E5FD -:10E8D0009DE20F94C30A81E08093572D41E050E000 -:10E8E00060E070E081E39DE20E9400BF41E050E003 -:10E8F00060E070E089E29DE20E9400BF41E050E0EC -:10E9000060E070E081E29DE20E9400BF41E050E0E3 -:10E9100060E070E089E19DE20E9400BF67EA79E172 -:10E9200083E19DE20F94480D41E050E060E070E02B -:10E9300089E09DE20F910C9400BF89E09DE20F9465 -:10E94000DA0C83E19DE20F94DA0C89E19DE20F94E9 -:10E95000DA0C81E29DE20F94DA0C89E29DE20F94D9 -:10E96000DA0C81E39DE20D94DA0C8F929F92AF92C4 -:10E97000BF92CF92DF92EF92FF920F931F93CF93AC -:10E98000DF93CDB7DEB72C970FB6F894DEBF0FBE7E -:10E99000CDBF8C01FC018185882309F4EDC08DEA8F -:10E9A000C82E8EE0D82E99E0A92E9DE2B92E99248A -:10E9B000939483E496E40F94CF07892B09F4DAC08B -:10E9C00083E496E40F94E807882EFDE08F1719F092 -:10E9D0008AE0881247C083E496E40F94720B80911A -:10E9E0001D2D90911E2D892BC9F16091192D7091CB -:10E9F0001A2DCE0101960F94480D1A861986D886D5 -:10EA0000CF82BC86AB86AE014F5F5F4FBE01695FB0 -:10EA10007F4F8EE49DE20E94E71FCE0101960F9486 -:10EA2000DA0C6091092D70910A2D83E496E40F941D -:10EA3000690B69E17DE283E19DE20F94B50D60E031 -:10EA400070E089E09DE20F94D80DBC0189E19DE260 -:10EA50000F94B50D8EE49DE20E94C558C8010E9436 -:10EA6000E4607BC0E8E08E1226C080911D2D90915D -:10EA70001E2D892BC9F0E0914346F0914446028057 -:10EA8000F381E02D43E050E064EA79E183E496E429 -:10EA9000199560911D2D70911E2D6150710989E1AC -:10EAA0009DE20F94D91259C067E070E083E496E4C8 -:10EAB0000E941F4C52C0FBE18F1203C09092112D97 -:10EAC0004CC08091112D8823D9F18091122D8B316A -:10EAD00009F443C08B3589F581E488122EC06DE0BE -:10EAE00070E083E496E40E941F4CE12CF12C8091AD -:10EAF0001D2D90911E2DE816F90650F460E270E08D -:10EB000083E496E40E941F4CEFEFEE1AFE0AEFCF6B -:10EB10006DE070E083E496E40E941F4CC8010E94FF -:10EB2000E46063E17DE289E19DE20F94B50D69E166 -:10EB30007DE283E496E40F945B0B1092112D0DC0DF -:10EB4000682D772767FD709583E496E40E941F4C3B -:10EB5000682D89E19DE20F94560F8092122D21E0DD -:10EB600080911D2D90911E2D892B09F420E0F80134 -:10EB700020831FCF0E9485F00F9406050E94D49039 -:10EB80002C960FB6F894DEBF0FBECDBFDF91CF91AC -:10EB90001F910F91FF90EF90DF90CF90BF90AF90BB -:10EBA0009F908F9008951F920F920FB60F9211248D -:10EBB0008F9381E08093702D8F910F900FBE0F90F7 -:10EBC0001F9018951F920F920FB60F921124CF929B -:10EBD000DF92EF922F933F934F935F938F939F9387 -:10EBE000AF93BF938091692D90916A2DA0916B2D69 -:10EBF000B0916C2DC0906D2DD0906E2DE0906F2D4A -:10EC00004E2D9601205C394B484F203452E4350795 -:10EC10005FE0450728F48159934FAE4FBF4F08C0BE -:10EC20004E2D96013C5F47408059934FAE4FBF4FEA -:10EC30008093692D90936A2DA0936B2DB0936C2DCA -:10EC400020936D2D30936E2D40936F2DBF91AF911A -:10EC50009F918F915F914F913F912F91EF90DF9016 -:10EC6000CF900F900FBE0F901F9018951895209180 -:10EC7000E1003091E2006091E300862F90E0A0E097 -:10EC8000B0E077276627732B622B2091E400922B4C -:10EC900008952091ED003091EE006091EF00862FF5 -:10ECA00090E0A0E0B0E077276627732B622B2091DD -:10ECB000F000922B08950F931F93092F11272227FD -:10ECC00033270093F0008C01222733270093EF00B5 -:10ECD000072F182F292F33270093EE006093ED00A4 -:10ECE0001F910F910895E6EBF0E0808180628083B0 -:10ECF000E1EBF0E08081887F81608083ECEDF0E0E3 -:10ED0000808180638083EFEDF0E080818860808384 -:10ED1000E8E6F0E0808181608083089578948895AA -:10ED2000F8949091702D911104C0882311F080E027 -:10ED300008959091702D911104C09091E00092FF80 -:10ED4000EDCF84E08093E00081E08093702D089502 -:10ED5000CF92DF92EF92FF92CF939B01AC01A8EE8E -:10ED6000B3E00F94CF176B017C01C4E0F694E794F5 -:10ED7000D794C794CA95D1F782E0C816D104E104AC -:10ED8000F10428F4B2E0CB2ED12CE12CF12CCFB73A -:10ED9000F8940E9437766C0D7D1D8E1D9F1D0E947C -:10EDA0005B7684E08093E0001092702DCFBFCF910E -:10EDB000FF90EF90DF90CF900895CF92DF92EF9287 -:10EDC000FF920E9449766B017C010E943776209168 -:10EDD000E00022FD04C02091702D222321F060E08C -:10EDE00070E0CB0108C0A7019601261B370B480B2A -:10EDF000590BCA01B901FF90EF90DF90CF900895B1 -:10EE00002F923F924F925F926F927F928F929F923A -:10EE1000AF92BF92CF92DF92EF92FF920F931F9328 -:10EE2000CF93DF93CDB7DEB72D970FB6F894DEBF43 -:10EE30000FBECDBF182F20B72B8380E880BF8091F5 -:10EE40007A008C8380917A008F7780937A009091FA -:10EE5000C1009D838091C10083FF06C080E00F94B4 -:10EE60007807892B09F46DC183B7817F866083BFE2 -:10EE700083B7816083BFF894A091B100AE831092F4 -:10EE8000B100EDB3EF83F0916B00F887D89A8091D1 -:10EE90005E2D90915F2DA091602DB091612D91FF1D -:10EEA00005C080916B00816080936B0080915E2D26 -:10EEB00090915F2DA091602DB091612D94FF05C0C0 -:10EEC00080916B00826080936B0080915E2D9091A9 -:10EED0005F2DA091602DB091612D92FF05C08091B2 -:10EEE0006B00846080936B0080915E2D90915F2D0C -:10EEF000A091602DB091612D93FF05C080916B00B2 -:10EF0000886080936B0080915E2D82FF05C08091A8 -:10EF10006B00806880936B0080915E2D90915F2DD7 -:10EF2000A091602DB091612D97FF07C041E050E0A6 -:10EF300060E070E082E00F94C30280915E2D9091BA -:10EF40005F2DA091602DB091612DA0FF07C041E021 -:10EF500050E060E070E083E00F94C30280915E2D8A -:10EF600090915F2DA091602DB091612D95FF07C00C -:10EF700041E050E060E070E084E00F94C3028091D3 -:10EF80005E2D90915F2DA091602DB091612D96FF27 -:10EF900007C041E050E060E070E085E00F94C302FC -:10EFA00080915E2D84FF07C040E050E060E070E09B -:10EFB00080E00F94C30280915E2D85FF07C040E082 -:10EFC00050E060E070E081E00F94C30280915E2D1C -:10EFD00087FF07C040E050E060E070E086E00F94FB -:10EFE000C30240915E2D50915F2D6091602D709114 -:10EFF000612D62FF07C040E050E060E070E087E014 -:10F000000F94C3028091E00082FD82C08091DF00F6 -:10F0100084608093DF000E9437766B017C01812F32 -:10F020000E948E760E9437766C197D098E099F09A1 -:10F0300020E130E040E050E00F94421829833A8309 -:10F040001A014B018D879C874090622D5090632D53 -:10F050006090642D7090652D8091662D9091672D44 -:10F06000A091682D89879A87AB8710E4A12E02E4CE -:10F07000B02E8FE0C82ED12CE12CF12C00E010E056 -:10F08000A101B4018D859C850F946F1859016A0107 -:10F090004A0C5B1C6C1C7D1C90E4A92E22E4B22E51 -:10F0A0003FE0C32ED12CE12CF12C00E010E02981AF -:10F0B0003A81A101B4018D859C850F946D18490199 -:10F0C0005A0189859A85AB85880D991DAA1D8034C2 -:10F0D000E2E49E07EFE0AE0740F080549244AF4078 -:10F0E000FFEF4F1A5F0A6F0A7F0A4092622D50921B -:10F0F000632D6092642D7092652D8093662D9093A0 -:10F10000672DA093682D8091DF008B7F8093DF00B7 -:10F1100083B78E7F83BF288520936B008F818DBB43 -:10F1200078949E819093B100AD81A093C100EB8152 -:10F13000E0BFFC81F0937A0080917B0087FFFCCFD9 -:10F1400006C08091C100877F8093C1008DCE2D962F -:10F150000FB6F894DEBF0FBECDBFDF91CF911F91E8 -:10F160000F91FF90EF90DF90CF90BF90AF909F9066 -:10F170008F907F906F905F904F903F902F90089569 -:10F180000F931F9300915E2D10915F2D2091602DA4 -:10F190003091612D6623B1F08F3F61F041E050E086 -:10F1A00060E070E004C0440F551F661F771F8A950A -:10F1B000D2F703C040E050E0BA01402B512B622B44 -:10F1C000732B19C08F3F61F041E050E060E070E0C8 -:10F1D00004C0440F551F661F771F8A95D2F703C0DE -:10F1E00040E050E0BA0140955095609570954023FD -:10F1F00051236223732340935E2D50935F2D6093C0 -:10F20000602D7093612D1F910F9108958F3F61F0D4 -:10F2100041E050E060E070E004C0440F551F661FFD -:10F22000771F8A95D2F703C040E050E0BA01447BD3 -:10F230005E7F6570772781E0452B462B472B09F4CD -:10F2400080E00895FC01408150E09B012D5F3F4F1D -:10F2500042175307B0F042505109461B570BFB01B0 -:10F260003196E80FF91F21E030E0819187FD07C05A -:10F27000C90101964217530720F09C01F6CFC9013E -:10F28000089580E090E00895CF93DF93EB0100971D -:10F29000C9F0FC0120812330A8F0318138834CE093 -:10F2A0004983313079F430E0225031092D30310575 -:10F2B00048F06CE070E00E942279982F8A8381E008 -:10F2C000911101C080E0DF91CF910895CF93DF933A -:10F2D000FA01E20FF31F1082F9013197DA01AE0F44 -:10F2E000BF1F680F791FEB01C20FD31F88818F7773 -:10F2F0008C939F012150310948F0FB01E20FF31F6D -:10F300008181FA01E20FF31F8083F4CFDF91CF9167 -:10F310000895CF92DF92EF92FF920F931F93CF93B6 -:10F32000DF9300D0CDB7DEB77C01BE016F5F7F4FAA -:10F330000E944479882331F1CB80D12CC6010696F6 -:10F340000F942F198C018981F8018083F701828144 -:10F35000F8018183F7018381F8018283F7018485B5 -:10F36000F8018383A8014B5F5F4F6A8170E09601CB -:10F37000C7010E9466798B819A81890FF801848385 -:10F38000C80102C080E090E00F900F900F90DF91D5 -:10F39000CF911F910F91FF90EF90DF90CF90089544 -:10F3A0000F931F93CF93DF93EA01FC01208130E09C -:10F3B000AB014D5F5F4F2417350708F451C0FC01C6 -:10F3C000E60FF71F1181412F50E059834883EFEF7B -:10F3D000E10FE83008F044C022503109261B370BFA -:10F3E000ABE0A49FF001A59FF00D1124E05FFC4D60 -:10F3F00004910A83A49FF001A59FF00D1124EF5EF4 -:10F40000FC4DE491402F50E02417350748F1DB0113 -:10F410001196A80FB91F153099F018F4133021F088 -:10F4200013C0183050F010C011964C911197400F36 -:10F430004A8350E02417350798F011962C9102C0AA -:10F4400013962C9127FF0EC0EE2361F02A81620FE4 -:10F45000711D0E942279982F8B8381E0911104C045 -:10F4600080E002C01B8281E0DF91CF911F910F915C -:10F4700008958F929F92AF92BF92CF92DF92EF92B8 -:10F48000FF920F931F93CF93DF9300D01F92CDB7BE -:10F49000DEB78C016115710519F0FB01B4800AC05B -:10F4A000BE016F5F7F4F0E9444798823D9F1BB80F2 -:10F4B0008A81B80EFB2CD12C6F2D70E0F801808171 -:10F4C00090E0029768177907B4F4F801E60FF71F88 -:10F4D00081818F3F11F4F394EFCFAE014F5F5F4F07 -:10F4E000C8010E94D0798823E9F0D3948C819B8154 -:10F4F000890FF80EE1CFF8E0DF9EC00111240196DC -:10F500000F942F197C01FC01D082912C812CA12C0D -:10F5100012C0AE014F5F5F4FB601C8010E94D079A3 -:10F52000811113C090E030C0F801EC0DFD1D818108 -:10F530008F3F79F7B394CB2CD12CF801808190E0E8 -:10F540000297C816D90684F31EC0F70128E0A29ED0 -:10F55000E00DF11D1124319689819A819183808378 -:10F56000D382C28217821682019729F415821482EF -:10F570009E2E8F2E02C094828582A3948C819B81C3 -:10F58000890FB80ED8CFC7010F900F900F900F9032 -:10F59000DF91CF911F910F91FF90EF90DF90CF906F -:10F5A000BF90AF909F908F9008953F924F925F923F -:10F5B0006F927F928F929F92AF92BF92CF92DF9283 -:10F5C000EF92FF920F931F93CF93DF9300D01F9280 -:10F5D000CDB7DEB75C016B01FB0162817381AE01C7 -:10F5E0004F5F5F4F0E94D079582E882309F4E0C006 -:10F5F000E980FA808BE08E9D40018F9D900C112454 -:10F60000C401805F9C4D4C01F601028113810F5FA4 -:10F610001F4F0A0D1B1DFC01329634903197E49167 -:10F6200044244394E11101C0412CF3E0EF16F104AE -:10F6300021F4F8016180630C01C0632C442059F06F -:10F640008C81811104C0C40103960F94F11D860DB5 -:10F6500066246394680E712CC3010F942F19DC018A -:10F66000F60197838683009739F46CEA72E283E4AB -:10F6700096E40F94760B9BC0F4E0EF16F10409F4C6 -:10F680004EC0ECF492E0E916F10409F44DC0E3E059 -:10F69000EE16F10409F06AC0F80141814C9350E084 -:10F6A000C301841B950B8A0F9B1F12969C938E930C -:10F6B0001197B8016E5F7F4F0F94231E57C0F6E07D -:10F6C000EF16F10409F440C06CF097E0E916F1047C -:10F6D00009F04CC0F80181818F738C93828111965F -:10F6E0008C9344C0F80181818F738C9382818F73D6 -:10F6F0008C9393819F709B3008F053C084E0989F57 -:10F70000F0011124E452FD4D45915591659174919C -:10F7100012964D935D936D937C93159727C0F801D6 -:10F7200081818F738C9322C0F80181818F738C93B8 -:10F73000828111968C931197838112968C931297E4 -:10F74000848113968C9312C0F80181818F778C93FA -:10F7500082818370E82FF0E0EE0FFF1FE85FFC4D21 -:10F760008591949112969C938E931197F6018681C0 -:10F7700097814420E9F0830D911D2C81222359F0BB -:10F7800030E04B8162817381640F711DAC01C50152 -:10F790000E9466790DC0B4016D5F7F4F0F94CB1D41 -:10F7A00007C0CD010F94C719F60117821682512C9C -:10F7B000852D0F900F900F900F90DF91CF911F919B -:10F7C0000F91FF90EF90DF90CF90BF90AF909F9000 -:10F7D0008F907F906F905F904F903F9008950F9320 -:10F7E0001F93CF93DF93EC019A012F5F3F4FFA01F4 -:10F7F000008140E00E94E17F182F81110BC068EA70 -:10F8000079E183E496E40F949A0B63E476E4CE0105 -:10F810000E942E81812FDF91CF911F910F9108952A -:10F82000CF93FC01680F791F80E090E0A1E0E6171C -:10F83000F707C9F0B19128E030E040E8592F551F93 -:10F840005527551FC42FCB2309F05A27880F991F1E -:10F85000552321F053ED852757EA952746952150EA -:10F86000310961F7E4CFCF9108958F929F92AF92C3 -:10F87000BF92CF92DF92EF92FF920F931F93CF939D -:10F88000DF9300D0CDB7DEB75C01162F03E09E01F9 -:10F890002F5F3F4F40E00E94838081110CC06EEBD0 -:10F8A00079E183E496E40F949A0B63E476E4C5016E -:10F8B0000E942E8159C08981813071F063ED79E118 -:10F8C00083E496E40F94690B4AE050E0698183E495 -:10F8D00096E40F948E0C48C00B81802E912CC401AD -:10F8E00001960F942F197C01009739F460EF79E1AC -:10F8F00083E496E40F949A0B37C0F70101936F01EC -:10F900009F0140E0612FC5010E94838081110CC0DE -:10F910006EEB79E183E496E40F949A0B63E476E46A -:10F92000C5010E942E811DC05401F2E0AF1AB1083A -:10F93000B501C6010E94107CF701EA0DFB1D218173 -:10F9400030E0322F2227F701E80DF91D4081242BEA -:10F950002817390761F064E17AE183E496E40F94B3 -:10F960009A0BC7010F94C71980E090E001C0C7014E -:10F970000F900F900F90DF91CF911F910F91FF90FB -:10F98000EF90DF90CF90BF90AF909F908F900895B1 -:10F99000AF92BF92CF92DF92EF92FF920F931F939D -:10F9A000CF93DF9300D01F921F92CDB7DEB78C01AB -:10F9B0007B016A01009731F461157105D1F067E7A9 -:10F9C00072E208C0FC01408150E04617570748F436 -:10F9D0006EE372E283E496E40F94760B80E090E0AD -:10F9E00081C0822F90E00296860F971F4817590713 -:10F9F000B0F4622F70E06D5F7F4F6E0D7F1DC80108 -:10FA00002D830F940D1B8C012D81009719F46EE24C -:10FA10007AE129C082E0820F8E0DF8018083C70150 -:10FA200030E0CE18DF08AC014E195F0942175307CA -:10FA300080F4AC01435051094830510540F0F601C3 -:10FA4000E80FF91F4081F801E80FF91F4183019683 -:10FA5000EACF60E070E0C8010E94397A6C0100973B -:10FA600039F46AE57AE183E496E40F949A0BB6CF11 -:10FA7000FC01808198E0899FE00DF11D11243897E9 -:10FA8000A380B480AE014F5F5F4FB501C8010E94F3 -:10FA9000D0798B81EC80F12CE80EF11CEA0CFB1C78 -:10FAA0005701E2E0AE0EB11CC6010F94C719F80170 -:10FAB000A382808190E0A816B90649F0B7016D5F76 -:10FAC0007F4FC8010F940D1B8C01FC01A082B70170 -:10FAD000C80101960E94107CF801EE0DFF1D918374 -:10FAE0008283C8010F900F900F900F900F90DF91BD -:10FAF000CF911F910F91FF90EF90DF90CF90BF902B -:10FB0000AF900895FC01118210820895262FFC0108 -:10FB1000638360E0822F0D9409071F93CF93DF93D7 -:10FB2000EC011FEF8B810F9478071150019741F082 -:10FB30001111F8CF82E090E09983888380E001C0C2 -:10FB400081E0DF91CF911F9108950F931F93CF9381 -:10FB5000DF93EC010E948D7D182F882379F10F949B -:10FB600012056C837D838E839F8361E08B810F946C -:10FB7000090760E08B810F9442070F9412050C81F6 -:10FB80001D812E813F81601B710B820B930B643CA6 -:10FB900079408105910588F360E08B810F94090716 -:10FBA000CE010E948D7D182F882341F082E390E0E2 -:10FBB0000F945D051C821D821E821F82812FDF91A2 -:10FBC000CF911F910F9108950F931F93CF93DF93C0 -:10FBD000EC018C819D81AE81BF81892B8A2B8B2B7F -:10FBE00099F10F941205088519852A853B85601BBC -:10FBF000710B820B930B623371058105910588F3BC -:10FC00000F9412050C811D812E813F81601B710BA9 -:10FC1000820B930B6C3B72408105910588F30F9426 -:10FC200012050C811D812E813F81601B710B820B9F -:10FC3000930B6D3474408105910530F088E090E0BD -:10FC40009983888380E007C00F9412056C837D83BD -:10FC50008E839F8381E0DF91CF911F910F91089553 -:10FC6000CF92DF92EF92FF920F931F93CF93DF9388 -:10FC7000EC01062F0E94E47D8823C9F1CE010E9489 -:10FC80008D7D182F882399F161E08B810F940907EE -:10FC90000F941205CC80DD80EE80FF806C197D0909 -:10FCA0008E099F096D3771058105910588F3002341 -:10FCB00021F060E08B810F9409070F941205CC802E -:10FCC000DD80EE80FF806C197D098E099F096A38FE -:10FCD00072408105910588F360E08B810F940907DC -:10FCE0000F941205688779878A879B8701C010E087 -:10FCF000812FDF91CF911F910F91FF90EF90DF90B7 -:10FD0000CF900895CF92DF92EF92FF920F931F93BF -:10FD1000CF93DF93EC018B010E94E47D882329F0CF -:10FD2000CE010E948D7D811102C010E04AC061E0C9 -:10FD30008B810F9409070F941205CC80DD80EE8033 -:10FD4000FF806C197D098E099F096D37710581054A -:10FD5000910588F360E08B810F9409070F941205D9 -:10FD6000CC80DD80EE80FF806C197D098E099F09B3 -:10FD70006E3571408105910588F38B810F9478076A -:10FD800021E0892B09F420E0F80120830F9412056B -:10FD90000C811D812E813F81601B710B820B930BA7 -:10FDA0006A3872408105910588F3CE010E948D7DED -:10FDB000182F882331F00F941205688779878A8776 -:10FDC0009B87812FDF91CF911F910F91FF90EF9033 -:10FDD000DF90CF900895EF92FF920F931F93CF93F0 -:10FDE000DF931F92CDB7DEB77C0105E110E0015033 -:10FDF000110961F0BE016F5F7F4FC7010E94827ED3 -:10FE0000882351F09981992391F306C081E090E015 -:10FE1000F7019183808380E00F90DF91CF911F9154 -:10FE20000F91FF90EF9008950F931F93CF93DF935F -:10FE30001F921F92CDB7DEB78C01BE016E5F7F4F60 -:10FE40000E94827E882399F0BE016F5F7F4FC801B8 -:10FE50000E94827E882359F09A812981911109C0DC -:10FE6000211107C086E090E0F8019183808380E053 -:10FE700015C021110EC0B8016E5F7F4FC8010E94EE -:10FE80000880882319F083E090E0EECF84E090E0D2 -:10FE9000EBCF992319F085E090E0E6CF0F900F901B -:10FEA000DF91CF911F910F910895CF92DF92EF9242 -:10FEB000FF920F931F93CF93DF93EC01D62E08E0B0 -:10FEC00010E080E8E82EF12CCC24C3949E2D9D21D7 -:10FED00009F0FC2461E0911101C060E0CE010E94B4 -:10FEE000307E8823D9F0E6940150110979F761E05A -:10FEF0006F25CE010E94307E882381F0CE010E94C2 -:10FF0000EB7E882359F0CE01DF91CF911F910F91A5 -:10FF1000FF90EF90DF90CF900C94147F80E0DF9102 -:10FF2000CF911F910F91FF90EF90DF90CF900895A8 -:10FF3000EF92FF920F931F93CF93DF931F92CDB752 -:10FF4000DEB78C017B01460F4E1559F0F701619128 -:10FF50007F01C80149830E94557F49818111F4CFF7 -:10FF600001C081E00F90DF91CF911F910F91FF9021 -:10FF7000EF900895EF92FF921F93CF93DF931F921C -:10FF8000CDB7DEB77C01142F69830E94A57D6981FE -:10FF9000882379F0C7010E94557F882351F0612F93 -:10FFA000C7010F90DF91CF911F91FF90EF900C94BC -:10FFB000557F80E00F90DF91CF911F91FF90EF90E0 -:10FFC0000895EF92FF920F931F93CF93DF93EC016D -:10FFD000142F790142E00E94BA7F882389F0612FB3 -:10FFE000CE010E94557F882359F0402FB701CE01E2 -:10FFF000DF91CF911F910F91FF90EF900C94987F1C -:020000021000EC -:1000000080E0DF91CF911F910F91FF90EF900895C5 -:100010009F92AF92BF92CF92DF92EF92FF920F9397 -:100020001F93CF93DF931F92CDB7DEB78C017B0177 -:10003000FB01108298E0C92ED12C20E8A22EB12C11 -:1000400099249394BE016F5F7F4FC8010E94827E06 -:10005000882339F18981882329F0F70180818A2951 -:100060008083B924A694F1E0CF1AD10859F7BE01D4 -:100070006F5F7F4FC8010E94827E882391F0898143 -:100080008B1106C087E090E0F8019183808309C05E -:10009000C8010E94EB7E882321F0C8010E94147FD2 -:1000A00001C080E00F90DF91CF911F910F91FF90E1 -:1000B000EF90DF90CF90BF90AF909F900895EF9218 -:1000C000FF920F931F93CF93DF931F92CDB7DEB7AD -:1000D0007C019B01460F421769F089010F5F1F4F9A -:1000E000B901C70149830E9408804981882319F01A -:1000F0009801F1CF81E00F90DF91CF911F910F9187 -:10010000FF90EF900895EF92FF920F931F93CF937C -:10011000DF93EC01142F790141E00E94BA7F88231C -:1001200089F0612FCE010E94557F882359F0402F1E -:10013000B701CE01DF91CF911F910F91FF90EF900A -:100140000C945F8080E0DF91CF911F910F91FF9021 -:10015000EF9008957F928F929F92AF92BF92CF922D -:10016000DF92EF92FF920F931F93CF93DF93CDB760 -:10017000DEB728970FB6F894DEBF0FBECDBF8C0157 -:100180006B010E94A57D882309F44CC06EEFC80165 -:100190000E94557F882309F445C03FE7932E8824A9 -:1001A00083944FE2742ECE0101967C01A12CB12CD8 -:1001B000B701C8010E940880811103C0A1103AC094 -:1001C00031C0F70141917F0188E090E020E83B2DAC -:1001D000331F3327331F522F542309F03825BB0C0C -:1001E0003111B7242695019791F7A394F8E0AF1247 -:1001F000DFCFBB2019F089E090E010C0CE0101965E -:10020000F60119959A9479F6BE016F5F7F4FC80188 -:100210000E940880882331F08AE090E0F801918301 -:10022000808307C081E0F8012081318125303105CC -:1002300009F080E028960FB6F894DEBF0FBECDBF60 -:10024000DF91CF911F910F91FF90EF90DF90CF90B2 -:10025000BF90AF909F908F907F9008950F931F93C2 -:10026000CF93DF938C01EB01FC01608171816B30D6 -:10027000710558F4FB01EE0FFF1FE25FFD4F608137 -:100280007181CE010F94690B05C04AE050E0CE01A8 -:100290000F944F0CF80180819181039781F469E7F5 -:1002A0007AE1CE010F94690B40E150E0F8016281E0 -:1002B000CE01DF91CF911F910F910D948E0CDF91A4 -:1002C000CF911F910F9108950F9300E020E040E03F -:1002D00060E081E79DE20F94C30A0F910895CF93E8 -:1002E000DF93EC012091892D30E02F5F3F4F82E1B9 -:1002F000829FB001839F700D11248091872D909172 -:10030000882D0F940D1BDC019093882D8093872DF1 -:100310008091892D91E0980F9093892D92E1899F8A -:10032000A00DB11D112419961C921E9218971B96B0 -:100330001C921E921A971D961C921E921C974FEFAC -:100340005FEFBA011E964D935D936D937C93519729 -:1003500088E0FE0101900D928A95E1F7DF91CF913F -:1003600008950895BC0183E496E40F94690B63E457 -:1003700076E48BE79DE20E942E8183E496E40F945D -:10038000720B80E00895CF93DF93EC018885998507 -:100390000097C9F48091872D9091882D9E01281B8C -:1003A000390BC9019595879529E33EE8829FB001F5 -:1003B000839F700D929F700D11248BE79DE20E9428 -:1003C000357C99878887DF91CF910895CF93DF930C -:1003D000EC01888599850F94C71919861886DF91D5 -:1003E000CF9108950F931F93CF93DF93EC010A856C -:1003F0001B850115110569F460E070E00E94C3815E -:10040000892B39F0888599850E9489798C019B8791 -:100410008A87C801DF91CF911F910F910895CF93E3 -:10042000DF93EC018A859B850F94C7191B861A867A -:10043000DF91CF910895FF920F931F93CF93DF9396 -:100440008C01FC0184859585892BE1F0F12CF80164 -:1004500084859585FC012081F21678F4EC01F8E0A2 -:10046000FF9EC00DD11D112421968E819F810F9476 -:10047000C7191F821E82F394EACF0F94C719F8019F -:1004800015861486DF91CF911F910F91FF900895EB -:10049000FF920F931F93CF93DF93EC010C851D8583 -:1004A0000115110559F560E070E00E94C381892BA8 -:1004B00029F16A857B85888599850E94397A9D878F -:1004C0008C87892BD9F0F12CEC85FD858081F8167D -:1004D000A0F4BF0188E0F89E600D711D11246F5FCC -:1004E0007F4F888599850E94D57A811104C0CE01FD -:1004F0000E941B8203C0F394E7CF8F01C801DF91F4 -:10050000CF911F910F91FF900895AF92BF92CF921C -:10051000DF92EF92FF920F931F93CF93DF93EC0143 -:100520004E855F85688979894F3F8FEF5807680747 -:10053000780709F08DC0CE010E944882A12C40E0CE -:1005400050E0BA01E6E0BE2E01E010E020E030E02D -:10055000DC01EC91AE1608F077C0FC01A8E0AA9E81 -:10056000E00DF11D11243196A081B181A530B105B6 -:10057000A1F034F4A230B10559F0149749F062C0EB -:10058000A630B10509F43DC0179709F43DC05AC023 -:100590000680F781E02DC0801EC0A681B781CC9077 -:1005A000BC9CF0011124E859FC4DE491EF3F51F05F -:1005B0006801790104C0CC0CDD1CEE1CFF1CEA951F -:1005C000D2F703C0C12CD12C76014C295D296E29AC -:1005D0007F291196CC90BC9CF0011124E859FC4D68 -:1005E000E491EF3F51F06801790104C0CC0CDD1CAF -:1005F000EE1CFF1CEA95D2F721C0C12CD12C76014C -:100600001DC0506861601EC00680F781E02DC0806B -:10061000BC9CF0011124E859FC4DE491EF3F51F0EE -:100620006801790104C0CC0CDD1CEE1CFF1CEA95AE -:10063000D2F703C0C12CD12C76015C614C295D2915 -:100640006E297F29A39484CF4E875F87688B798B2F -:10065000CB01642F752FDF91CF911F910F91FF90E8 -:10066000EF90DF90CF90BF90AF9008950F931F93BE -:10067000CF93DF93082F10E08091892D1817F0F4A5 -:1006800082E1189FE00111248091872D9091882D9F -:100690008C0F9D1F0E940F828091872D9091882D35 -:1006A0008C0F9D1F0E94E6818091872D9091882D4F -:1006B0008C0F9D1F0E941B821F5FDECF0023A1F0C5 -:1006C0008091872D9091882D0F94C7191092882DB5 -:1006D0001092872D1092892D1092772D1092782DDF -:1006E0001092792D10927A2DDF91CF911F910F9159 -:1006F000089540E02091892D421780F4E091872DE4 -:10070000F091882D22E1429FE00DF11D11242281FC -:1007100031818217930721F04F5FECCF80E008957D -:1007200081E00895CF92DF92EF92FF92CF93C0E0E5 -:10073000C12CD12C76018091892DC81788F4809125 -:10074000872D9091882D22E1C29F800D911D11244B -:100750000E948582C62AD72AE82AF92ACF5FEBCFE2 -:10076000C092772DD092782DE092792DF0927A2D4B -:10077000CF91FF90EF90DF90CF900895CF93DF93CC -:100780001F92CDB7DEB781E00E9436836FE671E835 -:100790008BE79DE20E94AA80811107C084E09BE163 -:1007A0000F90DF91CF910C94B28189830E94928344 -:1007B00089810F90DF91CF910895882341F065E002 -:1007C00070E080E090E00F9435050C94BE8381E0EA -:1007D0000C9436838091012C9091022C90932702E7 -:1007E0008093260284E292E09093022C8093012C65 -:1007F00065E070E080E090E00F94350563E18BE701 -:100800009DE20E94867D0E94BE8381E090E00E946E -:100810007983882321F082E29BE10E94099280E0A3 -:100820000C9436830F9300E020E040E060E08AE81B -:100830009DE20F94C30A8BE79DE20F910C94827D99 -:1008400023EE3BE1FC01318320830895A091902D9C -:10085000B091912D109749F0ED91FC911197019075 -:10086000F081E02D682FCD011994089523EE3BE12E -:10087000FC01318320830D94F60ACF93DF93EC01C2 -:100880008FEE9BE199838883CE014A960E9440C2F5 -:1008900083EE9BE199838883DF91CF910895CF9375 -:1008A000DF93EC010E943D84CE01DF91CF910D9446 -:1008B000F60A0F931F93CF93DF938B01EC01080F80 -:1008C000191FC017D10721F089910E9480D8F9CF54 -:1008D000DF91CF911F910F910C94B7D90F931F9374 -:1008E000CF93DF93EC018B011C8A1B8A1A8A198A29 -:1008F0001D8A1E8A1F8A188E0E94111A8CB58C7F41 -:1009000081608CBD8DB58E7F8DBD80EE97E89F8F09 -:100910008E8FDBA3CAA3FE01E150FD4F83E496E472 -:1009200091838083329611821082F80183816A96C6 -:1009300021E530E08131C9F445E067E0CE010E9455 -:10094000EDCE882381F00091301D1091311D0115ED -:10095000110569F022E33DE140E067E27BE1CE0171 -:100960000E947AD504C080E003C04FEFE6CF81E05B -:10097000DF91CF911F910F910895CF93DF93EC01F9 -:100980008FEE9BE199838883CE014A961D821C825B -:1009900048EE53E060E070E04E835F8368877987BC -:1009A0009F878E872FEF288B24E43AE23B832A83AC -:1009B000198E0E9413C2CD5FDC4F1882DF91CF9158 -:1009C00008959F92AF92BF92CF92DF92EF92FF92E3 -:1009D0000F931F93CF93DF93B62EA72E8A01EC01BE -:1009E0006A961F921F928DE29BE19F938F93DF93F4 -:1009F000CF930E942BCE982E0F900F900F900F90B8 -:100A00000F900F9001151105B9F1F801808188232D -:100A100099F16801E12CF12CF60181916F01882395 -:100A200079F0FBE1EF16F10489F0992787FD9095A5 -:100A30000F948C1D892B51F0FFEFEF1AFF0AECCFBA -:100A4000E894E4F82AE0E216F104B1F1992009F4FF -:100A50005AC01F930F9384E49BE19F938F93DF937E -:100A6000CF930E942BCE0F900F900F900F900F906E -:100A70000F90811104C047C0992009F444C01F920F -:100A80001F9287EA99E19F938F93AF92BF921F9233 -:100A90001F9281E59BE19F938F93DF93CF930E94F9 -:100AA0002BCEEDB7FEB73C960FB6F894FEBF0FBE47 -:100AB000EDBF811116C027C0992029F11F930F9314 -:100AC00088E39BE19F938F93DF93CF930E942BCE7C -:100AD0000F900F900F900F900F900F90882399F028 -:100AE000B8CF1F921F9288E69BE19F938F93DF936D -:100AF000CF930E942BCE0F900F900F900F900F90DE -:100B00000F90811102C080E011C01F921F928FE6EA -:100B10009BE19F938F93DF93CF930E942BCE0F90F7 -:100B20000F900F900F900F900F9081E0DF91CF9179 -:100B30001F910F91FF90EF90DF90CF90BF90AF90FB -:100B40009F900895CF93DF93AB01EC016A9661E02B -:100B5000CE010E9454D3882321F11F921F9288E670 -:100B60009BE19F938F93DF93CF930E942BCE0F90A7 -:100B70000F900F900F900F900F90882391F01F927D -:100B80001F928FE69BE19F938F93DF93CF930E94F9 -:100B90002BCE0F900F900F900F900F900F9081E041 -:100BA00001C080E0DF91CF910895AF92BF92CF92C4 -:100BB000DF92EF92FF920F931F93CF93DF931F92D9 -:100BC0001F92CDB7DEB77B016A014A965C0140E017 -:100BD00050E060E029833A830E9454D329813A810E -:100BE000882389F1A601B701C5010E947ED388231D -:100BF00051F1B801C5010E9411D4882321F11F923F -:100C00001F9288E69BE19F938F93BF92AF920E94C1 -:100C10002BCE0F900F900F900F900F900F90882376 -:100C200091F01F921F928FE69BE19F938F93BF924B -:100C3000AF920E942BCE0F900F900F900F900F90BD -:100C40000F9081E001C080E00F900F90DF91CF9175 -:100C50001F910F91FF90EF90DF90CF90BF90AF90DA -:100C600008950F931F93CF93DF93EC01FC01ED5F89 -:100C7000FC4F80818823E9F00F94060568387341A2 -:100C80008105910530F460EA7FE080E090E00F9408 -:100C900035056A9600E010E020E041E060E0CE011A -:100CA0000E94C6D5CE01DF91CF911F910F910C9478 -:100CB00031D3DF91CF911F910F9108950F931F931F -:100CC000CF93DF93EC010E943186FE01ED5FFC4F74 -:100CD00081E08083898D882339F041E064E670E00B -:100CE00088EE90E30E9472BD6A961F921F921F9237 -:100CF0008BE08F9386E79BE19F938F93DF93CF9356 -:100D00000E942BCE00E010E020E041E061E0CE0147 -:100D10000E94C6D52DB73EB7285F3F4F0FB6F89457 -:100D20003EBF0FBE2DBFDF91CF911F910F91089550 -:100D3000EF92FF920F931F93CF93DF93CDB7DEB760 -:100D40002D970FB6F894DEBF0FBECDBF8C01CE013C -:100D500008960F94B90A6091A62D7091A72D40E0D6 -:100D600050E0CE0108960E94A0C2811138C0409187 -:100D7000A62D5091A72DB801665E7F4FCE0101963A -:100D80000E94DDD44B815C816D817E814A875B87C7 -:100D90006C877D878091942D9091952DA091962DB3 -:100DA000B091972D481759076A077B07C1F48091C6 -:100DB000112C882309F490C066EE74E283E496E473 -:100DC0000F94360B66EA7DE283E496E40F945B0BA6 -:100DD0006DEC74E283E496E40F94760B49C0809145 -:100DE000112C8823E1F068EB74E283E496E40F941D -:100DF000360B66EA7DE283E496E40F945B0B6FECBE -:100E00007DE083E496E40F94690B60912C0270916D -:100E10002D024AE050E083E496E40F94B20C409136 -:100E20002C0250912D0280EA9AE29A8389838A8566 -:100E30009B85AC85BD858B839C83AD83BE83780108 -:100E400082E0E80EF11CBE016F5F7F4FC7010E9478 -:100E500048D6892B79F48091112C882331F06BE8E6 -:100E600074E283E496E40F94760BC8010E945E86D8 -:100E700080E032C08091A52D882371F067E27BE18C -:100E8000C7010E940BD6811107C08091112C8823C5 -:100E900061F366E574E2E5CFF801818D882321F0E6 -:100EA00088EE90E30E9499BC0E94CC32F8018389BD -:100EB00094890196948B838B0E94AE2D29833A836B -:100EC0004B835C8389819A81AB81BC81F801858BDE -:100ED000968BA78BB08F81E02D960FB6F894DEBF6E -:100EE0000FBECDBFDF91CF911F910F91FF90EF907B -:100EF00008950F931F93CF93DF93CDB7DEB7279756 -:100F00000FB6F894DEBF0FBECDBF8C014A960E948B -:100F100039D2F80185899689A789B08D892B8A2BCA -:100F20008B2B09F442C00280F381E02D0488F589FF -:100F3000E02DC80102961995811137C08091112CBE -:100F40008823F9F06EE274E283E496E40F94360BA2 -:100F50000E94AE2D29833A834B835C8349815A8159 -:100F60006B817C81F80185899689A789B08D481BA2 -:100F7000590B6A0B7B0B2AE030E083E496E40F9474 -:100F8000C80CD80155961D921D921D921C9258971F -:100F9000C80127960FB6F894DEBF0FBECDBFDF9114 -:100FA000CF911F910F910C94988627960FB6F894C5 -:100FB000DEBF0FBECDBFDF91CF911F910F9108957E -:100FC000CF92DF92EF92FF920F93CF93DF93CDB743 -:100FD000DEB72C970FB6F894DEBF0FBECDBF7C01F5 -:100FE000FC01818992890196928B818B148A138AE4 -:100FF000818D882321F088EE90E30E94E7BC8091E8 -:10100000A52D8823B1F16701FAE1CF0ED11C4BE881 -:101010005BE1B601CE0101960E94DDD48B819C81FB -:10102000AD81BE814091942D5091952D6091962D6A -:101030007091972D84179507A607B70769F00AE006 -:1010400020E831E541E050E0BE016F5F7F4FC6010F -:101050000E946DD481110DC08091112C882331F034 -:1010600069EF74E283E496E40F94760BC7010E9463 -:101070005E8668E97BE18EE49DE20E94135E882330 -:1010800009F447C068E97BE1CE0107960F94480D4B -:1010900080914F2D882361F067E17BE083E496E443 -:1010A0000F94360B6F81788583E496E40F949A0B46 -:1010B0008091502D882341F01092912D1092902D07 -:1010C00086E294E80E94C2D88F8198850E94EEF053 -:1010D0008091502D81110E94C7D869ED7CE0CE012E -:1010E00001960F94480DBE016F5F7F4FCE010796AA -:1010F0000F947D10D82ECE0101960F94DA0CDD20CE -:1011000021F08EE49DE20E94C558CE0107960F940F -:10111000DA0CC7010E9498862C960FB6F894DEBFB1 -:101120000FBECDBFDF91CF910F91FF90EF90DF9079 -:10113000CF900895CF93DF93EC014A960E9410D28E -:10114000C350DD4F81E09881911101C080E0DF91B3 -:10115000CF910895CF93DF93EC012296DC01129694 -:10116000ED91FC9113970488F589E02DCE01199536 -:10117000882369F08091A52D882359F0CE010E9423 -:1011800012D691E0811101C090E0892F03C080E068 -:1011900001C081E0DF91CF91089580E0089580E063 -:1011A0000895CF93DF93EC016A965F934F938DE69A -:1011B00099E29F938F93DF93CF930E941BCE20E001 -:1011C00030E040E050E069E574E8CE010E94C4CB15 -:1011D00021E00F900F900F900F900F900F90892BA0 -:1011E00009F020E0822FDF91CF9108950F931F9394 -:1011F000CF93DF93EC018B010F94060568387341A0 -:101200008105910530F460EA7FE080E090E00F9482 -:1012100035054AEA5BE1B801CE01DF91CF911F911C -:101220000F910C94D18840EB5BE10C94D1880F9323 -:101230001F93CF93DF93EC018B0145EB5BE10E94A1 -:10124000D18840EC5BE1B801CE01DF91CF911F91D5 -:101250000F910C94D18849EC5BE10C94D18880E02B -:10126000089580E0089542ED5BE10C94D188DC01A3 -:10127000A150BD4FFC01EF5FFC4F83E496E48D93DA -:101280009C93662319F091838083089511821082C4 -:1012900008950F9300E020E040E060E082E99DE2E5 -:1012A0000F94C30A0F9108958AEF98E20895CF939F -:1012B000DF9300D000D0CDB7DEB780919D2D909107 -:1012C0009E2D892B81F46BE578E2CE0101960F9477 -:1012D0000A0FCE0101960E940BDACE0101960F94FF -:1012E000DA0C80E001C081E026960FB6F894DEBFEC -:1012F0000FBECDBFDF91CF910895CF93DF930E94B2 -:101300005789882349F1C0919D2DD0919E2D60E091 -:1013100070E0CB010E941EDF672B682B692B71F0F8 -:1013200061E070E080E090E00E941EDF21E0672B2A -:10133000682B692B09F420E0822F01C081E0898F9E -:10134000882329F0CE010E949A88882349F0698D6C -:1013500070E080E090E00CC060E070E0CB0108C07D -:1013600041E064E670E088EE90E30E9472BDEFCF4A -:10137000DF91CF91089561E478E281E00E94A94E67 -:101380008823C1F061E070E080E090E00E941EDF01 -:1013900021E0672B682B692B09F420E0622F8091F4 -:1013A0009D2D90919E2D0E94378961E070E080E034 -:1013B00090E0089560E070E0CB010895CF93DF9353 -:1013C00000D000D0CDB7DEB70E9457898823B9F08E -:1013D00080919D2D90919E2D0E943189811113C085 -:1013E0006EE178E2CE0101960F940A0FCE010196CC -:1013F0000E940BDACE0101960F94DA0C04C060E073 -:1014000070E0CB0104C061E070E080E090E02696DF -:101410000FB6F894DEBF0FBECDBFDF91CF91089518 -:10142000CF93DF9300D000D0CDB7DEB70E945789AD -:101430008823B9F080919D2D90919E2D0E942F8937 -:10144000811113C06CEF77E2CE0101960F940A0F61 -:10145000CE0101960E940BDACE0101960F94DA0CB0 -:1014600004C060E070E0CB0104C061E070E080E0A7 -:1014700090E026960FB6F894DEBF0FBECDBFDF9189 -:10148000CF910895CF93DF9300D000D0CDB7DEB7D2 -:101490000E9457898823C9F063E476E480919D2DEA -:1014A00090919E2D0E943389811113C060ED77E2E7 -:1014B000CE0101960F940A0FCE0101960E940BDA1D -:1014C000CE0101960F94DA0C04C060E070E0CB010D -:1014D00004C061E070E080E090E026960FB6F894DA -:1014E000DEBF0FBECDBFDF91CF910895CF93DF93C5 -:1014F00000D000D0CDB7DEB76EEA77E281E00E947F -:10150000A94E811104C060E070E0CB0127C00E94A9 -:1015100057898823C1F361E070E080E090E00E9489 -:1015200073DFAB0163E476E480919D2D90919E2D55 -:101530000E94CD8881110EC067E877E2CE01019646 -:101540000F940A0FCE0101960E940BDACE0101968C -:101550000F94DA0C61E070E080E090E026960FB620 -:10156000F894DEBF0FBECDBFDF91CF910895CF932A -:10157000DF9300D000D0CDB7DEB76AE677E281E036 -:101580000E94A94E811104C060E070E0CB0127C029 -:101590000E9457898823C1F361E070E080E090E009 -:1015A0000E9473DFAB0163E476E480919D2D9091FE -:1015B0009E2D0E94CF8881110EC069E477E2CE0192 -:1015C00001960F940A0FCE0101960E940BDACE010C -:1015D00001960F94DA0C61E070E080E090E02696CE -:1015E0000FB6F894DEBF0FBECDBFDF91CF91089547 -:1015F000CF93DF9300D000D0CDB7DEB76AE277E2B9 -:1016000081E00E94A94E811104C060E070E0CB012E -:1016100027C00E9457898823C1F361E070E080E011 -:1016200090E00E9473DFAB0163E476E480919D2D2E -:1016300090919E2D0E94D18881110EC067E077E2C3 -:10164000CE0101960F940A0FCE0101960E940BDA8B -:10165000CE0101960F94DA0C61E070E080E090E03A -:1016600026960FB6F894DEBF0FBECDBFDF91CF91A7 -:1016700008950E945789882359F080919D2D90915B -:101680009E2D0E94318661E070E080E090E0089538 -:1016900060E070E0CB0108950E945789882359F0DB -:1016A00080919D2D90919E2D0E945E86682F70E006 -:1016B00080E090E0089560E070E0CB0108950F9322 -:1016C0001F93CF93DF93CDB7DEB7E0970FB6F894B3 -:1016D000DEBF0FBECDBF61ED76E284E00E94A94E71 -:1016E000882309F4A5C00E945789882309F4A0C063 -:1016F000CE018B960F94B90ACE0185960F94B90A44 -:10170000CE014F960F94B90ACE0149960F94B90AAB -:1017100061E070E080E090E00E9473DF40E050E024 -:10172000CE018B960E94A0C2811103C067EB76E2C6 -:1017300073C062E070E080E090E00E9473DF40E000 -:1017400050E0CE0185960E94A0C2811103C060EADC -:1017500076E262C063E070E080E090E00E9473DFB8 -:1017600040E050E0CE014F960E94A0C2811103C01C -:1017700069E876E251C063E070E080E090E00E94AA -:1017800073DF40E050E0CE0149960E94A0C2811173 -:1017900003C06FE676E240C020EA3AE23C8B2B8B36 -:1017A0008B8D9C8DAD8DBE8D8D8B9E8BAF8BB88FB1 -:1017B0003E872D8789A19AA1ABA1BCA18F87988B69 -:1017C000A98BBA8B38872F838FA198A5A9A5BAA515 -:1017D00089879A87AB87BC873A8329838DA59EA585 -:1017E000AFA5B8A98B839C83AD83BE838E010D5EAC -:1017F0001F4F9E01235F3F4FAE01495F5F4FBE0108 -:101800006F5F7F4F80919D2D90919E2D0E94D58579 -:10181000811112C06CE276E2CE0101960F940A0F9C -:10182000CE0101960E940BDACE0101960F94DA0CDC -:1018300060E070E0CB0104C061E070E080E090E027 -:10184000E0960FB6F894DEBF0FBECDBFDF91CF910B -:101850001F910F910895CF93DF9300D000D0CDB7A3 -:10186000DEB70E945789882351F160E070E0CB0118 -:101870000E941EDF16161706180619063CF461E0D2 -:1018800070E080E090E00E9473DF02C060E070E0F2 -:1018900080919D2D90919E2D0E94A285811113C053 -:1018A00069EE75E2CE0101960F940A0FCE01019602 -:1018B0000E940BDACE0101960F94DA0C04C060E0AE -:1018C00070E0CB0104C061E070E080E090E026961B -:1018D0000FB6F894DEBF0FBECDBFDF91CF91089554 -:1018E000CF93DF93CDB7DEB7C654D1090FB6F894C6 -:1018F000DEBF0FBECDBF46EB55E262E081E00E9445 -:101900007D52811104C060E070E0CB0145C00E94AF -:1019100057898823C1F360E070E0CB010E941EDF8D -:10192000623071058105910549F462E070E080E064 -:1019300090E00E9473DF40E450E004C040E450E0D7 -:1019400067EA79E1CE0101960F94821E61E070E0B2 -:1019500080E090E00E9473DFAE014F5F5F4F8091A7 -:101960009D2D90919E2D0E94E184811111C063E70D -:1019700075E2CE018F5B9F4F0F940A0FCE018F5BF4 -:101980009F4F0E940BDACE018F5B9F4F0F94DA0CB2 -:1019900061E070E080E090E0CA5BDF4F0FB6F89442 -:1019A000DEBF0FBECDBFDF91CF910895CF93DF9300 -:1019B00000D000D0CDB7DEB70E9457898823C1F090 -:1019C00063E476E480919D2D90919E2D0E94F6888F -:1019D000811112C060E675E2CE0101960F940A0FE4 -:1019E000CE0101960E940BDACE0101960F94DA0C1B -:1019F00060E070E0CB0104C061E070E080E090E066 -:101A000026960FB6F894DEBF0FBECDBFDF91CF9103 -:101A100008950E9457898823F1F060E070E0CB01BF -:101A20000E941EDF1616170618061906C4F461E098 -:101A300070E080E090E00E941EDF6130710581055A -:101A4000910569F463E476E480919D2D90919E2D3B -:101A50000E94138914C060E070E0CB01089563E434 -:101A600076E480919D2D90919E2D0E942B8963E4B8 -:101A700076E480919D2D90919E2D0E94178961E0C2 -:101A800070E080E090E008950F931F93CF93DF9371 -:101A9000CDB7DEB727970FB6F894DEBF0FBECDBF28 -:101AA00060ED78E2CE0101960F940A0FCE01019607 -:101AB0000E94D8D8CE0101960F94DA0CE0919D2DAA -:101AC000F0919E2D818992890E9417DA6BE978E264 -:101AD000CE0101960F940A0FCE0101960E94D8D82C -:101AE000CE0101960F94DA0CE0919D2DF0919E2D80 -:101AF000838994890E9417DA67E778E2CE0101961C -:101B00000F940A0FCE0101960E94D8D8CE010196FB -:101B10000F94DA0CE0919D2DF0919E2D8589968988 -:101B2000A789B08D892B8A2B8B2BE1F00E94AE2DDB -:101B300029833A834B835C836D837E838F83E0911B -:101B40009D2DF0919E2D69817A818B819C810589E3 -:101B500016892789308D601B710B820B930B0E94B5 -:101B60001BDA04C080E090E00E9413DA27960FB6DB -:101B7000F894DEBF0FBECDBFDF91CF911F910F91C3 -:101B800008952F923F924F925F926F927F928F9221 -:101B90009F92AF92BF92CF92DF92EF92FF920F93FC -:101BA0001F93CF93DF93CDB7DEB76F970FB6F8943F -:101BB000DEBF0FBECDBF41E050E064E670E08E01B5 -:101BC0000F5F1F4FC8010E9400BF0E9457898111FB -:101BD00009C041E050E060E070E0CE0109960E944B -:101BE00000BFB5C080909D2D90909E2DF4018589F9 -:101BF0009689A789B08D892B8A2B8B2BB9F00E94EF -:101C0000AE2D298B3A8B4B8B5C8B6D8B7E8B8F8BA8 -:101C1000C988DA88EB88FC88F40185899689A789C8 -:101C2000B08DC81AD90AEA0AFB0A03C0C12CD12C0C -:101C30007601F401F189F88FF401F289F98FF4014A -:101C4000F389FA8FF401F489FB8FC4010E94AA88FA -:101C5000882329F070E2A72E7DE0B72E04C065E24C -:101C6000A62E6DE0B62EC4010E949A88882319F032 -:101C700020E23DE002C025E23DE040E050E0BA0154 -:101C800089ED90E12E8F3F8F0E9459908C8F9D8F10 -:101C900040E050E0BA018BE696E10E945990382E60 -:101CA000292E40E050E0BA018FED90E10E9459905A -:101CB000582E492E40E050E0BA0187EF9BE10E9488 -:101CC0005990782E692E40E050E0BA018BE997E1F7 -:101CD0000E945990982E892E40E050E0BA0182E28D -:101CE0009BE10E945990498D4F93E88DEF93FB8DB6 -:101CF000FF934A8D4F93FF92EF92DF92CF92BF9264 -:101D0000AF922E8D3F8D3F932F932D8D2F932C8D42 -:101D10002F932F923F924F925F926F927F928F926A -:101D20009F929F938F938AEF9BE19F938F931F9333 -:101D30000F930E9426BFA80161E17CE2CE010996C3 -:101D40000E9482320FB6F894DEBF0FBECDBFC8012D -:101D50000F94DA0CCE0109960E940BDACE01099697 -:101D60000F94DA0C61E070E080E090E06F960FB6BF -:101D7000F894DEBF0FBECDBFDF91CF911F910F91C1 -:101D8000FF90EF90DF90CF90BF90AF909F908F909B -:101D90007F906F905F904F903F902F900895CF93DA -:101DA000DF93EC018D819E81009739F0DC01ED918C -:101DB000FC910680F781E02D19951E821D82DF912E -:101DC000CF910895EF92FF920F931F93CF93DF93DC -:101DD0008C0120E08091892D281798F582E1289FB9 -:101DE00070011124E091872DF091882DEE0DFF1DDB -:101DF00082819181019719F584E093E00F94F40AB0 -:101E0000EC010E94BD84F801D683C583209709F1B7 -:101E1000E881F9816091872D7091882D6E0D7F1D6D -:101E20000190F081E02DCE011995882379F0F80119 -:101E3000858196810E945E8681110CC007C02F5F4C -:101E4000C9CF84E29CE10E9407DA03C0C8010E9466 -:101E5000CF8E80E0DF91CF911F910F91FF90EF9097 -:101E60000895CF930E94E28EC82F882309F49EC064 -:101E700041EC5DE86BE37CE18EE49DE20E94C15899 -:101E800049E05DE867E47CE18EE49DE20E94C15890 -:101E900046ED5CE863E57CE18EE49DE20E94C1587A -:101EA00040E75CE86DE57CE18EE49DE20E94C1586C -:101EB0004BE25CE869E67CE18EE49DE20E94C15859 -:101EC0004FE55BE863E77CE18EE49DE20E94C15848 -:101ED0004CE45BE86FE77CE18EE49DE20E94C15830 -:101EE00049E35BE860E97CE18EE49DE20E94C15831 -:101EF00048EF5AE862EA7CE18EE49DE20E94C15814 -:101F000047EB5AE86FEA7CE18EE49DE20E94C158FB -:101F100046E75AE869EB7CE18EE49DE20E94C158F5 -:101F200042E45AE868EC7CE18EE49DE20E94C158EC -:101F300040E15AE865ED7CE18EE49DE20E94C158E3 -:101F40004EED59E860EE7CE18EE49DE20E94C158BE -:101F50004BEB59E86CEE7CE18EE49DE20E94C158A7 -:101F60004DE759E869EF7CE18EE49DE20E94C1589B -:101F700044E45DE867E07DE18EE49DE20E94C158A3 -:101F8000E091012CF091022CA1E0BCE2309731F0FD -:101F9000DF0112960280F381E02DF8CF10922B0220 -:101FA00010922A0228E232E02D933C938C2FCF919D -:101FB000089581110AC080919D2D90919E2D892BAD -:101FC00061F088E99DE20C94CF8E80919A2D882350 -:101FD00021F088E99DE20C94E28E08950F9300E0D1 -:101FE00020E040E060E08FE99DE20F94C30A809119 -:101FF000702E9091712E90939C2D80939B2DE8E9EB -:10200000FDE2F093712EE093702E86E19DE19183C5 -:1020100080830F910895CF93DF93EC018D819E8192 -:10202000009739F0DC01ED91FC910280F381E02D05 -:102030001995ED81FE8184A18823A1F08091112C56 -:10204000882351F062E275E283E496E40F94760B04 -:1020500083E496E40F943C088DE79BE2DF91CF91F7 -:102060000C949522DF91CF9108954115510529F0E7 -:1020700050932D0240932C020BC0662319F025EEDD -:1020800038E502C024EE38E530932D0220932C026F -:102090006093A52DBC0186EA9DE20D94B50D6CE11F -:1020A0007DE186EA9DE20D94480D86EA9DE20D945D -:1020B000DA0CAF92BF92CF92DF92EF92FF920F9322 -:1020C0001F93CF93DF938C016A017B0130EFA32E26 -:1020D0003DE2B32EC0E0D0E0F501819191915F0126 -:1020E000009781F0B8010F94501E892B49F4CD2838 -:1020F000CE28CF2819F5FE01E055F24D10821EC002 -:102100002196EACFC8010F94091EFE01EE0FFF1FB2 -:10211000E051F24D91838083C114D104E104F104B4 -:1021200069F0C092AC2DD092AD2DE092AE2DF09220 -:10213000AF2D81E0FE01E055F24D8083CE01DF91AD -:10214000CF911F910F91FF90EF90DF90CF90BF90B4 -:10215000AF9008958034910540F4FC01EE0FFF1F0D -:10216000E051F24D80819181089580E090E00895E2 -:102170000F931F93CF93DF938C010197CF9778F440 -:10218000E801CC0FDD1FC051D24D888199810F9499 -:10219000C719F801E055F24D108219821882DF91BB -:1021A000CF911F910F9108950F931F93CF93DF93BA -:1021B0008091AC2D9091AD2DA091AE2DB091AF2D11 -:1021C000892B8A2B8B2BD9F000EB1DE2C0E0D0E0ED -:1021D000F80181918F01882319F0CE010E94B890F7 -:1021E0002196C034D105A1F71092AC2D1092AD2DDF -:1021F0001092AE2D1092AF2D81E090E002C080E0F1 -:1022000090E0DF91CF911F910F9108954F925F92CF -:102210006F927F928F929F92AF92BF92CF92DF92F6 -:10222000EF92FF920F931F93CF93DF93EC018B01FB -:1022300029013A01009709F466C08881882309F4CE -:1022400062C0FE0101900020E9F7CF0101978C1BCD -:102250009D0B0F942F197C01009721F4F801118236 -:10226000108251C0FE0101900020E9F7AF014150FA -:1022700051094C1B5D0BBC01CE010F941F0157018E -:10228000CC24C394D12C812C912CF5018081918197 -:10229000892BE9F0A701BE01C4010F944301B301EA -:1022A000A2010E9459900115110551F0F601EE0F9F -:1022B000FF1FE00FF11F91838083C60101966C011F -:1022C00092E0890E911CE4E0AE0EB11CDECF011548 -:1022D000110531F0F1E0CF1AD108F801D182C082A6 -:1022E000C701DF91CF911F910F91FF90EF90DF9089 -:1022F000CF90BF90AF909F908F907F906F905F90A6 -:102300004F900D94C719DF91CF911F910F91FF90BE -:10231000EF90DF90CF90BF90AF909F908F907F9085 -:102320006F905F904F90089580E8E0EFFDE2DF014D -:102330001D928A95E9F780E4E0EBFDE2DF011D9252 -:102340008A95E9F740E050E0BA0182E39DE10E94FE -:10235000599020E030E0A90160E070E08BE39DE15E -:102360000C9406910895CF93DF93C091702ED09175 -:10237000712E209771F08A81882339F0E881F981E4 -:102380000280F381E02DCE0119950B80DC81C02DF8 -:10239000F0CFDF91CF9108950F931F93CF93DF93E9 -:1023A0008C01C091702ED091712E209789F0E88118 -:1023B000F9810480F581E02DCE011995BC01C80199 -:1023C0000F94C21D892B39F00B80DC81C02DEDCF1D -:1023D00080E090E001C0CE01DF91CF911F910F917D -:1023E0000895CF93DF93EC018A8181110BC0E881BE -:1023F000F9810190F081E02DCE011995882321F01B -:1024000081E08A83CE0102C080E090E0DF91CF912D -:102410000895CF93DF9300D000D0CDB7DEB70E94F0 -:10242000CC91009719F00E94F19110C06FEF78E203 -:10243000CE0101960F940A0FCE0101960E940BDA8D -:10244000CE0101960F94DA0C80E090E026960FB64C -:10245000F894DEBF0FBECDBFDF91CF9108950F93EB -:1024600000E020E040E060E082E79EE20F94C30AD3 -:102470000F910895FC01108211821282138214823E -:10248000158216821782108611861286138614868C -:1024900015861686178608958DEB9AE20E944F1ACC -:1024A0000895AF92BF92CF92DF92EF92FF920F9377 -:1024B0001F93CF93DF93EC0160E670E08DEB9AE21F -:1024C0000E94051B64E08DEB9AE20E949F1A8DEB3F -:1024D0009AE20E941A1B48E050E060E670E08DEB43 -:1024E0009AE20E94F81A0E944C92B82E0E944C92D6 -:1024F000A82E0E944C92D82E0E944C92C82E0E9468 -:102500004C92F82E0E944C92E82E0E944C92182F6A -:102510000E944C92082F6A2D70E07B29882777FD56 -:102520008095982F0F94451420E030E040E05EE362 -:102530000F94A315688379838A839B836C2D70E045 -:102540007D29882777FD8095982F0F94451420E0EA -:1025500030E040E059E30F94A3156C837D838E83B4 -:102560009F836E2D70E07F29882777FD8095982FB7 -:102570000F94451420E030E040E858E30F94A31591 -:10258000688779878A879B87602F70E0712B7695A3 -:10259000679576956795882777FD8095982F0F9496 -:1025A000451420E030E040E854E30F94A3156C8715 -:1025B0007D878E879F87DF91CF911F910F91FF902D -:1025C000EF90DF90CF90BF90AF900895CF93DF93BF -:1025D000EC018DEB9AE20E94DE1ACE01DF91CF91E1 -:1025E0000C9451924F925F926F927F928F929F9232 -:1025F000AF92BF92CF92DF92EF92FF920F931F9311 -:10260000CF93DF93EC015B018A0160E670E08DEB14 -:102610009AE20E94051B62E18DEB9AE20E949F1AEA -:1026200060E08DEB9AE20E949F1A8DEB9AE20E9485 -:102630001A1B65E070E080E090E00F94350560E6DD -:1026400070E08DEB9AE20E94051B60E08DEB9AE250 -:102650000E949F1A8DEB9AE20E941A1B44E050E000 -:1026600060E670E08DEB9AE20E94F81A0E944C92AC -:10267000982E0E944C92882E0E944C92F82E0E9416 -:102680004C926F2D70E0762F6627682B26E07695AA -:1026900067952A95E1F780E090E00F9443146B0171 -:1026A0007C012C853D854E855F850F94A3152C817B -:1026B0003D814E815F810F943E132B013C01682DBB -:1026C00070E0792936E0769567953A95E1F780E0F4 -:1026D00090E00F9443149B01AC01C301B2010F942D -:1026E000A315288139814A815B810F943E132B0108 -:1026F0003C01288539854A855B85C701B6010F9461 -:10270000A3159B01AC01C301B2010F943E1328E84D -:1027100030E242E85DE30F94A31520E030E048E4A6 -:1027200052E40F943E13F501608371838283938397 -:1027300020E030E049EF53E4C701B6010F943D13A8 -:1027400023E333E34BEA50EC0F94A61320E030E090 -:1027500048EC51E40F943E13F80160837183828347 -:102760009383DF91CF911F910F91FF90EF90DF90B6 -:10277000CF90BF90AF909F908F907F906F905F9021 -:102780004F900895CF93DF93CDB7DEB728970FB65C -:10279000F894DEBF0FBECDBFAE014F5F5F4FBE01ED -:1027A0006B5F7F4F0E94F2926D817E818F81988551 -:1027B00028960FB6F894DEBF0FBECDBFDF91CF9144 -:1027C00008958EE099E2089508950F931F93CF9393 -:1027D000DF93EC0188E090E00F94F40A8C010E94F2 -:1027E00034971E830D83C8010E944B9780E190E0CF -:1027F0000F94F40A8C010E943A9218870F83C80143 -:102800000E94E69286E090E00F94F40A8C0169E35E -:102810000E941B981A870987C8010E94859947E87A -:1028200054E962E07FE18EE49DE20E94C15840ECF1 -:1028300054E96DE07FE18EE49DE20E94C1584CEEC8 -:1028400054E968E17FE18EE49DE20E94C15848E1CD -:1028500055E965E27FE18EE49DE20E94C15848E4BB -:1028600055E962E37FE18EE49DE20E94C1584AE8A7 -:1028700055E960E47FE18EE49DE20E94C1584CEC92 -:1028800055E96EE47FE18EE49DE20E94C1584BE081 -:1028900056E96CE57FE18EE49DE20E94C15843E277 -:1028A00056E969E67FE18EE49DE20E94C15842E369 -:1028B00056E96BE77FE18EE49DE20E94C1584EEC41 -:1028C00056E96AE87FE18EE49DE20E94C15841E04A -:1028D00057E968E97FE18EE49DE20E94C15841E535 -:1028E00056E969EA7FE18EE49DE20E94C15864EBFB -:1028F0007FE183E496E40F949A0BDF91CF911F91CF -:102900000F910895FC01858196810C94799788E751 -:102910009EE20E94829420E030E0A9010F949F156E -:1029200087FD0BC088E79EE20E94829420E030E0A1 -:1029300040E05FE30F943E130AC088E79EE20E94E6 -:10294000829420E030E040E05FE30F943D130F9469 -:102950000E14882777FD8095982F0895FC018581B6 -:1029600096810E94799726E636E646EE5FE30F945D -:10297000A31520E030E040E052E40F943E130895A8 -:1029800088E79EE20E94AE9420E030E0A9010F9417 -:102990009F1587FD0BC088E79EE20E94AE9420E061 -:1029A00030E040E05FE30F943E130AC088E79EE208 -:1029B0000E94AE9420E030E040E05FE30F943D13CE -:1029C0000F940E14882777FD8095982F0895FC01A9 -:1029D000858196810C94CA9788E79EE20E94E794CD -:1029E00020E030E0A9010F949F1587FD0BC088E718 -:1029F0009EE20E94E79420E030E040E05FE30F9425 -:102A00003E130AC088E79EE20E94E79420E030E08F -:102A100040E05FE30F943D130F940E14882777FD79 -:102A20008095982F0895FC01878190850C94C2931E -:102A300088E79EE20E94139520E030E0A9010F9400 -:102A40009F1587FD0BC088E79EE20E94139520E04A -:102A500030E040E05FE30F943E130AC088E79EE257 -:102A60000E94139520E030E040E05FE30F943D13B7 -:102A70000F940E14882777FD8095982F08950E9453 -:102A8000139520E030E040E251E40F94A31508953F -:102A900088E79EE20E943F9520E030E040E251E46A -:102AA0000F94A31520E030E0A9010F949F1587FD36 -:102AB00011C088E79EE20E943F9520E030E040E2AE -:102AC00051E40F94A31520E030E040E05FE30F9461 -:102AD0003E1310C088E79EE20E943F9520E030E060 -:102AE00040E251E40F94A31520E030E040E05FE3C2 -:102AF0000F943D130F940E14882777FD8095982F1F -:102B000008950E94139524E135E040EF50E40F94BE -:102B1000A315089588E79EE20E94819524E135E09F -:102B200040EF50E40F94A31520E030E0A9010F948A -:102B30009F1587FD11C088E79EE20E94819524E1E0 -:102B400035E040EF50E40F94A31520E030E040E082 -:102B50005FE30F943E1310C088E79EE20E948195C8 -:102B600024E135E040EF50E40F94A31520E030E07D -:102B700040E05FE30F943D130F940E14882777FD18 -:102B80008095982F08950E94139520E931E347E935 -:102B90005EE30F94A315089588E79EE20E94C39513 -:102BA00020E931E347E95EE30F94A31520E030E02C -:102BB000A9010F949F1587FD11C088E79EE20E942E -:102BC000C39520E931E347E95EE30F94A31520E0C4 -:102BD00030E040E05FE30F943E1310C088E79EE2D0 -:102BE0000E94C39520E931E347E95EE30F94A31502 -:102BF00020E030E040E05FE30F943D130F940E14AB -:102C0000882777FD8095982F0895FC01818592850E -:102C10000E94099A089588E79EE20E940596BC01E9 -:102C200080E090E008950F931F93FC0181859285C9 -:102C30000E94099A8C0122273327CB01801B910B1C -:102C40001F910F91089588E79EE20E941396BC01A0 -:102C500080E090E00895FC01818592850E94099AA8 -:102C6000CB01089588E79EE20E942B96BC0180E08C -:102C700090E008950F931F93CF93DF93EC01898524 -:102C80009A850E94099A8C0122273327A8018985F9 -:102C90009A850E942598CB01DF91CF911F910F91CA -:102CA000089580EC9FE10E94CCD888E79EE20E94C4 -:102CB000829441E050E00E943A568BEC9FE10E94E2 -:102CC000CCD888E79EE20E94AE9441E050E00E949A -:102CD0003A5686ED9FE10E94CCD888E79EE20E949A -:102CE000E79441E050E00E943A5681EE9FE10E9455 -:102CF000CCD888E79EE20E94139541E050E00E9404 -:102D00003A5680EF9FE10E94CCD888E79EE20E946D -:102D10003F9541E050E00E943A5680E090E20E94E8 -:102D2000CCD888E79EE20E94819541E050E00E9465 -:102D30003A5680E190E20E94CCD888E79EE20E9459 -:102D4000C39541E050E00E943A5680E290E20E9432 -:102D5000CCD888E79EE20E9405960E9417DA8BE2A3 -:102D600090E20E94CCD888E79EE20E9413960E94CF -:102D700017DA8BE390E20E94CCD888E79EE20E94AB -:102D80002B960E9417DA88E490E20E94CCD888E75C -:102D90009EE20E943A960E9417DA089588E79EE222 -:102DA0000E943A96BC0180E090E00895CF93DF93B3 -:102DB000EC01611109C060E070E089859A850E948C -:102DC000669960E070E015C0613049F460E070E041 -:102DD00089859A850E94669961E070E00AC0623038 -:102DE00061F460E170E089859A850E94669962E0ED -:102DF00070E089859A850E94EA9981E0DF91CF9100 -:102E0000089561E070E080E090E00E941EDF88E7B6 -:102E10009EE20E94D696682F70E080E090E00895D0 -:102E20000F9300E020E040E060E083E89EE20F9432 -:102E3000C30A8091702E9091712E90937C2E809376 -:102E40007B2EE8E7FEE2F093712EE093702E88E58A -:102E500090E2918380830F910895DC01ED91FC91C4 -:102E60000190F081E02D1994089560E470E08DEBFD -:102E70009AE20E94051B6EEF70E08DEB9AE20E94D1 -:102E80002D978DEB9AE20E941A1B6FE070E080E0B4 -:102E900090E00D943505CF93DF93EC018DEB9AE232 -:102EA0000E94DE1ACE010E94359760E470E08DEB3F -:102EB0009AE20E94051B67EE70E08DEB9AE20E9499 -:102EC0002D978DEB9AE20E941A1B41E050E060E4DE -:102ED00070E08DEB9AE20E94F81A8DEB9AE20E9464 -:102EE0004F1A21E0029709F020E0822FDF91CF9165 -:102EF0000895CF93DF9360E470E08DEB9AE20E9437 -:102F0000051B63EE70E08DEB9AE20E942D978DEB2E -:102F10009AE20E941A1B6AE070E080E090E00F9451 -:102F2000350543E050E060E470E08DEB9AE20E94EA -:102F3000F81A8DEB9AE20E94471A892BD1F38DEB98 -:102F40009AE20E944F1AD82F80E0C82F8DEB9AE2A8 -:102F50000E944F1AC82BD92B8DEB9AE20E944F1A70 -:102F6000BE0180E090E00F94431422E538EB4FE27D -:102F700053E40F94A31520E030E040E857E30F94AA -:102F8000A31526E636E64BE352E40F943D13DF919A -:102F9000CF910895CF93DF9360E470E08DEB9AE2D8 -:102FA0000E94051B65EE70E08DEB9AE20E942D9762 -:102FB0008DEB9AE20E941A1B6AE070E080E090E0DC -:102FC0000F94350543E050E060E470E08DEB9AE249 -:102FD0000E94F81A8DEB9AE20E94471A892BD1F3CE -:102FE0008DEB9AE20E944F1AD82F80E0C82F8DEB0C -:102FF0009AE20E944F1AC82BD92B8DEB9AE20E94BD -:103000004F1ABE0180E090E00F94431420E030E0BE -:103010004AEF52E40F94A31520E030E040E857E374 -:103020000F94A31520E030E040EC50E40F943D13E2 -:10303000DF91CF910895FC01608315821282118285 -:1030400080E190E09483838308954F925F926F9222 -:103050007F928F929F92AF92BF92CF92DF92EF9228 -:10306000FF92FA01DC0111962D913C9112972115E6 -:10307000310549F02130310569F0C12C24E0D22E10 -:10308000E12CF12C0DC037E1C32E35E7D32EE12C16 -:10309000F12C06C0B7EECB2EBFE0DB2EE12CF12CDD -:1030A000DC0113968D919C911497892B39F4A4E03F -:1030B000CC0CDD1CEE1CFF1CAA95D1F7DB01A7018F -:1030C00096010F94CF174B015C016AE0B694A79468 -:1030D000979487946A95D1F7DF010F94CF172B014E -:1030E0003C017AE076946794579447947A95D1F7A7 -:1030F00081149104A104B10471F0C301B2013AE05A -:10310000660F771F881F991F3A95D1F7A501940183 -:103110000F94811703C020E030E0A901DA01C90152 -:103120000196A11DB11DB695A795979587958134F8 -:103130009105A105B10530F181389105A105B105D1 -:1031400030F1813C9105A105B10530F1813021E0DC -:103150009207A105B10528F1893321E09207A10565 -:10316000B10520F18B3921E09207A105B10518F1D5 -:103170008B399240A105B10518F5E2E1F0E0A8E134 -:10318000B0E022C0EEEBF1E0A2EFB1E01DC0E1ED56 -:10319000F2E0A4E1B2E018C0EBE7F3E0AFE3B2E0A5 -:1031A00013C0EEEFF3E0A0E7B2E00EC0ECEFF1E009 -:1031B000AFE6B1E009C0EBEFF0E0A2EDB0E004C093 -:1031C000E0E0F0E0A0E0B0E0A50194010F94CF179B -:1031D0006B017C0180E2D80EE11CF11CDF01A30130 -:1031E00092010F94CF17C61AD70AE80AF90A8EE09F -:1031F000F694E794D794C7948A95D1F7C701B6019E -:10320000FF90EF90DF90CF90BF90AF909F908F9006 -:103210007F906F905F904F9008951F93CF93DF93AF -:10322000EC01162F8881682F772767FD70958DEB4D -:103230009AE20E94051B612F8DEB9AE20E949F1A71 -:103240008DEB9AE20E941A1B6881772767FD7095C3 -:1032500042E050E08DEB9AE20E94F81A8DEB9AE280 -:103260000E944F1AEC018DEB9AE20E944F1A20E067 -:1032700030E0382FC9018C2B9D2BDF91CF911F910E -:1032800008951F93CF93DF931F92CDB7DEB7162F0C -:10329000FC018081682F772767FD70958DEB9AE29E -:1032A00049830E94051B612F8DEB9AE20E949F1AB1 -:1032B0004981642F8DEB9AE20E949F1A8DEB9AE26E -:1032C0000F90DF91CF911F910C941A1B0F931F93B6 -:1032D000CF93DF93EC01162F072F8D81811103C04F -:1032E000CE010E948599CE010E94CA991B830C834E -:1032F0004981412B61E8CE010E944199CE01DF91C5 -:10330000CF911F910F910C94DA99CF93DF93EC0139 -:103310008DEB9AE20E94DE1A6881772767FD70952F -:103320008DEB9AE20E94051BE091BD2AF091BE2A26 -:103330000190F081E02D6AE08DEB9AE219958DEB1A -:103340009AE20E941A1B6881772767FD709541E019 -:1033500050E08DEB9AE20E94F81A8DEB9AE20E94FF -:103360004F1A8A709927892B89F081E08D836981B2 -:103370007A81CE010E94EA996B817C81CE010E9404 -:103380006699CE010E94DA9981E001C080E0DF9168 -:10339000CF910895CF93DF93EC018D81811103C00C -:1033A000CE010E94859943E060E8CE01DF91CF9184 -:1033B0000C944199CF93DF93EC018D81811103C06F -:1033C000CE010E94859940E060E8CE01DF91CF9167 -:1033D0000C9441990F931F93CF93DF93EC01162F19 -:1033E000072F8D81811103C0CE010E948599CE01E6 -:1033F0000E94CA9919830A834B81412B61E8CE014F -:103400000E944199CE01DF91CF911F910F910C94B1 -:10341000DA99CF92DF92EF92FF92CF93DF93EC0194 -:103420008D81811103C0CE010E948599CE010E9439 -:10343000CA9989819A81009739F0019751F466E61B -:1034400070E080E090E009C06EE070E080E090E025 -:1034500004C063E971E080E090E00F9435056EEA06 -:10346000CE010E940D996C01E12CF12C7601DD2436 -:10347000CC246CEACE010E940D99A0E0B0E0C82AED -:10348000D92AEA2AFB2ACE010E94DA99C701B6019D -:10349000DF91CF91FF90EF90DF90CF90089582E081 -:1034A0009AE2089508954EE75CE96EE570E28EE4D5 -:1034B0009DE20E94C15847EB5BE96FE670E28EE443 -:1034C0009DE20E94C15847E45BE96BE770E28EE43D -:1034D0009DE20E94C1584EE15BE966E870E28EE42D -:1034E0009DE20E94C15845EF5AE96CE970E28EE412 -:1034F0009DE20E94C15844ED5AE96FEA70E28EE401 -:103500009DE20E94C1580895CF92DF92EF92FF9200 -:10351000CF93DF9300D000D0CDB7DEB780918F2E50 -:103520009091902E892B19F462EF79E21FC00F94CD -:1035300006056B017C0180918F2E9091902E0E9448 -:1035400080B880918F2E9091902E0E9409B98111A0 -:103550001CC00F9406056C197D098E099F09693EF0 -:1035600073408105910568F36DED79E2CE01019616 -:103570000F940A0FCE0101960E940BDACE0101963C -:103580000F94DA0C80E090E002C089E89EE2269673 -:103590000FB6F894DEBF0FBECDBFDF91CF91FF9085 -:1035A000EF90DF90CF900895CF93DF9363EC79E2B3 -:1035B00080E00E94A94E882391F00E94849AEC0139 -:1035C000009769F08E819F810E9457BA8E819F81FA -:1035D0000E9487B861E070E080E090E003C060E0A6 -:1035E00070E0CB01DF91CF910895CF93DF9360EA34 -:1035F00079E281E00E94A94E8823D1F00E94849A4A -:10360000EC010097A9F061E070E080E090E00E949A -:103610001EDFAB01BC018E819F810E942ABA8E8180 -:103620009F810E9487B861E070E080E090E003C075 -:1036300060E070E0CB01DF91CF910895CF93DF93ED -:103640006AE779E281E00E94A94E8823D1F00E94C6 -:10365000849AEC010097A9F061E070E080E090E0CE -:103660000E941EDFAB01BC018E819F810E94FDB9CB -:103670008E819F810E9487B861E070E080E090E0D9 -:1036800003C060E070E0CB01DF91CF910895CF924D -:10369000DF92EF92FF920F931F93CF93DF93CDB7FB -:1036A000DEB7C554D1090FB6F894DEBF0FBECDBF4B -:1036B0006FE579E281E00E94A94E882309F444C0B5 -:1036C00061E070E080E090E00E941EDFAB01BC0191 -:1036D00023964FAF239724965FAF249725966FAF1D -:1036E000259726967FAF26970E94849A6C01239691 -:1036F0004FAD239724965FAD249725966FAD259700 -:1037000026967FAD26970097F9F011E4E12EF12C73 -:1037100000E010E09E012F5F3F4FF6018681978108 -:103720000E9431B9F601868197810E9487B889810C -:103730008F3F09F41982CE0101960E94CCD861E036 -:1037400070E080E090E003C060E070E0CB01CB5B14 -:10375000DF4F0FB6F894DEBF0FBECDBFDF91CF9124 -:103760001F910F91FF90EF90DF90CF9008954F92AF -:103770005F926F927F92AF92BF92CF92DF92EF9261 -:10378000FF920F931F93CF93DF93CDB7DEB7C2584D -:10379000D1090FB6F894DEBF0FBECDBF61E379E269 -:1037A00082E00E94A94E882309F48EC061E070E097 -:1037B00080E090E00E941EDF2B013C0162E070E09F -:1037C00080E090E00E94D1D7672B682B692B19F11C -:1037D00062E070E080E090E00E9473DFFB01019006 -:1037E0000020E9F73197E61BF70B6F01E134F10593 -:1037F0002CF080EC90E20E9407DA66C062E070E094 -:1038000080E090E00E9473DFA601CE018E5B9F4FA7 -:103810000F94821E17C062E070E080E090E00E948A -:103820001EDF5E01E2E4AE0EB11C2AE0A5010F949A -:10383000CC1EF50101900020E9F7CF0101976C0142 -:10384000CA18DB0876019FEFE91AF90AE2E4F0E012 -:10385000EC0FFD1FEE0DFF1D10820E94849A5C018B -:10386000009791F101E00C0D9E012E5B3F4FB301DB -:10387000A201FC01868197810E94BDB90027F7FC57 -:103880000095102F9E012F5F3F4FB301A201F5015C -:10389000868197810E9431B9F501868197810E94C6 -:1038A00087B8A601BE016F5F7F4FCE018E5B9F4F31 -:1038B0000F94741E61E070E030E020E0892B09F085 -:1038C00060E0832F922F04C060E070E080E090E021 -:1038D000CE57DF4F0FB6F894DEBF0FBECDBFDF91DE -:1038E000CF911F910F91FF90EF90DF90CF90BF90FD -:1038F000AF907F906F905F904F900895CF92DF923E -:10390000EF92FF92CF93DF9362E179E281E00E9430 -:10391000A94E882361F180918F2E9091902E00976F -:1039200011F00F94F60A61E070E080E090E00E94F0 -:103930001EDF6B017C0184E090E00F94F40AEC013F -:103940004CEB5AE2B6010E9479B8D093902EC09306 -:103950008F2E0E94849A009751F0FC0186819781F6 -:103960000E9487B861E070E080E090E003C060E012 -:1039700070E0CB01DF91CF91FF90EF90DF90CF907F -:1039800008950F9300E020E040E060E081E99EE2CE -:103990000F94C30A8091702E9091712E90938D2E6A -:1039A00080938C2EE9E8FEE2F093712EE093702E66 -:1039B00080EF90E2918380830F91089588E09AE2EE -:1039C0000895089541EF5CE966EF70E28EE49DE2B0 -:1039D0000E94C1586CEF70E283E496E40F949A0B56 -:1039E00008958AE091E20E9407DA60E070E0CB017E -:1039F00008950F9300E020E040E060E08CE99EE253 -:103A00000F94C30A8091702E9091712E90939B2EEB -:103A100080939A2EE7E9FEE2F093712EE093702EE8 -:103A200084E191E2918380830F9108954F925F9298 -:103A30006F927F928F929F92AF92BF92CF92DF92BE -:103A4000EF92FF920F931F93CF93DF93EC017B01D3 -:103A5000FB0101900020E9F7E61BF70B3597DB012E -:103A6000AE0FBF1F8C918A3241F421E0822F90E08B -:103A70008E179F0710F42F5FF9CF6AE171E2C7013B -:103A80000F94911E892B09F4B7C06CE270E0C70156 -:103A90000F94451E8C010F5F1F4FC8010F940F1D1F -:103AA0006B017C010F9413144B015C0120E137E2A0 -:103AB00040E050E00F948117288344E6442E512CB7 -:103AC000612C712CA30192010F9481172983C501E8 -:103AD000B401A30192010F9481176A8320E030E0C2 -:103AE00040E85FE3C701B6010F94C51420E030E061 -:103AF0004AE754E40F94A3150F9413147F836E8345 -:103B00006CE270E0C8010F94451E01967C010F9491 -:103B10000F1D688779878A879B876CE270E0C701F1 -:103B20000F94451EFC0121812E3411F0233511F430 -:103B300028A705C02C3211F080E02CC118A66CE239 -:103B400070E001960F94451E01967C010F940F1DA5 -:103B50006C877D878E879F876CE270E0C7010F942A -:103B6000451EFC012181273511F0253411F429A7C8 -:103B700003C02C3209F719A66CE270E001960F948D -:103B8000451E01967C010F94131D8CA76CE270E01A -:103B9000C7010F94451E01967C010F94131D8DA73C -:103BA0006CE270E0C7010F94451E01967C010F94F2 -:103BB0000F1D6CA37DA38EA39FA36CE270E0C701D1 -:103BC0000F94451E01967C010F940F1D6C8B7D8B0D -:103BD0008E8B9F8B6CE270E0C7010F94451E6CE2E8 -:103BE00070E001960F94451E01960F940F1D688B8F -:103BF000798B8A8B9B8BCDC061E271E2C7010F94F8 -:103C0000911E892B09F498CF6CE270E0C7010F94E4 -:103C1000451E8C010F5F1F4FC8010F940F1D6B01D4 -:103C20007C010F9413144B015C0120E137E240E06A -:103C300050E00F948117288334E6432E512C612CD9 -:103C4000712CA30192010F9481172983C501B4013E -:103C5000A30192010F9481176A8320E030E040E8CD -:103C60005FE3C701B6010F94C51420E030E04AE7D6 -:103C700054E40F94A3150F9413147F836E836CE2A6 -:103C800070E0C8010F94451EFC012181213419F414 -:103C900021E02BA704C0263509F04ECF1BA66CE20D -:103CA00070E001960F94451E01967C010F940F1D44 -:103CB000688779878A879B876CE270E0C7010F94D9 -:103CC000451EFC0121812E3411F0233511F428A763 -:103CD00004C02C3209F030CF18A66CE270E00196D7 -:103CE0000F94451E01967C010F940F1D6C877D87F4 -:103CF0008E879F876CE270E0C7010F94451EFC0120 -:103D00002181273511F0253411F429A704C02C3264 -:103D100009F012CF19A66CE270E001960F94451ECF -:103D200001967C010F940F1D688F798F8A8F9B8F6E -:103D30006CE270E0C7010F94451E01967C010F9460 -:103D40000F1D6C8F7D8F8E8F9F8F6CE270E0C7018F -:103D50000F94451E01960F940F1D0F9413144B01E1 -:103D60005C0120E137E240E050E00F9481172D83A1 -:103D700024E6C22ED12CE12CF12CA70196010F9440 -:103D800081172C83C501B401A70196010F948117F7 -:103D90006B8381E0DF91CF911F910F91FF90EF90A6 -:103DA000DF90CF90BF90AF909F908F907F906F905B -:103DB0005F904F900895FC011092A22E12AE1092C7 -:103DC000A72E80E29FE29093A62E8093A52E88EAEC -:103DD0009EE29093A42E8093A32E15A614A615827E -:103DE0001482138212821182108212A611A610A6CA -:103DF00013A61782168214A215A216A217A210A249 -:103E000011A212A213A2148E158E168E178E108E6A -:103E1000118E128E138E148A158A168A178A108AAA -:103E2000118A128A138A14861586168617861086BA -:103E300011861286138608950C94DB9EAB0160E018 -:103E400070E026E080EE96E40F94C3086AE070E02C -:103E500080E090E00D94350580EE96E40D949A0B89 -:103E60008091A22E08951092A22E8091A32E90915F -:103E7000A42E0895FC0182AD882311F080E00895FE -:103E800080EE96E40F94CF07892BC1F380EE96E481 -:103E90000F94E8072091A52E3091A62E843249F484 -:103EA0009091A72EF901E90FF11D10821092A72E13 -:103EB00028C08A3031F59091A72EF901E90FF11D44 -:103EC00010822091A52E3091A62EFFE220323F07CE -:103ED00039F448EA5EE25093A62E4093A52E08C01E -:103EE00020E23FE23093A62E2093A52E28EA3EE260 -:103EF0003093A42E2093A32E1092A72E91E090939E -:103F0000A22EE091A52EF091A62E9091A72E21E051 -:103F1000290F2093A72EE90FF11D80839091A72EE2 -:103F2000983718F097E79093A72E08958AE29AE2BF -:103F30000895E0919D2FF0919E2F63A570E080E0A1 -:103F400090E00895E0919D2FF0919E2F64A570E080 -:103F500080E090E00895E0919D2FF0919E2F65A55F -:103F600070E080E090E00895E0919D2FF0919E2F09 -:103F700060A5772767FD7095872F972F0895E091AB -:103F80009D2FF0919E2F61A5772767FD7095872F54 -:103F9000972F0895E0919D2FF0919E2F608D718D48 -:103FA000828D938D0F940E140895E0919D2FF091C2 -:103FB0009E2F648D758D868D978D0F940E140895A8 -:103FC00068E080919F2F9091A02F0E9478A40F9479 -:103FD0000E140895EF92FF920F931F93CF93DF93E8 -:103FE000EC018BE390E00F94F40A8C010E941C9F7B -:103FF0001E830D838DE190E00F94F40A8C010E94E2 -:1040000061A218870F83FE01E657FF4F11821082CD -:10401000198660E086E00F94090760E087E00F945E -:10402000090760E088E00F94090744E651EA6BE76E -:1040300071E28EE49DE20E94C15842E051EA6AE8D2 -:1040400071E28EE49DE20E94C15849E95FE96AE9A4 -:1040500071E28EE49DE20E94C15842EA5FE96DEA96 -:1040600071E28EE49DE20E94C1584BEA5FE967EC81 -:1040700071E28EE49DE20E94C15844EB5FE96CED71 -:1040800071E28EE49DE20E94C1584FEB5FE960EF60 -:1040900071E28EE49DE20E94C1584AEC5FE965E05E -:1040A00072E28EE49DE20E94C15845ED5FE966E14F -:1040B00072E28EE49DE20E94C1584DEE51EA67E241 -:1040C00072E28EE49DE20E94C1584FE951EA6CE32E -:1040D00072E28EE49DE20E94C15840EE5FE961E524 -:1040E00072E28EE49DE20E94C15860E875E28D8123 -:1040F0009E810E941E9F69E672E28D819E810E94D0 -:104100002C9F6BE972E28D819E810E942C9FFE01A3 -:10411000EE56FF4F82E390E0A0E0B0E08083918311 -:10412000A283B383349681E090E0918380833296BA -:1041300086EE90EA91838083CE0184579F4F0F943F -:10414000BE0067E78F8198850E9418A564E670E03D -:1041500080E090E00F94350568E08F8198850E949B -:1041600078A48E017E0180E8E80EF11C68E08F8162 -:1041700098850E948AA3F801628773878487958750 -:104180000C5F1F4F0E151F0589F7FE01E056FF4F0C -:1041900042E350E060E070E04083518362837383C8 -:1041A000349681E090E09183808332968BE192EAAD -:1041B00091838083CE0186569F4F0F94BE00DF917E -:1041C000CF911F910F91FF90EF90089580919D2FB7 -:1041D00090919E2F0E943A9F80919D2F90919E2FAB -:1041E0000E94309F882369F080919D2F90919E2F8F -:1041F0000E94339FBC0180919D2F90919E2F0C9423 -:10420000169D0895E0919D2FF0919E2F83A5811119 -:1042100008C08CEA92E20E9407DA60E070E0CB010D -:10422000089581ED92E20E94CCD8E0919D2FF0910B -:104230009E2F83810E9424D984ED92E20E94CCD8E3 -:10424000E0919D2FF0919E2F84810E9424D984EDCE -:1042500092E20E94CCD8E0919D2FF0919E2F858113 -:104260000E9424D984E090E10E94CCD8E0919D2F57 -:10427000F0919E2F80810E9424D98FEC9DE00E94B6 -:10428000CCD8E0919D2FF0919E2F81810E9424D95E -:104290008FEC9DE00E94CCD8E0919D2FF0919E2F55 -:1042A00082810E9424D986ED92E20E94CCD8E091CE -:1042B0009D2FF0919E2F868197810E9417DA61E0F1 -:1042C00070E080E090E008956EE07AE281E00E9484 -:1042D000A94E882371F061E070E080E090E00E94D8 -:1042E0001EDF21E0672B682B692B09F420E0209367 -:1042F000A12F60E070E0CB0108950F931F93CF933F -:10430000DF938C01C0E0D0E060E070E0CB01F80109 -:10431000EC0FFD1F22853385448555850F943E1390 -:104320002496C038D10599F720E030E040E05DE305 -:104330000F94A315DF91CF911F910F9108958F9244 -:104340009F92AF92BF92CF92DF92EF92FF9288E955 -:104350009FE20E947DA19B01AC0160E070E58DE7CA -:1043600094E40F94A61324EB39EC42E45EE30F943B -:1043700006166B017C0168E080919F2F9091A02F21 -:104380000E9478A44B015C0120E030E040E85FE34C -:10439000C701B6010F943D136B017C0123E333E9A0 -:1043A00048E853E4C501B4010F943E139B01AC01EE -:1043B000C701B6010F94A31524EF3DEF44ED5BE375 -:1043C0000F94A6130F940E14FF90EF90DF90CF90F0 -:1043D000BF90AF909F908F90089588E99FE20E94D0 -:1043E0007DA142E050E00E9407550E94B7D988E9BC -:1043F0009FE20E947DA10F940E140895CF93DF9346 -:10440000EC01C657DF4F28813981F901EE0FFF1FFC -:10441000EE0FFF1FE80FF91F4287538764877587E8 -:10442000C901019660E270E00F946D17998388834B -:10443000DF91CF91089568E080919F2F9091A02FF8 -:104440000E948AA3AB01BC0188E99FE20C94FEA103 -:104450000F9300E020E040E060E080E490E30F9400 -:10446000C30A8091702E9091712E90939C2F80930F -:104470009B2FE8E9FFE2F093712EE093702E8CED14 -:1044800092E2918380830F910895FC0181858111CF -:1044900001C0089580EE96E40F94CF07892B81F038 -:1044A00080EE96E40F94E807E0914346F09144468D -:1044B0000190F081E02D682F83E496E41995EACF0E -:1044C00008950895FC0160858DEB9AE20E94FB1A25 -:1044D0006EE170E08DEB9AE20E942D978DEB9AE2EF -:1044E0000C941A1BCF93C62FFC0160858DEB9AE2CA -:1044F0000E94FB1A6C2F8DEB9AE20E949F1A8DEBA3 -:104500009AE2CF910C941A1BEF92FF920F931F9394 -:10451000CF93DF931F92CDB7DEB77C0110E0FC0193 -:1045200060858DEB9AE20E94FB1A60E070E08DEBF3 -:104530009AE20E942D978DEB9AE20E941A1BF701D6 -:1045400060858DEB9AE20E94FB1A43E0F7016085DB -:104550008DEB9AE20E94F51A8DEB9AE20E94471ABF -:10456000892B89F08DEB9AE20E944F1A082F8DEB70 -:104570009AE20E944F1A782F8DEB9AE279830E947B -:104580004F1A798104C08FEF7FEF0FEF1FEF682F75 -:10459000C8010F90DF91CF911F910F91FF90EF9085 -:1045A0000895CF92DF92EF92FF921F93CF93DF9304 -:1045B000EC01162F0F9412056B017C014881598183 -:1045C0006A817B814115510561057105C9F0C41AE5 -:1045D000D50AE60AF70A80E1C81687E2D806E104A0 -:1045E000F104F8F0188219821A821B8260E4610FCC -:1045F000CE010E9484A26D8B7E8B8F8B988F15C00D -:104600004C815D816E817F81452B462B472B49F480 -:1046100060E4610FCE010E9472A2C882D982EA8250 -:10462000FB826D897E898F89988DDF91CF911F9153 -:10463000FF90EF90DF90CF900895CF92DF92EF92AE -:10464000FF921F93CF93DF93EC01162F0F94120567 -:104650006B017C014C815D816E817F81411551052B -:1046600061057105C9F0C41AD50AE60AF70A80E1A6 -:10467000C81687E2D806E104F104F8F01C821D8216 -:104680001E821F8260E5610FCE010E9484A2698FA5 -:104690007A8F8B8F9C8F11C0488159816A817B8171 -:1046A000452B462B472B49F460E5610FCE010E9454 -:1046B00072A2CC82DD82EE82FF82698D7A8D8B8D33 -:1046C0009C8DDF91CF911F91FF90EF90DF90CF9065 -:1046D00008950F931F93CF93DF93EC010E941DA3C6 -:1046E000611571058105910569F009891A8920E034 -:1046F00030E0322F212F102F0027601B710B820B0F -:10470000930B03C060E070E0CB01DF91CF911F916C -:104710000F9108952F923F924F925F926F927F92E6 -:104720008F929F92AF92BF92CF92DF92EF92FF92C1 -:104730000F931F93CF93DF93CDB7DEB760970FB67C -:10474000F894DEBF0FBECDBF1C01162F0E94D1A270 -:104750006B017C01611571058105910521F460E013 -:1047600070E0CB01ACC0612FC1010E9469A32B0195 -:104770003C01611571058105910589F3D1011F96F1 -:104780000D90BC91A02DBA87A987F10125853685AA -:10479000B701A60180E090E0DC01C9825A836B83F7 -:1047A0007C838D839E83AF83B88781849284A12C80 -:1047B000B12C5FE0880C991CAA1CBB1C5A95D1F740 -:1047C00040E050E0C301B2010F94331808E00F94A9 -:1047D000D018F22FE32FDA016B877C878C019401CC -:1047E000A50160E070E080E090E0AF2EBE2E6D018C -:1047F000EB84FC840F94EE1859016A017B018C0153 -:1048000029813A814B815C8160E070E080E090E03A -:104810000F94DA1705E10F94D0182B87388B4F8748 -:10482000852E962E7C878D879E87D1011B968D9134 -:104830009C911C97A0E0B0E0DC01992788278C01AF -:104840009D0140E050E0BA0189831A832B833C83A9 -:104850004D835E836F83788769857A859B0140E00D -:1048600050E0C301B2010F94331807E00F94D01841 -:1048700059016A017B018C0129813A814B815C815C -:1048800060E070E080E090E00F94EE1859016A015A -:104890007B018C012B8538894F85582D692D7C85AE -:1048A0008D859E850F94F7180FE00F94D0180F9404 -:1048B0003F1420E030E048EC52E40F94A6136096D9 -:1048C0000FB6F894DEBF0FBECDBFDF91CF911F9121 -:1048D0000F91FF90EF90DF90CF90BF90AF909F909F -:1048E0008F907F906F905F904F903F902F900895A2 -:1048F0008F929F92AF92BF92CF92DF92EF92FF92F0 -:104900000F93CF93DF93EC010E9469A36B017C01AD -:104910004B015C01BB0C8808982C54019601A7013F -:10492000682D782D882D982DA0E00F940019E1F0C6 -:104930002B893C8940E050E0C701B6010F94331841 -:1049400007E10F94D0182053384F4F4F5F4F6F4FF0 -:104950007F4F8F4F9F4F0F943F1420E030E048EC83 -:1049600052E40F94A61303C060E070E0CB01DF9126 -:10497000CF910F91FF90EF90DF90CF90BF90AF90CD -:104980009F908F900895BF92CF92DF92EF92FF9207 -:104990000F931F93CF93DF938C017C01C2EAD0E089 -:1049A000F80160858DEB9AE20E94FB1ABE018DEB47 -:1049B0009AE20E942D978DEB9AE20E941A1BF80151 -:1049C00060858DEB9AE20E94FB1A42E0F801608557 -:1049D0008DEB9AE20E94F51A8DEB9AE20E94471A3B -:1049E000892BD1F08DEB9AE20E944F1AB82E8DEBF5 -:1049F0009AE20E944F1ADB2CC12C8C299D29F701C9 -:104A0000928781872296F2E0EF0EF11CCE3AD10513 -:104A100039F680E090E002C08FEF9FEFDF91CF91F9 -:104A20001F910F91FF90EF90DF90CF90BF9008956E -:104A3000CF93DF93EC016887589859980E9462A23F -:104A400064E670E080E090E00F943505CE01DF91E0 -:104A5000CF910C94C3A48EEA9CE208954FE856EAE5 -:104A600062EE72E28EE49DE20E94C1584FE157EA85 -:104A70006BEE72E28EE49DE20E94C1584AE45BEA6A -:104A800065EF72E28EE49DE20E94C15848E356EA67 -:104A90006FEF72E28EE49DE20E94C15849EF55EA41 -:104AA00069E073E28EE49DE20E94C15881E00895BE -:104AB0000F931F93CF93DF93EB01FB01EA57FF4F57 -:104AC00026E02083319621ED35EA31832083498326 -:104AD0000F851889988B8F87CB010E94CEFC188B8D -:104AE0000F8781E0809358300F940605609354300F -:104AF000709355308093563090935730DF91CF911B -:104B00001F910F910895CF93DF9300D000D0CDB7C0 -:104B1000DEB7809159308130D8F1873010F088307D -:104B2000B9F58091483091E0980F909348308530E6 -:104B300090F484E08093583066ED7AE2CE010196DD -:104B40000F940A0FCE0101960E940BDACE01019656 -:104B50000F94DA0C1DC00E94B7D961ED7AE2CE0144 -:104B600001960F940A0FCE0101960E940BDACE0136 -:104B700001960F94DA0C109258308091593084507D -:104B8000833020F487E08093593002C0109259306E -:104B900026960FB6F894DEBF0FBECDBFDF91CF9142 -:104BA00008950F931F93CF93DF93EC018C010D5762 -:104BB0001F4FF8018081811104C082E0809358303A -:104BC00011C0813229F481E193E20E9407DA08C022 -:104BD00081E293E20E9407DAF80180810E940FDAF5 -:104BE0000E9483A5CE01DF91CF911F910F910C946C -:104BF00044F3CF93DF9300D000D0CDB7DEB76FE999 -:104C00007CE280E00E94A94E882331F180915930E6 -:104C10008823E9F064E87CE2CE0101960F940A0F44 -:104C2000CE0101960E940BDACE0101960F94DA0CA8 -:104C30006FE77CE2CE0101960F940A0FCE01019638 -:104C40000E940BDACE0101960F94DA0C05C088E0C1 -:104C5000809359301092483060E070E0CB01269686 -:104C60000FB6F894DEBF0FBECDBFDF91CF91089590 -:104C7000CF93DF9300D000D0CDB7DEB76EE67CE2F5 -:104C800080E00E94A94E8823F1F180915930882359 -:104C9000E9F063E57CE2CE0101960F940A0FCE01A4 -:104CA00001960E940BDACE0101960F94DA0C6EE4A5 -:104CB0007CE2CE0101960F940A0FCE0101960E946C -:104CC0000BDACE0101960F94DA0C1DC084E08093BC -:104CD0005930109253301092523080E090E190930E -:104CE00051308093503010924F3010924E301092CD -:104CF000493010924A3010924B3010924C30109242 -:104D00004D301092483060E070E0CB0126960FB62F -:104D1000F894DEBF0FBECDBFDF91CF910895CF9342 -:104D2000DF9300D000D0CDB7DEB76BEB7AE281E045 -:104D30000E94A94E8823A9F1809159308823E9F077 -:104D400060EA7AE2CE0101960F940A0FCE01019635 -:104D50000E940BDACE0101960F94DA0C6BE97AE22D -:104D6000CE0101960F940A0FCE0101960E940BDA34 -:104D7000CE0101960F94DA0C14C061E070E080E07F -:104D800090E00E941EDF709333026093320281E054 -:104D9000809359301092483061E070E080E090E0FC -:104DA00003C060E070E0CB0126960FB6F894DEBF3A -:104DB0000FBECDBFDF91CF910895EF92FF920F9379 -:104DC0001F93CF93DF9300D000D0CDB7DEB77C0127 -:104DD0000E9413F38C01009791F462EE7AE2CE0107 -:104DE00001960F940A0FCE0101960E940BDACE01B4 -:104DF00001960F94DA0C60E070E0CB0113C081E003 -:104E0000F80183874AE050E0B801C7010E9458A525 -:104E1000F801828193818F7D9383828361E070E0CA -:104E200080E090E026960FB6F894DEBF0FBECDBFAF -:104E3000DF91CF911F910F91FF90EF900895CF9345 -:104E4000DF9300D000D0CDB7DEB766E17BE282E031 -:104E50000E94A94E882309F459C0809159308823B3 -:104E6000E9F06BEF7AE2CE0101960F940A0FCE01C2 -:104E700001960E940BDACE0101960F94DA0C66EFD0 -:104E80007AE2CE0101960F940A0FCE0101960E949C -:104E90000BDACE0101960F94DA0C38C061E070E0B5 -:104EA00080E090E00E941EDF709333026093320234 -:104EB00062E070E080E090E00E941EDF672B682BCC -:104EC000692B19F088E590E002C086E490E09093A9 -:104ED00035028093340280913202909133020E9415 -:104EE000DDA6672B682B692B89F08FEF9FEFDC0124 -:104EF00080932E0290932F02A0933002B093310240 -:104F000082E0809359301092483003C060E070E036 -:104F1000CB0126960FB6F894DEBF0FBECDBFDF9152 -:104F2000CF9108954F925F926F927F928F929F924E -:104F3000AF92BF92CF92DF92EF92FF920F93CF93F7 -:104F4000DF93CDB7DEB72A970FB6F894DEBF0FBE5A -:104F5000CDBF7C016B012F83388749875A870E9418 -:104F600013F3DC012F81388549855A85009791F428 -:104F700066E47AE2CE0101960F940A0FCE01019603 -:104F80000E940BDACE0101960F94DA0C60E070E01B -:104F9000CB0150C080E21B968C931B971C960C9300 -:104FA0001C978091463090914730812C912C540170 -:104FB000BD016E5F7F4F801608F02CC0C114D10474 -:104FC00029F0F601E80DF91D408009C024013501E2 -:104FD000420E531E641E751E6BBEF201479084255F -:104FE000082E8295807F8025092E982F82958F70BC -:104FF0000826869598278927880F880F880F80258F -:10500000FB01E80DF91D4386EFEF8E1A9E0AAE0AEA -:10501000BE0AD1CF9093473080934630402F50E066 -:10502000455F5F4FBD01C7010E9458A561E070E078 -:1050300080E090E02A960FB6F894DEBF0FBECDBF99 -:10504000DF91CF910F91FF90EF90DF90CF90BF90C5 -:10505000AF909F908F907F906F905F904F9008954A -:10506000CF92DF92EF92FF920F931F93CF93DF9334 -:1050700000D000D0CDB7DEB780915830823009F42F -:10508000CFC0843019F081116CC114C00F94060593 -:10509000C0905430D0905530E0905630F09057305A -:1050A0006C197D098E099F0962337105810591058F -:1050B00008F457C18091593090E0FC013197E830F5 -:1050C000F10508F04EC1E656FF4F0D94C21710913E -:1050D00034020E9413F3009719F465E77AE27DC069 -:1050E00024E2FC01238714874BE050E0BC0180914F -:1050F00032029091330285C0C0904A30D0904B303C -:10510000E0904C30F0904D3000913202109133021B -:105110000E9413F3BC01009719F46AE57AE25DC0BE -:1051200086E2FB018387C486D586E686F7864EE055 -:1051300050E066C060914E3070914F300091503019 -:1051400010915130061B170B0337110510F002E7C1 -:1051500010E0209152303091533080913202909182 -:1051600033022115310531F0620F731F20E030E06A -:10517000A9010EC020914A3030914B3040914C3003 -:1051800050914D30260F371F411D511D60E070E0DA -:105190000E9492A706C080913202909133020E9431 -:1051A000DDA6672B682B692B09F0DBC030C080912E -:1051B0005230909153300F94C7191092533010927F -:1051C000523061C000913202109133020E9413F3F9 -:1051D000BC01009781F461E37AE2CE0101960F945D -:1051E0000A0FCE0101960E940BDACE0101960F94B0 -:1051F000DA0C80E009C083E2FB0183874AE050E0DB -:10520000C8010E9458A581E0817009F0AAC00E94DF -:10521000B7D98BE293E20E9407DA10925930A1C00D -:105220008091593090E0FC013197E830F10508F0A9 -:1052300098C0EE55FF4F0D94C2170F940605C0900D -:105240005430D0905530E0905630F09057306C1973 -:105250007D098E099F096B3F71058105910508F451 -:1052600080C06DE87AE2CE0101960F940A0FCE015C -:1052700001960E940BDACE0101960F94DA0C809110 -:105280005930813019F4109259305EC00E9483A5C4 -:1052900068C085E0809359301092583080914A3030 -:1052A00090914B30A0914C30B0914D3080932E02B4 -:1052B00090932F02A0933002B093310252C04091DC -:1052C0004E3050914F302091503030915130241B4E -:1052D000350B2337310510F022E730E0B901640FB8 -:1052E000751F70934F3060934E3080912E029091D5 -:1052F0002F02A0913002B0913102820F931FA11DA5 -:10530000B11D80932E0290932F02A0933002B09390 -:105310003102452F5527672F77274617570731F05A -:105320006AE070E080E090E00F94350520914E3007 -:1053300030914F308091503090915130281739077B -:1053400018F086E080935930109258300AC01092BD -:105350005930109258300E94B7D980E99AE10E94E2 -:1053600007DA26960FB6F894DEBF0FBECDBFDF91E9 -:10537000CF911F910F91FF90EF90DF90CF90089504 -:10538000EF92FF920F931F93CF93DF93CDB7DEB7CA -:1053900028970FB6F894DEBF0FBECDBF40915930AD -:1053A0002FEF240F223018F0463009F046C120912B -:1053B0005830223009F041C1FC0152815F3108F4BC -:1053C0003CC100811181F80180819181813498482C -:1053D00009F033C180913202909133028F3F2FEF59 -:1053E000920739F0F801278130852817390709F02D -:1053F00024C1F80185819681019609F41EC1F80146 -:10540000868D81111AC1E50FF11D319780818111BF -:1054100014C110925830423009F445C0463009F4A6 -:1054200053C0413009F00BC141E050E064E670E048 -:10543000CE0101967C010E9400BF69ED7CE2C701AC -:105440000F942A10F80186858F9385858F93848524 -:105450001F928F93C8014F969F938F9340979F936E -:105460008F9383851F928F9382851F928F93808560 -:105470008F9387818F9380E393E29F938F93FF9223 -:10548000EF920E9426BF0E94B7D9C7010E940BDA93 -:1054900010925930C7010F94DA0C0FB6F894DEBFA2 -:1054A0000FBECDBFCCC0F80185859685909347305F -:1054B0008093463083E08093593087819085909324 -:1054C000330280933202BBC0209146303091473086 -:1054D000F801858596852817390709F05BC080910A -:1054E000523090915330892B41F087E080935930AE -:1054F0000E94B7D966ED7CE240C080915030909117 -:10550000513040914A3050914B3060914C30709105 -:105510004D30480F591F611D711D40934A30509303 -:105520004B3060934C3070934D3010924F3010924E -:105530004E3080E090EEA3E0B0E0841B950BA60B0C -:10554000B70B8130F0E19F07A105B10520F080E0A5 -:1055500090E1A0E0B0E090935130809350301092F1 -:10556000483010924930892B11F085E03AC01092F2 -:1055700059300E94B7D963ED7CE2CE0101960F94B9 -:105580000A0FCE0101960E940BDACE0101960F940C -:10559000DA0C55C066EC7CE2CE0101960F940A0F3E -:1055A000CE0101960E940BDACE0101960F94DA0C1F -:1055B0008091493091E0980F909349308530A0F068 -:1055C0000E94B7D961EC7CE2CE0101960F940A0FDC -:1055D000CE0101960E940BDACE0101960F94DA0CEF -:1055E00087E0809359302BC062EB7CE2CE010196BC -:1055F0000F940A0FCE0101960E940BDACE0101969C -:105600000F94DA0C84E080935930809358300F94D3 -:1056100006056093543070935530809356309093C4 -:10562000573010924F3010924E30F8018585968594 -:10563000909347308093463002C080E001C081E003 -:1056400028960FB6F894DEBF0FBECDBFDF91CF9185 -:105650001F910F91FF90EF9008950F9300E020E0CD -:1056600040E060E08FE590E30F94C30A8091702ED4 -:105670009091712E90935E3080935D30EAE5F0E377 -:10568000F093712EE093702E8AEB93E291838083E6 -:105690000F9108952F923F924F925F926F927F9257 -:1056A0008F929F92AF92BF92CF92DF92EF92FF9232 -:1056B0000F931F93CF93DF93CDB7DEB728970FB625 -:1056C000F894DEBF0FBECDBF67EE7BE282E00E94A2 -:1056D000A94E882309F49AC180915930882389F012 -:1056E0006CEC7BE2CE0101960F940A0FCE0101967D -:1056F0000E940BDACE0101960F94DA0C67EC7BE284 -:1057000029C061E070E080E090E00E941EDF6093BD -:105710004A3070934B3080934C3090934D3062E020 -:1057200070E080E090E00E94D1D7672B682B692B56 -:1057300029F162E070E080E090E00E9473DFFB01FD -:1057400001900020E9F73197E61BF70BE0FF0FC04F -:1057500065EB7BE2CE0101960F940A0FCE01019614 -:105760000E940BDACE0101960F94DA0C4FC1F69528 -:10577000E795F0935130E09350300AC062E070E05A -:1057800080E090E00E941EDF7093513060935030B3 -:105790008091503090915130A82EA1942A2C312C18 -:1057A000820D931D0F942F19909353308093523094 -:1057B000892B89F46CE97BE2CE0101960F940A0FE4 -:1057C000CE0101960E940BDACE0101960F94DA0CFD -:1057D00067E97BE2BFCF62E070E080E090E00E948A -:1057E000D1D7672B682B692BA1F162E070E080E0D4 -:1057F00090E00E9473DF6B017C01812C912C54019D -:105800008091503090915130A0E0B0E08816990618 -:10581000AA06BB0608F091C098868F828401000F0B -:10582000111F0C0D1D1DF8015080852D992787FD36 -:1058300090950F948C1D892B09F4C2C0F8018181C9 -:10584000992787FD90950F948C1D892B09F0E2C054 -:10585000B7C083E496E40F94DA070A9721F483E44F -:1058600096E40F94E80783E496E40F94DA07892B13 -:1058700089F062E67BE2CE0101960F940A0FCE0119 -:1058800001960E940BDACE0101960F94DA0C6DE5B9 -:105890007BE2A6C00F9406056B017C01812C912C44 -:1058A00054018091503090915130A0E0B0E08816C2 -:1058B0009906AA06BB0608F040C083E496E40F945C -:1058C000CF07892BB1F024013501FFEF4F1A5F0A92 -:1058D0006F0A7F0A0091523010915330080D191D44 -:1058E00083E496E40F94E807F801808353014201B2 -:1058F000D8CF0F9406056C197D098E099F09613177 -:1059000077428105910568F26AE37BE2CE01019658 -:105910000F940A0FCE0101960E94D8D8CE010196AD -:105920000F94DA0CC501B4010E9499D989EA93E277 -:105930000E9407DA65E37BE20DCF809150309091B1 -:105940005130820D931D909351308093503060916F -:10595000523070915330A0E0B0E01FEF88169906E6 -:10596000AA06BB0650F4FB01E80DF91D10832FEFCA -:10597000821A920AA20AB20AF1CF40914A3050919B -:105980004B3060914C3070914D3080912E0290914F -:105990002F02A0913002B0913102481759076A07CF -:1059A0007B0711F084E001C085E0809359301092AC -:1059B000493010924F3010924E301092483047C00C -:1059C00065E87BE2CE0101960F940A0FCE010196A5 -:1059D0000E940BDACE0101960F94DA0C60E87BE2AC -:1059E000CE0101960F940A0FCE0101960E940BDAA8 -:1059F000CE0101960F94DA0C809152309091533081 -:105A00000F94C719109253301092523060E070E03A -:105A1000CB011DC060905230709053308F819885BB -:105A2000680E791E852D0E945D5F582EF8018181D8 -:105A30000E945D5FF0E15F9EB0011124862BF301AF -:105A40008083FFEF8F1A9F0AAF0ABF0AD9CE28962C -:105A50000FB6F894DEBF0FBECDBFDF91CF911F917F -:105A60000F91FF90EF90DF90CF90BF90AF909F90FD -:105A70008F907F906F905F904F903F902F90089500 -:105A8000DC01ED91FC910190F081E02D199481E011 -:105A9000089508958FE09DE208950895CF93DF93D0 -:105AA00000D0CDB7DEB7AB01DC01ED91FC910680F3 -:105AB000F781E02D19821A821B8220E0BE016F5F00 -:105AC0007F4F19950F900F900F90DF91CF91089510 -:105AD0004FEB5DEA60EC73E28EE49DE20E94C158F8 -:105AE00044E75FEA6BEC73E28EE49DE20E94C158EA -:105AF00048E15FEA69ED73E28EE49DE20E94C158DD -:105B00004AEC5EEA67EE73E28EE49DE20E94C158C1 -:105B100049E65EEA65EF73E28EE49DE20E94C158B9 -:105B200045E55EEA6AE074E28EE49DE20E94C158B7 -:105B30000895CF93DF93EC01E4EEF1E3E491E09379 -:105B40007030E4E0F2E3E491F0E0EE0FFF1FE45C7C -:105B5000FD4C8591949190936F3080936E3061E00D -:105B600082E00F940907809170308A8380916E30B3 -:105B700090916F309C838B83DF91CF9108950F9329 -:105B80001F93CF93DF934FED5CE264E081E00E94CE -:105B90007D52882309F47BC061E070E080E090E0F2 -:105BA0000E941EDF6093793060E070E0CB010E94BC -:105BB0001EDF623071058105910544F062E070E0FE -:105BC00080E090E00E941EDF162F01C012E060E02E -:105BD00070E0CB010E941EDF6330710581059105E5 -:105BE00034F063E070E080E090E00E9473DF60E0FA -:105BF00070E0CB010E941EDF6430710581059105C4 -:105C000034F064E070E080E090E00E9473DF809107 -:105C10007A3090917B300F94C7190091793023E04E -:105C2000029FC00111240F942F1990937B30809311 -:105C30007A30C0913124D09132241230F9F4202FDF -:105C400030E040917130411111C010926A301092D1 -:105C50006B3010926C3010926D3043E254E25093EE -:105C600066304093653041E04093713000E010E0D1 -:105C7000AC0165E670E3CE010E9462B260E0CE0145 -:105C80000E9420B361E070E080E090E003C060E03B -:105C900070E0CB01DF91CF911F910F910895FC012E -:105CA000EE5BFF4F60810C94AFB2CF93DF93C09156 -:105CB0003124D091322460E0CE010E9420B3CE0185 -:105CC0000E944FAE61E070E080E090E0DF91CF9104 -:105CD00008958F929F92AF92BF92CF92DF92EF92F0 -:105CE000FF920F931F93CF93DF93C0903124D090F6 -:105CF000322460E0C6010E9420B3E12CF12C00E0C8 -:105D000010E094E6892E912CA12CB12C8091793051 -:105D100090E00817190754F561E070E080E090E02A -:105D20000E941EDF9B01AC01C0917A30D0917B3084 -:105D3000CE0DDF1DAFEFB0E00F94CF17A50194019A -:105D40000F94A31720953881329F312D38833981E4 -:105D5000329F312D39833A81329F312D3A8311247C -:105D60000F5F1F4F83E0E80EF11CD0CFC6010E94E9 -:105D70004FAE61E070E080E090E0DF91CF911F9145 -:105D80000F91FF90EF90DF90CF90BF90AF909F90DA -:105D90008F900895BF92CF92DF92EF92FF920F9370 -:105DA0001F93CF93DF9300D0CDB7DEB7C0903124DF -:105DB000D090322460E0C6010E9420B300E010E0E1 -:105DC000E12CF12CBB24BA948091793090E0E81654 -:105DD000F906D4F461E070E080E090E00E941EDFFC -:105DE00020917A3030917B30200F311F6983BA8245 -:105DF000BB82B901CE0101960E949CB38FEFE81AD5 -:105E0000F80A0D5F1F4FE0CFC6010E944FAE61E060 -:105E100070E080E090E00F900F900F90DF91CF91B5 -:105E20001F910F91FF90EF90DF90CF90BF9008955A -:105E3000AF92BF92CF92DF92EF92FF920F931F9398 -:105E4000CF93DF9300D0CDB7DEB7C0903124D09090 -:105E5000322460E0C6010E9420B300E010E0E12C93 -:105E6000F12C8091793090E0E816F90644F563E072 -:105E700070E080E090E00E941EDFB62E62E070E0ED -:105E800080E090E00E941EDFA62E61E070E080E0DE -:105E900090E00E941EDF20917A3030917B30200FFD -:105EA000311F6983AA82BB82B901CE0101960E948B -:105EB0009CB38FEFE81AF80A0D5F1F4FD2CFC601CF -:105EC0000E944FAE61E070E080E090E00F900F9094 -:105ED0000F90DF91CF911F910F91FF90EF90DF9086 -:105EE000CF90BF90AF900895CF92DF92EF92FF9244 -:105EF0000F931F93CF93DF93E0903124F0903224DF -:105F000060E0C7010E9420B300E010E0C0E0D0E0F4 -:105F10008091793090E0C817D9070CF563E070E004 -:105F200080E090E00E941EDFD62E62E070E080E00C -:105F300090E00E941EDFC62E61E070E080E090E0FD -:105F40000E941EDFE0917A30F0917B30E00FF11F6C -:105F50006083C182D28221960D5F1F4FD9CFC701C6 -:105F60000E944FAE61E070E080E090E0DF91CF9161 -:105F70001F910F91FF90EF90DF90CF9008950F93B6 -:105F80001F93CF93DF93EC010F94120508811981C1 -:105F90002A813B81601B710B820B930B623371056D -:105FA000810591058CF3DF91CF911F910F91089599 -:105FB000FC01608300C000C0001427FF408300C0C4 -:105FC00000C00014408300C00895FC01608300C03D -:105FD00000C0001427FF408300C000C000144083AD -:105FE00000C000C000140895FC01608300C000C020 -:105FF000001426FF408300C000C0001440830895B1 -:10600000FC01608300C000C0001425FF408300C075 -:1060100000C00014408300C000C000140895FC01BB -:10602000608300C000C0001427FF408300C000C090 -:106030000014408300C000C008956F927F928F9239 -:106040009F92AF92BF92CF92DF92EF92FF920F9307 -:106050001F93CF93DF93662E8A01B0907030C0916A -:106060006E30D0916F307C01EE0CFF1CE80EF91EF3 -:10607000E00EF11EA880AB288881B094B822B882C7 -:10608000F8019080292D362F239F212D922E680113 -:10609000CE14DF0408F07CC025E0822E292D4B2D84 -:1060A0006A2DCE010E94D8AF990C8A94B9F70014DA -:1060B000292D4B2D6A2DCE010E94E5AF0014292D0C -:1060C0004B2D6A2DCE010E94F4AFF80171800014AF -:1060D000272D362D239F212D722E292D4B2D6A2DF4 -:1060E000CE010E9400B045E0942E272D4B2D6A2D45 -:1060F000CE010E94D8AF770C9A94B9F70014272DDF -:106100004B2D6A2DCE010E94E5AF0014272D4B2D9B -:106110006A2DCE010E94F4AFF80182800014282D70 -:10612000362D239F212D822E272D4B2D6A2DCE011A -:106130000E9400B035E0932E282D4B2D6A2DCE0104 -:106140000E94D8AF880C9A94B9F70014282D4B2DD3 -:106150006A2DCE010E940FB083E0C80ED11C282DFD -:106160004B2D6A2DCE010E94F4AFF80190800014EF -:10617000292D362D239F212D922EA88200C000C0EC -:10618000001485FEB88200C000C00014B88280CF21 -:106190001124DF91CF911F910F91FF90EF90DF902D -:1061A000CF90BF90AF909F908F907F906F90089509 -:1061B000AF92BF92CF92DF92EF92FF920F931F9315 -:1061C000CF93DF931F92CDB7DEB75C017B018A01CD -:1061D000059629830E94BFAFF894A7012981622FF9 -:1061E000C8010E941DB0C0903B46D0903C46E09054 -:1061F0003D46F0903E4628EC31E0D8010F94C81798 -:1062000020E130E040E050E00F94A317CA01B9014B -:1062100028EE33E040E050E00F94A3172C0D3D1D15 -:106220004E1D5F1D20933B4630933C4640933D46B8 -:1062300050933E4678940F941205F501658376835A -:10624000878390870F90DF91CF911F910F91FF90DF -:10625000EF90DF90CF90BF90AF9008958F929F9274 -:10626000AF92BF92CF92DF92EF92FF920F931F9364 -:10627000CF93DF93862E8A01D0907030C0916E301C -:10628000D0916F307C01EE0CFF1CE80EF91EE40E7D -:10629000F51EC880CD288881D094D822D882FA01F2 -:1062A000B0802B2D362F239F212DB22E0E151F05CA -:1062B00008F078C065E0A62E2B2D4D2D6C2DCE015B -:1062C0000E94D8AFBB0CAA94B9F700142B2D4D2D0A -:1062D0006C2DCE010E94E5AF00142B2D4D2D6C2DA1 -:1062E000CE010E94F4AFF8019180292D382D239F13 -:1062F000212D922E2B2D4D2D6C2DCE010E9400B004 -:10630000E5E0BE2E292D4D2D6C2DCE010E94D8AF7B -:10631000990CBA94B9F70014292D4D2D6C2DCE018E -:106320000E94E5AF0014292D4D2D6C2DCE010E9449 -:10633000F4AFF801A2802A2D382D239F212DA22E03 -:10634000292D4D2D6C2DCE010E9400B075E0B72E89 -:106350002A2D4D2D6C2DCE010E94D8AFAA0CBA94D7 -:10636000B9F700142A2D4D2D6C2DCE010E940FB0CF -:106370000D5F1F4F2A2D4D2D6C2DCE010E94F4AFC5 -:10638000F801B0802B2D382D239F212DB22EC882ED -:1063900000C000C00014A5FED88200C000C00014D8 -:1063A000D88284CF1124DF91CF911F910F91FF905C -:1063B000EF90DF90CF90BF90AF909F908F90089517 -:1063C000AF92BF92CF92DF92EF92FF920F931F9303 -:1063D000CF93DF931F92CDB7DEB75C017B018A01BB -:1063E000059629830E94BFAFF894A7012981622FE7 -:1063F000C8010E942EB1C0903B46D0903C46E09030 -:106400003D46F0903E4628EC31E0D8010F94C81785 -:1064100020E130E040E050E00F94A317CA01B90139 -:1064200028EE33E040E050E00F94A3172C0D3D1D03 -:106430004E1D5F1D20933B4630933C4640933D46A6 -:1064400050933E4678940F941205F5016583768348 -:10645000878390870F90DF91CF911F910F91FF90CD -:10646000EF90DF90CF90BF90AF9008950F9300E032 -:1064700020E040E060E081E890E30F94C30A80915F -:10648000702E9091712E9093803080937F30ECE746 -:10649000F0E3F093712EE093702E89E194E2918302 -:1064A00080830F910895FC01E05CFF4F28E030E00D -:1064B0003183208332962FEF208340E450E060E068 -:1064C0000C9437B4CF92DF92EF92FF920F931F9309 -:1064D000CF93DF936C01EB01101611061CF08901BC -:1064E00020E030E0F601E05CFF4FE080F180B60193 -:1064F000E0E0F0E0EE15FF055CF4685F7F4FCB0154 -:106500000897DC018D919C91009729F03196F2CF8C -:1065100080E090E01BC0EF3FBFEFFB07B9F083E0E6 -:10652000EE0FFF1F8A95E1F7EC0DFD1DD183C083AF -:10653000538342832683378315830483E881F9815B -:106540000190F081E02DCE011995CE01DF91CF9120 -:106550001F910F91FF90EF90DF90CF900895DF9201 -:10656000EF92FF920F931F93CF93DF93D62EEC0100 -:1065700000E010E07C0180E4E80EF11CF70180816E -:10658000918108171907FCF4888199810097D9F047 -:10659000DC012D913C914C815D81AE81BF81FD017B -:1065A000EE0FFF1FEA0FFB1F6A817B816E0F7F1FBB -:1065B000D9011896ED91FC9119972D2D19950F5F22 -:1065C0001F4F2896DBCFDF91CF911F910F91FF9046 -:1065D000EF90DF900895BF92CF92DF92EF92FF92FB -:1065E0000F931F93CF93DF936B01B42EEC0100E068 -:1065F00010E07C0180E4E80EF11CF70180819181BC -:10660000081719079CF488819981009779F0DC01BB -:10661000ED91FC914C815D810680F781E02D2B2D61 -:10662000B60119950F5F1F4F2896E7CFDF91CF91E5 -:106630001F910F91FF90EF90DF90CF90BF90089542 -:10664000CF92DF92EF92FF920F931F93CF93DF933E -:1066500000D0CDB7DEB77C01662349F019821A82DB -:106660001B8240E0BE016F5F7F4F0E94EBB287014B -:10667000E12CF12C680180E4C80ED11CF601808168 -:106680009181E816F906ACF4F801828193810097B4 -:1066900081F024813581A901440F551F420F531FFA -:1066A00060E00E9437B4FFEFEF1AFF0A085F1F4F48 -:1066B000E5CF0F900F900F90DF91CF911F910F9129 -:1066C000FF90EF90DF90CF90089587E890E30C94CF -:1066D00053B221E0611101C020E0382F332319F0BB -:1066E000369F312D320F832F0895DF92EF92FF9264 -:1066F0000F931F93CF93DF937C018B01EA01D22E7E -:10670000622FFC0180810E9469B3F70180836D2DA7 -:10671000F80180810E9469B3F80180836D2D888122 -:106720000E9469B388831124DF91CF911F910F914B -:10673000FF90EF90DF900895EF92FF920F931F93D9 -:10674000CF93DF9300D0CDB7DEB7FC018B01508132 -:10675000E180F280352F3F71330F330F330F25E582 -:10676000329F312D1124452F4074952F907257FD83 -:106770001FC041110CC0911104C0832F80958B83E1 -:106780000EC08BEA8B833B5A3A83198231C0911138 -:1067900009C0232F220F8BEA821B8B8335553A8346 -:1067A000198226C01B8280E0832F80958A830EC0C9 -:1067B00041110EC0911107C01B82330F8BEA831B5E -:1067C0008A833B5A03C03B831A823095398310C0B9 -:1067D000911106C085E5830F8B831A828BEA06C070 -:1067E0008BEA830F8B831A8280E085E5831B898384 -:1067F0008FEFE816C9F02E2DAE014F5F5F4FBE013F -:106800006E5F7F4FCE0103960E9475B32E2D2095AB -:10681000229F212D11248B81820F8B838A81820FED -:106820008A838981820F8983EFEFFE1679F06F2DBD -:106830008F2D0E9469B3282FAE014F5F5F4FBE01BD -:106840006E5F7F4FCE0103960E9475B38B81F80176 -:1068500080838A818183898182830F900F900F903A -:10686000DF91CF911F910F91FF90EF900895DC0180 -:1068700040FF03C001C06D936D934250E0F750405C -:10688000D0F7089586E19DE20895E1E9F0E01082F5 -:1068900010929500109294008091CC30806180839A -:1068A000089580E1809391000895E1E9F0E010827D -:1068B00010929500109294008091CC30806180837A -:1068C00008958091CC30806180939100089508955F -:1068D00081E090E00F94F40A9093D0308093CF3011 -:1068E00042E355EB63E374E28EE49DE20E94C158FB -:1068F00049EB54EB64E474E28EE49DE20E94C158DB -:1069000045E454EB64E574E28EE49DE20E94C158D4 -:1069100041E554EB60E674E28EE49DE20E94C158CA -:1069200045E554EB6BE674E28EE49DE20E94C158AB -:1069300041E654EB69E774E28EE49DE20E94C1589F -:106940004DEE55EB66E874E28EE49DE20E94C1587C -:1069500040EB55EB60E974E28EE49DE20E94C15881 -:1069600040E556EB61EA74E28EE49DE20E94C15874 -:10697000089561E070E080E090E00E941EDFE3E0B7 -:10698000660F771F881F991FEA95D1F7611571056A -:1069900021E08207910540F421E02093CC307093F0 -:1069A000CE306093CD3050C06115710528E082076C -:1069B000910568F422E02093CC30DC01CB0153E058 -:1069C000B695A795979587955A95D1F739C06115D2 -:1069D000710520E48207910568F423E02093CC3010 -:1069E000DC01CB0146E0B695A795979587954A952A -:1069F000D1F726C061157105810521E0920740F4A9 -:106A000024E02093CC30BB27A92F982F872F18C0C4 -:106A100061157105810524E0920768F425E0209353 -:106A2000CC30DC01CB012AE0B695A79597958795E8 -:106A30002A95D1F705C085E08093CC308FEF9FEF8A -:106A40009093CE308093CD308091CD309091CE30E8 -:106A500090939700809396008091CC3080618093D2 -:106A60009100089561E070E080E090E00E941EDFF8 -:106A700020E1209391001092900043E0660F771F71 -:106A8000881F991F4A95D1F76115710521E082078A -:106A9000910540F421E02093CC307093CE30609388 -:106AA000CD3050C06115710528E08207910568F46A -:106AB00022E02093CC30DC01CB0133E0B695A795E2 -:106AC000979587953A95D1F739C06115710520E4FE -:106AD0008207910568F423E02093CC30DC01CB01E0 -:106AE00026E0B695A795979587952A95D1F726C064 -:106AF00061157105810521E0920740F424E020939F -:106B0000CC30BB27A92F982F872F18C0611571058E -:106B1000810524E0920768F425E02093CC30DC0165 -:106B2000CB01FAE0B695A79597958795FA95D1F799 -:106B300005C085E08093CC308FEF9FEF9093CE30EF -:106B40008093CD308091CD309091CE30909397004E -:106B5000809396008091CC3080618093910008955D -:106B6000CF92DF92EF92FF9262E070E080E090E0DF -:106B70000E941EDF6B017C0161E070E080E090E02C -:106B80000E941EDFE62FA091CD30B091CE30A7013C -:106B90009601442755270F94CF175AE0969587956D -:106BA000779567955A95D1F7E33029F4709399005A -:106BB000609398000DC0E43029F470939B006093BB -:106BC0009A0006C0E53021F470939D0060939C000C -:106BD000FF90EF90DF90CF900895CF92DF92EF92E9 -:106BE000FF92CF9362E070E080E090E00E941EDFB1 -:106BF0006B017C0161E070E080E090E00E941EDFAC -:106C0000C62F633041F461E083E00F94090780915F -:106C10009000806813C0643041F461E084E00F9418 -:106C2000090780919000806209C0653049F461E0F5 -:106C300085E00F9409078091900088608093900010 -:106C4000A091CD30B091CE30A701960144275527B1 -:106C50000F94CF17EAE09695879577956795EA9513 -:106C6000D1F7C33029F470939900609398000DC058 -:106C7000C43029F470939B0060939A0006C0C5301D -:106C800021F470939D0060939C008091CC308061D2 -:106C900080939100CF91FF90EF90DF90CF90089577 -:106CA00061E070E080E090E00E941EDF633021F43C -:106CB000809190008F7705C0643031F4809190000E -:106CC0008F7D809390000895653029F48091900025 -:106CD000877F8093900008951F920F920FB60F92B6 -:106CE00011240BB60F922F933F934F935F936F93A3 -:106CF0007F938F939F93AF93BF93EF93FF93E09115 -:106D0000CA30F091CB301995FF91EF91BF91AF91BF -:106D10009F918F917F916F915F914F913F912F91B3 -:106D20000F900BBE0F900FBE0F901F9018950F93F2 -:106D300000E020E040E060E086ED90E30F94C30ABD -:106D40008091702E9091712E9093D5308093D43095 -:106D5000E1EDF0E3F093712EE093702E86EB94E278 -:106D6000918380830F9108958DE29EE208950895A6 -:106D70004FED56EB6CEB74E28EE49DE20E94C1583D -:106D800081E008950F9300E020E040E060E082EEB3 -:106D900090E30F94C30A8091702E9091712E90937E -:106DA000E1308093E030EDEDF0E3F093712EE0936D -:106DB000702E83ED94E2918380830F9108959F92CA -:106DC000AF92BF92CF92DF92EF92FF920F931F93F9 -:106DD000CF93DF934EE05EE261E080E00E947D525F -:106DE000882309F414C1F12CC0E0D0E081E8E82E3A -:106DF0000F2D10E098012F5F3F4FE29EB001E39E00 -:106E0000700D1124CE010F940D1B21E02F0D009762 -:106E100019F0F22EEC01ECCF60E070E0CB010E94A3 -:106E20001EDF672B682B692B71F061E070E080E05A -:106E300090E00E941EDF21E0672B682B692B09F48C -:106E400020E0822F01C080E08093DC3081112CC0D3 -:106E500064ED7DE283E496E40F94760B67E97DE2CE -:106E600083E496E40F94760B6DE57DE283E496E48B -:106E70000F94760B66E37DE283E496E40F94760B41 -:106E800066E27DE283E496E40F94360B4AE050E03C -:106E90006F2D83E496E40F948E0C6CE17DE283E425 -:106EA00096E40F94760B0EC0E0914346F091444671 -:106EB0000280F381E02D44E050E06AEC74E283E468 -:106EC00096E4199583E080934201809141018F718E -:106ED0008830D9F786E080934201809141018F711B -:106EE0008630D9F7B12CA12C7E0181E8B89EE00C48 -:106EF000F11C112480914F0183FF38C08A2D90E04E -:106F000001968017910721F0992493949A0C01C05F -:106F1000912C9B14B9F06E01E1E8AE9EC00CD11C1F -:106F2000112440917B01F601408350E04038510527 -:106F300048F460E871E0C60102960F94231EF60142 -:106F40001182A92C809141018F718630D9F78091EF -:106F50004F01886080934F0180914C018F7780931F -:106F60004C0180914C01806880934C01AB1411F26C -:106F70008091DC30882349F0F7018181811105C0BF -:106F8000608183E496E40F945E08F7018081882392 -:106F900039F18181E80FF11DD2808091DC308823A6 -:106FA00031F06D2D83E496E40F945E0815C0FFE088 -:106FB000FD1558F0E0914346F09144460190F08170 -:106FC000E02D60E383E496E4199540E150E06D2DF7 -:106FD00083E496E40F948E0CF70181818F5F8183A7 -:106FE000F70191818081981385CF8B2D90E00196D8 -:106FF0008017910711F0B39401C0B12C8091DC305F -:10700000811172CF83E496E40F94720B6DCF60E030 -:1070100070E0CB01DF91CF911F910F91FF90EF9026 -:10702000DF90CF90BF90AF909F90089590917700A0 -:1070300020917B0030917A0080917C004AE040935F -:10704000770048E040937B0049EC40937C0044EC9F -:1070500040937A0040917A0046FDFCCF6091780021 -:107060007091790030937A0020937B0090937700A1 -:1070700080937C0080E090E00F94431427ED33EA86 -:1070800040E95FE30F94A31526E636E648E853E4AB -:107090000F943D1320E030E040EE50E40F943E1397 -:1070A0000F940E14862F08958EBD00000DB407FEB8 -:1070B000FDCF8EB50895CF93DF93EC017B836A8378 -:1070C0000E94111A8CB58F7D8CBD8CB5837F8CBDD1 -:1070D0008CB58C7F81608CBD8DB581608DBD61E08C -:1070E0008A810F94420761E08A81DF91CF910D94EC -:1070F0000907FC0151834083738362830C945BB85E -:10710000FC0140815181628173810C945BB861E024 -:10711000FC0182810F94420761E08AE00D944207EE -:107120001F93CF93DF93EC0160E08A810F944207B5 -:1071300085E00E9454B88FEF0E9454B8182F61E088 -:107140008A810F9442076AE070E080E090E00F943B -:107150003505137081E009F480E0DF91CF911F9134 -:1071600008958F929F92AF92BF92CF92DF92EF924B -:10717000FF921F93CF93DF93EC016B017A010F9481 -:1071800006054B015C01CE010E9490B88823B9F03E -:107190000F940605681979098A099B09693E7340AD -:1071A0008105910580F3DF91CF911F91FF90EF90C2 -:1071B000DF90CF90BF90AF909F908F90089560E048 -:1071C0008A810F9442078EE90E9454B88FEF0E9483 -:1071D00054B8F60180838FEF0E9454B8182F8FEFB8 -:1071E0000E9454B8212F30E0322F2227282BF7019C -:1071F0003183208361E08A81DF91CF911F91FF90DD -:10720000EF90DF90CF90BF90AF909F908F900D94B4 -:1072100042070F931F93CF93DF9300D0CDB7DEB714 -:107220008C0161E0FC0182810F944207AE014F5F47 -:107230005F4FBE016D5F7F4FC8010E94B1B88B8167 -:10724000803231F481E029813A812531314709F0DA -:1072500080E00F900F900F90DF91CF911F910F91D1 -:1072600008959F92AF92BF92CF92DF92EF92FF92DA -:107270000F931F93CF93DF9300D01F92CDB7DEB74C -:107280005C01962E6701780160E0FC0182812B830E -:107290003C834A8359830F9442078BE00E9454B881 -:1072A000892D0E9454B85981852F0E9454B84A8173 -:1072B000842F0E9454B88FEF0E9454B82B81022F64 -:1072C0003C81132FC114D104E104F10461F08FEF6C -:1072D0000E9454B8F80181938F01F1E0CF1AD108D0 -:1072E000E108F108EFCF61E0F50182810F900F9086 -:1072F0000F900F90DF91CF911F910F91FF90EF9022 -:10730000DF90CF90BF90AF909F900D944207CF93A6 -:10731000DF93EC01CE010E9490B88111FBCF60E0B9 -:107320008A810F94420786E00E9454B861E08A8106 -:107330000F9442076AE070E080E090E0DF91CF9127 -:107340000D943505CF93DF93EC01CE010E9490B8E8 -:107350008111FBCF60E08A810F94420784E00E9494 -:1073600054B861E08A810F9442076AE070E080E0DF -:1073700090E0DF91CF910D943505CF92DF92EF929F -:10738000FF920F931F93CF93DF93EC01E42EC52E52 -:10739000F62ED22E132FCE010E9490B88111FBCF72 -:1073A000CE010E9487B960E08A810F94420782E093 -:1073B0000E9454B88F2D0E9454B88C2D0E9454B84E -:1073C0008E2D0E9454B8ED2CF12E002339F0F701D8 -:1073D00081917F010E9454B80150F7CF61E08A810A -:1073E0000F944207CE01DF91CF911F910F91FF9033 -:1073F000EF90DF90CF900C94A2B9FF920F931F9360 -:10740000CF93DF93EC01042FF52E162FCE010E94AF -:1074100090B88111FBCFCE010E9487B960E08A81CC -:107420000F94420780E20E9454B8812F0E9454B802 -:107430008F2D0E9454B8802F0E9454B861E08A8139 -:107440000F944207CE01DF91CF911F910F91FF90D2 -:107450000C94A2B9FF920F931F93CF93DF93EC018B -:10746000042FF52E162FCE010E9490B88111FBCF6C -:10747000CE010E9487B960E08A810F94420788EDAF -:107480000E9454B8812F0E9454B88F2D0E9454B886 -:10749000802F0E9454B861E08A810F944207CE0188 -:1074A000DF91CF911F910F91FF900C94A2B9CF93D0 -:1074B000DF93EC01CE010E9490B88111FBCFCE0189 -:1074C0000E9487B960E08A810F94420787EC0E948E -:1074D00054B861E08A810F944207CE01DF91CF91C9 -:1074E0000C94A2B91F93CF93DF93EC01162F66E3A0 -:1074F00070E08DEB9AE20E94051B612F8DEB9AE202 -:107500000E949F1A6D2F8DEB9AE20E949F1A6C2F9A -:107510008DEB9AE20E949F1A8DEB9AE2DF91CF9158 -:107520001F910C941A1B9FEF980F9F3120F06CE075 -:1075300080E097E906C090E2981B892F90E06CE00C -:1075400097690E9472BA64E187ED9BE90C9472BA64 -:10755000CF93DF93C82F66E370E08DEB9AE20E9431 -:10756000051B6C2F8DEB9AE20E949F1A8DEB9AE21D -:107570000E941A1B42E050E066E370E08DEB9AE255 -:107580000E94F81A8DEB9AE20E94471A0297D4F3F0 -:107590008DEB9AE20E944F1AD82F80E0C82F8DEB16 -:1075A0009AE20E944F1A8C2B9D2BDF91CF91089568 -:1075B00082E00E94A8BA24E0969587952A95E1F783 -:1075C000BC0180E090E00F94431420E030E449E4F3 -:1075D00054E40F94A61320E030E048EC52E40F94FA -:1075E000A3150F940E14CB010895CF92DF92EF9262 -:1075F000FF92CF9384E00E94A8BAC82F692F70E051 -:1076000080E090E00F9443146B017C016C2F70E0DC -:1076100080E090E00F94431420E030E040E85BE32A -:107620000F94A3159B01AC01C701B6010F943E1343 -:107630006B017C0120E030E0A9010F949F1520E050 -:1076400030E040E05FE387FD05C0C701B6010F945D -:107650003E1304C0C701B6010F943D130F940E14DE -:10766000CB01CF91FF90EF90DF90CF900895FC0178 -:1076700083819481892B49F485819681892B29F412 -:1076800081E027813085232B09F080E00895EF9277 -:10769000FF920F931F93CF93DF931F92CDB7DEB767 -:1076A0007C018B01FC018281882371F06FEF70E017 -:1076B000601B710B86E149830F94EF0549814423D8 -:1076C00019F0F701148303830F90DF91CF911F917D -:1076D0000F91FF90EF900895EF92FF920F931F93F9 -:1076E000CF93DF931F92CDB7DEB77C018B01FC01F6 -:1076F0008281882371F06FEF70E0601B710B87E16E -:1077000049830F94EF054981442319F0F70116834B -:1077100005830F90DF91CF911F910F91FF90EF9014 -:107720000895EF92FF920F931F93CF93DF931F92D1 -:10773000CDB7DEB77C018B01FC018281882371F01B -:107740006FEF70E0601B710B85E149830F94EF05CB -:107750004981442319F0F701108707830F90DF91C7 -:10776000CF911F910F91FF90EF900895FC018381BD -:1077700094810895FC01858196810895FC0187819B -:1077800090850895CF92DF92FF920F931F93CF932E -:10779000DF9300D0CDB7DEB76C01162FF42E022F89 -:1077A0008FEB9FE13B835A8379830F94E9216F2DFF -:1077B00080EC9FE10F94E921602F81EC9FE10F9411 -:1077C000E921F60117877981708BF18A5A81528BF2 -:1077D000038B3B81348B0F900F900F90DF91CF91F3 -:1077E0001F910F91FF90DF90CF900895FC01878546 -:1077F00090890895FC01818992890895FC0183890B -:1078000094890895CF93DF93EC018091E8309091B3 -:10781000E930892BF1F18091032C882381F16BE30E -:107820007EE283E496E40F94360B6B817C814AE020 -:1078300050E083E496E40F944F0C69E37EE283E426 -:1078400096E40F94360B6D817E814AE050E083E42C -:1078500096E40F944F0C67E37EE283E496E40F9482 -:10786000360B6F8178854AE050E083E496E40F940C -:107870004F0C65E37EE283E496E40F94760BE0918F -:10788000E830F091E9304F816D818B81DF91CF91AC -:107890001994DF91CF910895CF92DF92EF92FF92EA -:1078A0000F931F93CF93DF931F92CDB7DEB76C0179 -:1078B0008A017901FC018281882389F18381948185 -:1078C0006817790769F48581968121E0481759077F -:1078D00041F487819085E816F90619F420E001C08B -:1078E00021E041E0C60129830E9447BB41E0B80185 -:1078F000C6010E946CBB41E0B701C6010E9491BB6A -:107900002981222361F0C6010F90DF91CF911F9151 -:107910000F91FF90EF90DF90CF900C9402BC0F90EE -:10792000DF91CF911F910F91FF90EF90DF90CF905B -:107930000895CF93DF93EC0120E030E040E050E089 -:1079400060E070E00E944CBC18A21F8ECE014596EC -:10795000DF91CF910D947600CF93DF93EC010E94DD -:1079600099BC81E08A8318861F821E821D821C8238 -:107970001B828FEB9FE10F94D52190E0988B8F872E -:1079800080EC9FE10F94D52190E09A8B898B81EC5C -:107990009FE10F94D52190E09C8B8B8B44EF51E0BD -:1079A00060E070E04B8F5C8F6D8F7E8F86E29EEB88 -:1079B0009AA389A319821882DF91CF91089520E0BC -:1079C00030E040E050E06FEF70E00C944CBC20E001 -:1079D00030E04FEF50E060E070E00C944CBC2FEFD3 -:1079E00030E040E050E060E070E00C944CBC2FEFE1 -:1079F00030E04FEF50E060E070E00C944CBC2FEFB3 -:107A000030E040E050E062E370E00C944CBC29E9C7 -:107A100030E043E350E066E670E00C944CBC2FEF9E -:107A200030E040E050E06FEF70E00C944CBC20E0A0 -:107A300030E04FEF50E06FEF70E00C944CBC20E072 -:107A400030E04FE750E06FEF70E00C944CBC2FEF4C -:107A500030E04FEF50E06FEF70E00C944CBCEF92D1 -:107A60000F931F93CF93DF93EC01C9012A81222347 -:107A700011F1EE2029F021E030E038A32F8F02C071 -:107A800018A21F8E20E030E00B8F1C8F2D8F3E8FB1 -:107A90007A8769875C874B879E878D879C01CE019B -:107AA0000E944CBCCE014596DF91CF911F910F9162 -:107AB000EF900D94BE00DF91CF911F910F91EF9049 -:107AC0000895EF920F931F93E42E8B0120E030E096 -:107AD00040E050E06FEF70E00E942FBD1F910F91CA -:107AE000EF900895EF920F931F93E42E8B0120E007 -:107AF00030E04FEF50E060E070E00E942FBD1F913A -:107B00000F91EF900895EF920F931F93E42E8B0146 -:107B10002FEF30E040E050E060E070E00E942FBDC9 -:107B20001F910F91EF900895EF920F931F93E42E02 -:107B30008B012FEF30E04FEF50E060E070E00E94EB -:107B40002FBD1F910F91EF900895EF920F931F9308 -:107B5000E42E8B012FEF30E040E050E062E370E074 -:107B60000E942FBD1F910F91EF900895EF920F93F8 -:107B70001F93E42E8B0129E930E043E350E066E6F1 -:107B800070E00E942FBD1F910F91EF900895EF922A -:107B90000F931F93E42E8B012FEF30E040E050E075 -:107BA0006FEF70E00E942FBD1F910F91EF9008952D -:107BB000EF920F931F93E42E8B0120E030E04FEF04 -:107BC00050E06FEF70E00E942FBD1F910F91EF907A -:107BD0000895EF920F931F93E42E8B0120E030E085 -:107BE0004FE750E06FEF70E00E942FBD1F910F91A3 -:107BF000EF900895EF920F931F93E42E8B012FEFD8 -:107C000030E04FEF50E06FEF70E00E942FBD1F910A -:107C10000F91EF900895EF920F931F938B01E42E35 -:107C2000FC012389348941895289678570890E94C2 -:107C30002FBD1F910F91EF900895FC01258536858A -:107C400043855485618572850C944CBCFC0182850A -:107C50009385019799F48091EB309091EC30892BCA -:107C600089F48091ED309091EE30892B59F4809118 -:107C7000EF309091F030892B29F40EC088EE90E31C -:107C80000C9499BC20E030E040E050E060E070E00F -:107C900088EE90E30C944CBC88EE90E30C941DBEEF -:107CA000FC012389348941895289678570890C9444 -:107CB0004CBC0F9300E020E040E060E08BE091E3FB -:107CC0000F94C30A88EE90E30F910C94ACBC209102 -:107CD000BC473091BD4721153105D9F08091020292 -:107CE00090910302281B390BE091BE47F091BF47EA -:107CF0008EEF9FEF309759F040815181BC01641B9A -:107D0000750B260F371F0280F381E02DF3CFC901D9 -:107D1000089580E090E00895CF93DF93CDB7DEB76C -:107D20008091040290910502C81BD90B8091020238 -:107D300090910302C81BD90B0E9467BE9E01281BAD -:107D4000390BC901DF91CF910895E091BE47F091C1 -:107D5000BF4780E090E0309751F020813181821759 -:107D6000930708F4C9010280F381E02DF4CF089550 -:107D70002091BC473091BD472115310521F4209158 -:107D8000020230910302809100029091010200975B -:107D900041F48DB79EB74091040250910502841BB7 -:107DA000950B2817390718F4821B930B089580E070 -:107DB00090E00895CF93DF930E94A5BEEC010E944E -:107DC000B8BE8C179D0708F4CE01DF91CF910895BE -:107DD000FC01228133816217730778F02681378195 -:107DE000620F731F20953095622373230F940B0D40 -:107DF00091E0811103C090E001C091E0892F0895C6 -:107E0000EF92FF920F931F93CF93DF93EC018B01BF -:107E10007A0167EA79E10F94480D81E0E81AF108E8 -:107E2000FF82EE820115110551F0B801CE01DF91FC -:107E3000CF911F910F91FF90EF900C94E8BEDF91CE -:107E4000CF911F910F91FF90EF900895CF92DF9205 -:107E5000EF92FF920F931F93CF93DF93CDB7DEB7CF -:107E6000EC84FD84CE84DF84D701ED91FC911197E1 -:107E70003097B1F014968D919C91159712960D91B3 -:107E80001C911397081B190BB8016F5F7F4F9E0160 -:107E9000205F3F4FA6018E0F9F1F0F94A11F0CC0A4 -:107EA0009E01205F3F4FA60160E070E080E090E01F -:107EB0000F94A11F00E010E00817190718F5F7014B -:107EC00064817581680F791FC7010E94E8BED701E0 -:107ED000ED91FC911197309719F114968D919C9129 -:107EE000159712960D911C911397081B190BB80149 -:107EF0006F5F7F4F9E01205F3F4FA6018E0F9F1F38 -:107F00000F94A11F9C010817190708F49801F701A5 -:107F100084819581820F931F95838483C90102C058 -:107F200080E090E0DF91CF911F910F91FF90EF9053 -:107F3000DF90CF900895EF92FF920F931F93CF930E -:107F4000DF931F921F92CDB7DEB77C018B01DC015E -:107F500014966D917C911597640F751F49835A8310 -:107F60000E94E8BED801ED91FC91D7016D917C9102 -:107F7000119714968D919C911597680F791F008821 -:107F8000F189E02D49815A81C8011995F7012481B1 -:107F90003581280F391F358324830190F081E02D2E -:107FA000E20FF31F10820F900F90DF91CF911F917E -:107FB0000F91FF90EF9008952F923F924F925F9212 -:107FC0006F927F928F929F92AF92BF92CF92DF92E9 -:107FD000EF92FF920F931F93CF93DF9300D0CDB713 -:107FE000DEB79B838A834B013A01322EDC01149663 -:107FF000CD90DC901597C40ED51E222319F0B2E067 -:10800000CB0ED11CB6018A819B810E94E8BE8111F2 -:1080100003C080E090E0B9C0332081F0AA81BB8129 -:10802000ED91FC91119714968D919C911597E80F05 -:10803000F91F82E2808301E010E002C000E010E05E -:1080400032E087E0282EEA81FB8184819581A801B6 -:10805000480F591FA080B180A40EB51EE280F380A6 -:10806000E81AF90AE01AF10A332019F0F1E0EF1AE0 -:10807000F108315024014201E114F104E9F16114E5 -:10808000710409F45EC0D2014D912D01403224F0FB -:108090004C3511F0423221F5B6E0EB16F10478F1DF -:1080A000842F992787FD90959F934F93A9EDB4E274 -:1080B000BF93AF931F922F92BF92AF9239830F94C9 -:1080C000351FF6E0EF1AF10826E0A20EB11C0A5F98 -:1080D0001F4F0FB6F894DEBF0FBECDBF398108C069 -:1080E000D5014D935D01B1E0EB1AF1080F5F1F4F11 -:1080F000E1E06E1A7108BFCF6114710411F13323EE -:1081000011F1C60CD71CCE18DF08F401C401860D8E -:10811000971DE817F90759F03191303224F03C35BA -:1081200011F03232B1F725E0C20ED11CF2CFB60108 -:108130008A819B810E94E8BE882309F46ACF31E0DE -:1081400082CF311180CF332089F0AA81BB81ED919C -:10815000FC911197E00FF11F14968D919C9115974A -:10816000E80FF91F82E280830F5F1F4FEA81FB81D6 -:1081700084819581800F911F958384830190F08184 -:10818000E02DE80FF91F1082C8010F900F900F909B -:10819000DF91CF911F910F91FF90EF90DF90CF90E3 -:1081A000BF90AF909F908F907F906F905F904F9017 -:1081B0003F902F900895CF92DF92EF92FF920F930E -:1081C0001F93CF93DF931F921F92CDB7DEB76C0141 -:1081D0007B01FC01048115816115710511F480E0BA -:1081E0001CC041155105C1F0040F151FB80149838A -:1081F0005A830F940B0D49815A81882381F3F6012C -:108200002081318184819581B701820F931F0F9462 -:10821000231EF6011583048381E00F900F90DF91F8 -:10822000CF911F910F91FF90EF90DF90CF90089525 -:108230000F9300E020E040E060E081E191E30F94E3 -:10824000C30A0F910895CF93DF931F92CDB7DEB786 -:108250006983DC01ED91FC910280F381E02D41E026 -:1082600050E0BE016F5F7F4F19950F90DF91CF9166 -:108270000895089521E0FC0186858F3F09F420E0F0 -:10828000822F0895CF93DF93FC01D42FC52F242F85 -:10829000352FAB016685848595850E94E5CC8111DB -:1082A00002C090E002C08D2F9C2FDF91CF910895E6 -:1082B000FC016685848595850C949FD1FC016685BB -:1082C000848595850C9482CF9A01AB01FC0166856B -:1082D000848595850C94AACFFC0166858485958557 -:1082E0000C94F9D1FC016685848595850C9458D44D -:1082F0001F93CF93DF93FC0116851F3F81F0C48548 -:10830000D585CE010E9410D2FE0189E0189FE00DB4 -:10831000F11D1124EE5AFD4F8081817001C080E073 -:10832000DF91CF911F9108950F9300E020E040E08E -:1083300060E087E191E30F94C30A0F910895DB0198 -:10834000E0E0F0E0460F30E04A1721F1EA3959E168 -:10835000F50728F5E29FB001E39F700DF29F700DC5 -:1083600011245D91E0EDE50FEA3018F4FB01F09780 -:108370000EC0EFE9E50FEA3120F4FB01E755F10902 -:1083800006C0EFEBE50FEA3150F4FB01F797E50F7C -:10839000F11DDACFDC01ED93FC9381E0089580E0DC -:1083A00008950F931F93CF93DF93EC018A0157FD3C -:1083B00035C0009799F10F94690B6DE87AE1CE0111 -:1083C0000F94690B003111052CF46FEA79E2CE01AC -:1083D0000F94690B40E150E0B801CE010F944F0CAF -:1083E000C8010F94991D892B91F060EE74E2CE01C3 -:1083F0000F94690BE881F9810190F081E02D602FE5 -:10840000CE01199569EE71E1CE010F94690BCE0191 -:10841000DF91CF911F910F910D94720BDF91CF914E -:108420001F910F910895CF93DF93EC011982188269 -:108430001B821A821D821C821F821E821986188648 -:108440001A861C861B868FEF8D878E8780E58F8727 -:10845000188A1B8ACE01825C9D4F0F94B90ACE0107 -:10846000865B9D4F0F94B90AFE01E951FD4F1182C1 -:108470001082CB51DD4F19821882DF91CF91089580 -:10848000CF93DF93EC011C861B868D858F3F19F0FF -:1084900060E00F9409078FEF8D878E87FE01EE5AFB -:1084A000FD4F80E9DF011D928A95E9F7EF56FF4FF6 -:1084B00010821A86DF91CF9108951F93CF93DF9397 -:1084C000EC01162F3F8528898091BA2A882399F0DC -:1084D0009FB7F8948091BA2A813059F48DB3809374 -:1084E000B82A4DB38091B92A809584238DBB9FBF54 -:1084F00002C09093B82A3CBD2DBD60E08D850F94DD -:1085000042071EBD00000DB407FEFDCF1EB561E0A1 -:108510008D850F9442078091BA2A882361F08FB726 -:10852000F8942091BA2A9091B82A213019F49DBB71 -:108530008FBF01C09FBF812FDF91CF911F91089501 -:10854000EF92FF920F931F93CF93DF938C01EB0178 -:108550007A0140E050E0BA010F94CF0AE114F1042F -:1085600021F0AE014E0D5F1D02C040E050E020E062 -:1085700030E08881882381F14115510539F58E322B -:1085800051F42F5F3F4F2430310524F5F801E20FFD -:10859000F31F128219C090ED980F9A30D8F4F801A9 -:1085A000E20FF31F92819436A8F4993111F48633C7 -:1085B0008CF4892F880F982F990F990F980F928319 -:1085C0008881890F805382832196D3CFC417D50722 -:1085D000B0F202C080E001C081E0DF91CF911F9135 -:1085E0000F91FF90EF900895CF93DF93EC018A896C -:1085F000882321F01A8A80E286273DC06F3F99F0D8 -:1086000010921D31653FC9F128F46623B1F1633F33 -:1086100009F130C06B3F59F16D3F39F16A3F51F5B7 -:1086200081E0898B2AC0FE01EB51FD4F8081918151 -:10863000009721F063EE74E20F949A0B80911D3144 -:108640008F5F80931D318531C0F081E08A87109261 -:108650001D3113C0CB51DD4F88819981009769F09E -:108660006DEE74E20F949A0B08C0198A06C081E07F -:108670008A8B03C0862F90E002C08FEF9FEFDF91BF -:10868000CF9108950F931F93CF93DF93EC018A85C9 -:10869000811124C08B859C85009759F0DC01ED91F8 -:1086A000FC910680F781E02DDF91CF911F910F9112 -:1086B00019948D858F3F41F08E858F3F91F00F94F7 -:1086C0007807892B59F00DC0CB51DD4F88819981F6 -:1086D000009721F06FEF74E20F949A0B8FEF9FEFEA -:1086E00031C08E858F3FD1F40F9412052C893D89BE -:1086F000AB01421B530B4031B7E25B0768F44C39C6 -:10870000510518F47D8B6C8B04C024563F4F3D8B74 -:108710002C8B01E010E004C07D8B6C8B00E410E03A -:1087200065EFCE010E945DC2682FCE010E94F4C2A7 -:108730008F3FEFEF9E0731F401501109101611061B -:108740007CF3CCCFDF91CF911F910F9108956C3FB7 -:1087500048F46A3F58F4633F49F0653F39F06111CE -:1087600007C004C06D3F11F06F3F11F481E0089520 -:1087700080E00895CF93DF93EC01C85CDD4F20E0EB -:1087800032E048815981241B350B2C30310510F41F -:1087900019821882E881F981F496E80FF91F8CE0BC -:1087A000DB0101900D928A95E1F7888199810C9601 -:1087B00099838883DF91CF910895CF93DF93EC0164 -:1087C000FC01E85CFD4F20813181DC01AA5CBD4FDA -:1087D0008D919C9128173907A1F0DE01A20FB31FDC -:1087E000D4968C912F5F3F4F317031832083C85BCB -:1087F000DD4F28813981215031093983288390E068 -:108800001BC0CE010E9442C397FD16C0FE01E85B6B -:10881000FD4F2081318121503109318320833C97E4 -:10882000208131812150310931832083232B21F490 -:10883000CC5CDD4F19821882DF91CF910895FC0145 -:1088400029E0629FE00DF11D1124EE5AFD4F2081B9 -:1088500020FF13C02E7F2D7F2083FC01EE51FD4FA2 -:10886000208162130AC02FEF20833296808180FF1F -:1088700002C08E7F01C0826080830895FF920F93B3 -:108880001F93CF93DF938C01DC01AD51BD4F8C91D1 -:10889000882331F1F801EC51FD4F808182FF02C045 -:1088A0008B7F01C0886080831C92C0E0D0E089E0AB -:1088B000F82EFC9EC001FD9E900D1124800F911F8B -:1088C000FC01EE5AFD4F808180FF06C084608083EA -:1088D0006C2FC8010E941FC42196C031D10549F7F1 -:1088E000DF91CF911F910F91FF9008950F931F93E8 -:1088F000CF93DF93EC018C010D511D4FF801808166 -:10890000882319F0CE010E943EC481E0F8018083E3 -:10891000CC51DD4F888184608883DF91CF911F9196 -:108920000F9108958F929F92AF92BF92CF92DF9254 -:10893000EF92FF920F931F93CF93DF9300D01F927C -:10894000CDB7DEB74C01D62EA62EB12CFC0189E0A6 -:10895000689FE00DF11D1124EE5AFD4F808180FFCC -:108960000BC0C40129833A834B835C830E941FC4DC -:108970005C814B813A812981CC2041F0F401EE5198 -:10898000FD4FD082329680818160808369E06A9D4C -:10899000C0016B9D900D1124880D991DFC01ED5AAD -:1089A000FD4F2083318342835383369611830083A6 -:1089B0003297F182E082359780818B7F816080835E -:1089C0000F900F900F900F90DF91CF911F910F910B -:1089D000FF90EF90DF90CF90BF90AF909F908F90DF -:1089E00008953EEF320F333210F40C949FC180E0B3 -:1089F00008950F931F93CF93DF931F921F92CDB7CC -:108A0000DEB78C01CE0101960E94F1C4882351F09B -:108A100029813A812F3F310509F018F4F8012083AC -:108A200001C080E00F900F90DF91CF911F910F91C7 -:108A30000895AF92BF92CF92DF92EF92FF920F9381 -:108A40001F93CF93DF937C018B01A42E6901EC016E -:108A5000C951DD4F888199810097A1F063E175E2EA -:108A60000F94690B88819981DC01ED91FC914A2D6D -:108A700050E00280F381E02DB80119958881998139 -:108A80000F94720BB1E0BA1570F4F8018081813354 -:108A900069F4C18180ED8C0F893040F4D8011296C1 -:108AA000D0E0A6971CC0AA2009F460C0D801CC91E0 -:108AB00080ED8C0F8A3020F41196D0E0E0970FC043 -:108AC000B2E0AB1253C0CF3409F050C0F80181813D -:108AD0008B3409F04BC0D8011296C0E0D0E0B12C25 -:108AE000C8018A0D9B1D8A1B19F09C919032F1F5EB -:108AF000BE01635071096031710528F466557F4FDE -:108B0000FB010D94C217811131C033C0823071F561 -:108B100030C0823059F5C114D10441F1BD016F5FFD -:108B20007F4F20E141E0C6010E94F9C48823F1F0A3 -:108B300020C081111BC002C08330C0F4E701CB51BB -:108B4000DD4F68E175E2888199810F94690B888116 -:108B50009981DC01ED91FC910280F381E02DA5016A -:108B6000B8011995888199810F94720B85E190E085 -:108B700001C0CE01DF91CF911F910F91FF90EF9037 -:108B8000DF90CF90BF90AF900895AF92BF92CF92F9 -:108B9000DF92EF92FF920F931F93CF93DF931F9279 -:108BA0001F92CDB7DEB75C01FC0183A98D3008F0C0 -:108BB00095C0F50181A9882309F490C020E141E026 -:108BC000B5016A5E7F4FCE0101960E94F9C4D82E8E -:108BD000882309F483C08981F50193A989137EC094 -:108BE00091A9915021F02789203209F077C0813076 -:108BF00029F010F1823009F058C01EC0923009F0FF -:108C00006DC020E141E0B501685E7F4FCE01029664 -:108C10000E94F9C4D82E882309F460C0CC24C394E0 -:108C2000E12CF12C00E010E020E030E0A9016A81A5 -:108C3000C5010E9492C453C0923009F04FC020E198 -:108C400041E0B501685E7F4FCE0102960E94F9C4F3 -:108C5000D82E882309F442C0F50183A9833001F599 -:108C600085010B511D4FF80180819181009761F0C2 -:108C700067E475E20F94690B4AE050E06A81F801FD -:108C8000808191810F94950C8A81F50199E0899FEB -:108C9000E00DF11D1124EE5AFD4F80818460808328 -:108CA0006A81C5010E941FC41AC0911117C0883083 -:108CB00089F028F4833071F0873049F00FC08B3091 -:108CC00030F08C3059F4C5010E9476C408C0F5011B -:108CD000D38805C0C5010E943EC401C0D12C8D2D92 -:108CE0000F900F90DF91CF911F910F91FF90EF9018 -:108CF000DF90CF90BF90AF9008952F923F924F9208 -:108D00005F926F927F928F929F92AF92BF92CF921B -:108D1000DF92EF92FF920F931F93CF93DF9300D0D8 -:108D20001F921F92CDB7DEB79D838C837B0177FDA9 -:108D30004BC28C010C5C1D4FD801ED91FC91E930C8 -:108D4000F10508F043C2E654FF4F0D94C2176B3192 -:108D5000710509F03BC281E090E0B0C06A35710551 -:108D600069F069377105A1F061347105D1F487E0CC -:108D700090E0D8018D939C9383E006C082E090E060 -:108D8000D8018D939C9385E0EC81FD8182AB07C077 -:108D900083E090E0D8018D939C93EC81FD8111AA32 -:108DA00015C2D8011D921C920C811D810B511D4FC3 -:108DB000F80180819181009709F408C26CE575E2A1 -:108DC0000F94690BD8018D919C91DC01ED91FC9180 -:108DD0000190F081E02D6E2D1995DDC1AC81BD8132 -:108DE000D1968C91D1978B3150F491E0980FD19618 -:108DF0009C93D197FD01E80FF11D668B0CC0EC81AF -:108E0000FD81EB51FD4F80819181009721F06BE74F -:108E100075E20F949A0BF80180819181843091055D -:108E200009F450C03CF48230910581F0039709F4B5 -:108E30003EC0CCC18730910509F4E3C0883091056C -:108E400009F431C1059709F0C1C14BC0AC81BD81A6 -:108E5000D2968C91D2978150D2968C93D2978111D1 -:108E6000B5C17D01B6E1EB0EF11CCC80DD80E5ECF7 -:108E7000CE1AEDEFDE0A20E141E0B701C6010E9403 -:108E8000F9C4882309F454C2AC80BD80F4ECAF1A55 -:108E9000FDEFBF0A2AE044E06C817D81695E7F4F6F -:108EA000C5010E949FC1282F811192C141C2B0E229 -:108EB000EB16F10409F08AC184E090E0F801918397 -:108EC000808384C1F9E0EF16F10409F07FC185E0E9 -:108ED00090E0D8018D939C9384E0EC81FD8182AB7E -:108EE00075C1AC81BD81D2968C91D2978150D296BA -:108EF0008C93D29781116AC17D01B9E1EB1ABDEF64 -:108F0000FB0AF701808191810097E1F06BED75E23A -:108F10000F94690BD7018D919C91DC01ED91FC912F -:108F2000AC81BD81D1964C91D19750E00280F38104 -:108F3000E02DBD016A5E7F4F1995F7018081918117 -:108F40000F94720BAC80BD80F7E1AF0EB11C80E0D6 -:108F5000882E912CF501E80DF91D9081903211F0C9 -:108F60008F5FF6CF64012FEFC21AD20ACA0CDB1C46 -:108F7000312C632C712CF601E60DF71D80818930B0 -:108F800011F03394F6CF4C805D8036E1430E511CD6 -:108F90008C819D81855C9D4F9A83898320E141E08E -:108FA000B2010E94F9C4882309F4E4C1A401B50107 -:108FB0008C819D81825C9D4F0E94A0C2882309F410 -:108FC000D9C12AE0432DB6018C819D818C5B9D4FD8 -:108FD0000E949FC1882309F4CDC1B3016F5F7F4F09 -:108FE0006C0D7D1D2C803D8094EC291A9DEF390A73 -:108FF0002AE044E0C1010E949FC1282F81112EC1A7 -:10900000B9C1EC81FD8182A9815082AB8111DEC0A2 -:109010007F01F9E1EF1AFDEFFF0AD7018D919C91D5 -:10902000EC81FD8176966F010097C9F06DE476E2E0 -:109030000F94690BD7018D919C91DC01ED91FC910E -:10904000AC81BD81D1964C9150E00280F381E02D3E -:10905000B6011995F701808191810F94720B20E17F -:1090600041E0B6018C819D81C3960E94F9C488239A -:1090700009F4A6C12AE042E06C817D81695E7F4FE0 -:109080008C819D81C2960E94F9C4282F882309F4FF -:1090900097C188E090E0F80191838083AC81BD8125 -:1090A000D1961C92ADC1EC81FD8182A9815082AB29 -:1090B00081118CC0D8011D921C928F0109511D4F46 -:1090C000F801808191810097E1F06BE876E20F94DE -:1090D000690BD8018D919C91DC01ED91FC91AC81E3 -:1090E000BD81D1964C91D19750E00280F381E02D63 -:1090F000BD016A5E7F4F1995F801808191810F94BF -:10910000720B8C819D810E94C5C581115FC00C814D -:109110001D810B511D4FD8018D919C91009709F431 -:1091200055C061EA76E20F94690B4AE050E0EC81A9 -:10913000FD8163A9D8018D919C910F948E0C61ECF7 -:1091400076E2F801808191810F94690B4AE050E04A -:10915000AC81BD81D1966C91F801808191810F9491 -:109160008E0C6BEC76E2D8018D919C910F94690B7B -:10917000F80180819181DC01ED91FC91AC81BD8190 -:10918000D1964C91D19750E0BD016A5E7F4F02802D -:10919000F381E02D1995F801808191810F94720B74 -:1091A00015C08C819D810E94EAD0EC81FD81E45C38 -:1091B000FD4F80819181019791838083892B31F4C8 -:1091C000D8011D921C9202C020E01AC121E018C1F2 -:1091D0008C809D80B6EC8B1ABDEF9B0AF401108247 -:1091E000EC80FD80F9E1EF1AFDEFFF0AD7018D91C8 -:1091F0009C91009739F16CE875E22B830F94690B11 -:109200004AE050E0D6016C91F701808191810F9482 -:109210008E0C6EEA75E2D7018D919C910F94690BCB -:10922000F501608171814AE050E0D7018D919C91F8 -:109230000F94AC0C65EE70E2F701808191810F9480 -:109240009A0B2B81B4018C819D812B830E941AD1B2 -:1092500086E090E0D8018D939C9368C04C805D803F -:10926000B6EC4B1ABDEF5B0A81E0F2018083D701B7 -:109270008D919C91009709F44EC069EF75E22B83A4 -:109280000F94690B4AE050E0A981BA816C91F70113 -:10929000808191810F948E0C66E276E2D7018D91E8 -:1092A0009C910F94690BF70180819181DC01ED9114 -:1092B000FC910280F381E02DA401B50119956FECBA -:1092C0007DE0F701808191810F94690BD7018D9129 -:1092D0009C91DC01ED91FC910280F381E02DA301D2 -:1092E000B60119956EEA75E2F701808191810F94BC -:1092F000690BD1016D917C914AE050E0F7018081CA -:1093000091810F94AC0C65EE70E2D7018D919C9128 -:109310000F949A0B2B81B2018C819D812B830E942B -:109320001AD186E090E0F801918380832B8168C098 -:10933000CC80DD80BBE1CB1ABDEFDB0AF60180817A -:109340009181009709F43CCF6BEB75E20F94690BA8 -:10935000F60180819181DC01ED91FC91AC81BD81B0 -:10936000D1964C9150E00280F381E02DB701199520 -:10937000F60121C0EC80FD80FBE1EF1AFDEFFF0A52 -:10938000D7018D919C91009709F41ACF6DE276E296 -:109390000F94690BD7018D919C91DC01ED91FC91AB -:1093A000AC81BD81D1964C9150E00280F381E02DDB -:1093B000B2011995F701808191810F94720B00CF52 -:1093C000EC80FD80BBE1EB1ABDEFFB0AF701808169 -:1093D0009181009709F4F4CE6BE676E20F94690B65 -:1093E000D7018D919C91DC01ED91FC91AC81BD8107 -:1093F000D1964C9150E00280F381E02DB601D9CF97 -:10940000822F0F900F900F900F900F90DF91CF91C0 -:109410001F910F91FF90EF90DF90CF90BF90AF9092 -:109420009F908F907F906F905F904F903F902F9084 -:1094300008952F923F924F925F926F927F928F92F8 -:109440009F92AF92BF92CF92DF92EF92FF920F93D3 -:109450001F93CF93DF93CDB7DEB761970FB6F89424 -:10946000DEBF0FBECDBF1C014B015B834A83398732 -:109470002887FF82EE82DB86CA860F9406052B01C1 -:109480003C0110E01982E12CF12C198A188A910113 -:109490002C5C3D4F3D872C87C10189519D4F9F8793 -:1094A0008E87F101EB51FD4FFD83EC83F101828545 -:1094B000811124C1C1010E9442C36C018F3FFFEFA3 -:1094C0009F07D1F40F940605641975098609970959 -:1094D00061327E448105910548F3F101EB51FD4F66 -:1094E00080819181009721F063ED76E20F949A0BD1 -:1094F00081E0F101828702C1EC85FD858081918147 -:10950000892B21F4FBE1CF16D10429F4B601C10166 -:109510000E947DC6CBCF2DE0C216D10429F03AE0DF -:10952000C316D10409F080C0888999898E159F05DA -:1095300009F4BCCF112371F0EE85FF858081918104 -:10954000009721F064EE76E20F949A0BF98AE88A8C -:1095500010E0ACCF6401CE0CDF1C2885398548892A -:109560004E19B601C1010E9419C55C0189309105EF -:1095700019F4C1010E943EC4002309F447C02E81A2 -:109580003F81232B91F53981311140C085E1A81627 -:10959000B10409F03FC0EA81FB8180819181288973 -:1095A00039892817390750F4F901E80DF91D3DE014 -:1095B0003083888999890196998B888BEA81FB8110 -:1095C00080819181288939892817390718F0E8881E -:1095D000F9886CCF79013FEFE31AF30AE889F9893A -:1095E000E80DF91D8AE080830EC095E1A916B1044B -:1095F00089F4688979896E197F094A855B85C60176 -:10960000EE81FF811995F98AE88A50CFF5E1AF160E -:10961000B104C9F327E0A216B104A9F3EA81FB81E2 -:10962000F182E082C5016CC0EA81FB818081918179 -:10963000288939892817390748F4F901E80DF91DF7 -:10964000C0822F5F3F4F398B288B30CFA888B988D5 -:10965000AE18BF0833E0A316B10488F0002369F008 -:10966000EC81FD8180819181009711F411E02DC082 -:10967000A60168E077E20E94D1C111E03CC0E1148C -:10968000F10431F1002381F0EC81FD818081918131 -:10969000009751F0F401EE0DFF1D3197408150E02D -:1096A00062E377E20E94D1C1B4016E0D7F1DF1E04B -:1096B000EF1AF108A501C4018E0D9F1D0F942C1EF9 -:1096C000E889F989E80DF91DC08221E02983EECEF1 -:1096D000011103C031E03983E9CEEC81FD81808145 -:1096E0009181009719F481E08983E0CEA6016CE5B1 -:1096F00077E20E94D1C1F1E0F983D8CE86E190E013 -:1097000061960FB6F894DEBF0FBECDBFDF91CF914B -:109710001F910F91FF90EF90DF90CF90BF90AF908F -:109720009F908F907F906F905F904F903F902F9081 -:109730000895CF92DF92EF92FF920F93CF93DF9332 -:1097400000D01F921F92CDB7DEB79B0143E050E0DF -:109750005D834C83C12CD12CE12CF12C00E0AE01B7 -:109760004C5F5F4FBE016F5F7F4F0E9419CA0F9021 -:109770000F900F900F900F90DF91CF910F91FF906E -:10978000EF90DF90CF900895CF92DF92EF92FF920B -:109790000F93CF93DF93CDB7DEB7C258D1090FB681 -:1097A000F894DEBF0FBECDBFE0E8F0E0CF57DF4F4B -:1097B000F983E883C158D0406A017B0101E0AE0122 -:1097C0004F575F4FBE016F5F7F4F0E9419CACE5740 -:1097D000DF4F0FB6F894DEBF0FBECDBFDF91CF9144 -:1097E0000F91FF90EF90DF90CF900895BF92CF92AE -:1097F000DF92EF92FF920F931F93CF93DF93EC01D1 -:109800000F9406056B017C018E010C5C1D4FCE018F -:109810000E9442C3BC01BA84B1104AC08F3F2FEFEF -:109820009207C9F40F9406056C197D098E099F09EA -:1098300061327E448105910550F3FE01EB51FD4FED -:1098400080819181009721F061E877E20F949A0B73 -:1098500081E08A872EC0F80180819181019721F5EE -:109860006F34710581F4C951DD4F8881998100976A -:1098700021F067E977E20F949A0BF80111821082C8 -:10988000BB24B39416C06634710571F4C951DD4F21 -:1098900088819981009721F061EB77E20F949A0B10 -:1098A000F8011182108205C0CE010E947DC6AFCFA3 -:1098B000B12C8B2DDF91CF911F910F91FF90EF90E5 -:1098C000DF90CF90BF900895AF92BF92CF92DF927A -:1098D000EF92FF920F931F93CF93DF93EC018B01D5 -:1098E0007A018B859C850097A1F02A85211162C0A1 -:1098F000DC01ED91FC910280F381E02DDF91CF91AD -:109900001F910F91FF90EF90DF90CF90BF90AF909D -:1099100019948D85882309F44DC0C12C94E0D92E6B -:1099200020E2B22EE114F10409F444C0C114D104C0 -:1099300009F440C08A8581113DC08989882381F05E -:10994000B1E0CB1AD10865EFCE010E945DC2682F4D -:10995000CE010E94F4C2BC01CE010E947DC6E2CFBE -:10996000F801A0806A2DCE010E94A7C3882381F050 -:109970006BEFCE010E945DC2682FCE010E94F4C23F -:10998000BC01CE010E947DC6D8016C916B2501C03F -:109990006A2DCE010E945DC2682FCE010E94F4C2E2 -:1099A000BC01CE010E947DC60F5F1F4FB1E0EB1AD4 -:1099B000F108B8CFDF91CF911F910F91FF90EF90F9 -:1099C000DF90CF90BF90AF9008959F92AF92BF92DB -:1099D000CF92DF92EF92FF920F931F93CF93DF937B -:1099E000CDB7DEB728970FB6F894DEBF0FBECDBF58 -:1099F0008C01962E5A0179018FE0861710F4D12C34 -:109A000080C0293795E0390798F028E735E0C8018C -:109A10000E94E5CC882399F3970128573540A5018A -:109A200048585A4F692DC8010E94E5CCD82E69C00C -:109A30006801E9E1CE1AEDEFDE0AF601808191813D -:109A4000009711F16DEC77E20F94690B4AE050E05A -:109A5000692DF601808191810F948E0C6EEA75E27A -:109A6000F601808191810F94690B4AE050E0B701C3 -:109A7000F601808191810F94AC0C65EE70E2F601E5 -:109A8000808191810F949A0BFF92EF921F929F9287 -:109A900082EF97E29F938F931F9288E08F93CE017E -:109AA00001966C01DF928F930F94351F43E050E0D5 -:109AB000B601C8010E9464CCC8010E94F6CBD82E22 -:109AC0000FB6F894DEBF0FBECDBF81110DC0F801F7 -:109AD000EB51FD4F80819181009709F490CF6BEF9E -:109AE00077E20F949A0B0DC044E050E0BE016C5F2A -:109AF0007F4FC8010E9464CCA701B501C8010E9434 -:109B000064CC8D2D28960FB6F894DEBF0FBECDBF66 -:109B1000DF91CF911F910F91FF90EF90DF90CF9049 -:109B2000BF90AF909F900895CF92DF92EF92FF92F7 -:109B30000F931F93CF93DF93CDB7DEB7C058D109F2 -:109B40000FB6F894DEBF0FBECDBF7C019A01AB010A -:109B50006EE770E0CE0101960F94A11F8C018F3744 -:109B6000910510F187010B511D4FD8018D919C91EA -:109B70000097C1F064E978E20F94690BF8018081E5 -:109B80009181DC01ED91FC910280F381E02D4EE7A3 -:109B900050E0BE016F5F7F4F1995F8018081918180 -:109BA0000F94720B0EE710E06701F9E1CF1AFDEF99 -:109BB000DF0AD6018D919C910097B9F068EA78E2AE -:109BC0000F94690BF60180819181DC01ED91FC918C -:109BD0000280F381E02DA801BE016F5F7F4F1995D0 -:109BE000F601808191810F94720BE1E0F0E0EC0FBF -:109BF000FD1FE00FF11F8DE08083FE01E00FF11FDC -:109C00008AE08283A8014E5F5F4FBE016F5F7F4F86 -:109C1000C7010E9464CCC058DF4F0FB6F894DEBF76 -:109C20000FBECDBFDF91CF911F910F91FF90EF90AD -:109C3000DF90CF900895CF93DF93CDB7DEB7AE011D -:109C4000465F5F4F688579858E819F810E9494CDA4 -:109C5000DF91CF9108950F931F93CF93DF93CDB7EB -:109C6000DEB708851985AE01445F5F4F6A857B8545 -:109C7000C8010E9494CD60E070E0C8010E9499CBB9 -:109C800021E0892B09F020E0822FDF91CF911F91F5 -:109C90000F910895CF92DF92EF92FF92CF93DF93CF -:109CA000EC01FC01EC5CFD4F1182108234961182B4 -:109CB00010823297118210827296118210821A8A53 -:109CC000198AE656FF4F8FEF8083329610820F94E9 -:109CD0001205605177427D8B6C8BFE01ED51FD4F7B -:109CE00010820F9406056B017C018E858F3F81F0F9 -:109CF0000F947807019731F10F9406056C197D09CF -:109D00008E099F0961327E448105910570F30EC072 -:109D1000CE010E9442C38F3FEFEF9E0719F08038BB -:109D2000910581F48A85882339F30AC0CB51DD4F30 -:109D300088819981009721F065E57EE20F94760B8A -:109D400080E044C0CE010E9442C30196D9F78DEA5B -:109D500098E29F938F93DF93CF930E942BCE0F9027 -:109D60000F900F900F90882359F382EB98E29F9306 -:109D70008F93DF93CF930E942BCE0F900F900F9075 -:109D80000F908823E9F287EB98E29F938F93DF93FC -:109D9000CF930E942BCE0F900F900F900F9088239F -:109DA00079F282EC98E29F938F93DF93CF930E9496 -:109DB0002BCE0F900F900F900F90882309F2CE5A60 -:109DC000DD4F90E9FE0111929A95E9F7DF91CF916D -:109DD000FF90EF90DF90CF9008951F93CF93DF9384 -:109DE000EC01162FEB85FC85EF2BD1F48D858F3F91 -:109DF000B9F46F3FA9F081E08B8B6D874E87388B6C -:109E00002F8761E0812F0F94090761E0812F0F9464 -:109E100042070E94111ACE010E944ACE1B8A01C03D -:109E200080E0DF91CF911F910895DF92EF92FF9232 -:109E30000F931F93CF93DF93EC018B01D42E7B0103 -:109E400088EBE81A8DEFF80AF70180819181892B60 -:109E5000E9F47097208131813297808191812817B0 -:109E6000390779F06A5B7D4FC8010E94BAC30EC002 -:109E7000C8010E9442C3BC01C8010E947DC688235C -:109E800079F1F70180819181892B91F3FEEFDF1643 -:109E900031F0F801E95BFD4F80818D1121C0F8019F -:109EA000EA5BFD4F808188838181898382819381F0 -:109EB0009B838A8380EA9AE29D838C83D801A65B88 -:109EC000BD4F12964D915D916D917C9115974E838A -:109ED0005F8368877987828593859B878A8709C096 -:109EE0008CE0FE0111928A95E9F7CE0104960F9459 -:109EF000B90ACE01DF91CF911F910F91FF90EF90A2 -:109F0000DF9008950F931F93CF93DF93CDB7DEB704 -:109F10002C970FB6F894DEBF0FBECDBF8C01462F35 -:109F2000BC01CE0101960E9415CF8B819C81892BAB -:109F300021F0C8010E94DDC302C08FEF9FEF2C9675 -:109F40000FB6F894DEBF0FBECDBFDF91CF911F914A -:109F50000F9108955F926F927F928F929F92AF922E -:109F6000BF92CF92DF92EF92FF920F931F93CF9306 -:109F7000DF93CDB7DEB72C970FB6F894DEBF0FBED8 -:109F8000CDBF7C01562E5A016901462FBC01CE017E -:109F900001960E9415CF8B819C81892B09F482C088 -:109FA000370128EC621A2DEF720AF301608171818A -:109FB0003297808191816817790709F444C0681746 -:109FC000790710F080E092E0861B970B4701F8EBD1 -:109FD0008F1AFDEF9F0AF401208131815C2D4D2DF8 -:109FE0002C153D0510F4522F432F052F142F8017E9 -:109FF000910708F48C016C5C7F4F6E0D7F1DA801EA -:10A00000C5010F94231EF30180819181800F911F60 -:10A01000917091838083F40180819181801B910BE9 -:10A02000918380830C151D0509F43FC09601201B08 -:10A03000310BA501400F511F652DC7010E94AACF0A -:10A04000800F911F33C000E010E04701F8EB8F1A3A -:10A05000FDEF9F0A370124EC621A2DEF720A0C15EE -:10A060001D0519F1C7010E9442C38F3FFFEF9F07F3 -:10A07000E1F00F5F1F4FF50181935F01F4018081D3 -:10A080009181019791838083F30180819181019770 -:10A0900091838083892B19F7F701EC5CFD4F1182C6 -:10A0A000108203C080E090E001C0C8012C960FB67A -:10A0B000F894DEBF0FBECDBFDF91CF911F910F91FE -:10A0C000FF90EF90DF90CF90BF90AF909F908F90D8 -:10A0D0007F906F905F900895EF92FF920F931F9380 -:10A0E000CF93DF93CDB7DEB72C970FB6F894DEBFD2 -:10A0F0000FBECDBF8C017B014EEFBC01CE0101969E -:10A100000E9415CF8B819C81892B69F0C8010E9428 -:10A11000DDC39C0197FD0AC0F801E95BFD4F80811A -:10A12000F701808303C08FEF9FEF01C0C9012C9618 -:10A130000FB6F894DEBF0FBECDBFDF91CF911F9158 -:10A140000F91FF90EF900895CF92DF92EF92FF92E0 -:10A150000F931F93CF93DF931F92CDB7DEB78C0180 -:10A16000D62E7C018BE1E81A8DEFF80A39E0C32E78 -:10A17000DD2031F1BE016F5F7F4FC8010E946CD0BE -:10A1800097FD1CC0F70180819181009761F063ED1C -:10A1900078E20F94690B4AE050E06981F701808111 -:10A1A00091810F94950C8981F801C89EE00DF11DF5 -:10A1B0001124EE5AFD4F808184608083DA94D8CFD9 -:10A1C0000F90DF91CF911F910F91FF90EF90DF9053 -:10A1D000CF900895DF92EF92FF920F931F93CF934A -:10A1E000DF938C01D62E7C018AECE81A8DEFF80AF9 -:10A1F000D701CD91DC912196D170F801E85CFD4F3B -:10A2000080819181C817D90721F461E0C8010E94BB -:10A21000A4D0D701ED91FC911197E00FF11FD4AAC2 -:10A22000CD93DC93DF91CF911F910F91FF90EF9031 -:10A23000DF900895CF92DF92EF92FF920F931F93DA -:10A24000CF93DF93EC016B018C010A5C1D4FD801A9 -:10A250008D919C917E01B8ECEB1ABDEFFB0AF701E2 -:10A26000208131818217930739F53E969E01265C45 -:10A270003D4FD9018C91808311968C9111978183E8 -:10A2800012968D919C91139793838283AE01465BC6 -:10A290005D4FC25CDD4F8A819B81AC81BD81EA014B -:10A2A0008A839B83AC83BD83D9011A968D919C913F -:10A2B0001B97938782873AC0853FB1E09B0798F050 -:10A2C0008217930720F460E0CE010E94A4D0F7012A -:10A2D00080819181892B21F461E0CE010E94A4D07C -:10A2E000D8011D921C92F701808191810197D801BC -:10A2F0002D913C91821B930B8C3028F46CE0681BF1 -:10A30000CE010E94A4D0F801A081B181D496AC0FF7 -:10A31000BD1F8CE0F60101900D928A95E1F7D801FE -:10A320008D919C9111970C968D939C93DF91CF9179 -:10A330001F910F91FF90EF90DF90CF900895CF92F3 -:10A34000DF92EF92FF920F931F93CF93DF93CDB7DE -:10A35000DEB72C970FB6F894DEBF0FBECDBF8C01D1 -:10A36000462FBC01CE0101960E9415CF8B819C81A6 -:10A37000892B69F168018AECC81A8DEFD80A780137 -:10A38000E8ECEE1AEDEFFE0AF60120813181F701CB -:10A39000808191812817390739F4C8010E9442C38E -:10A3A000BC01C8010E947DC6F60120813181F70100 -:10A3B00080819181281B390BF801E85BFD4F80817A -:10A3C000918131708217930720F49C0102C020E034 -:10A3D00030E0C9012C960FB6F894DEBF0FBECDBF9A -:10A3E000DF91CF911F910F91FF90EF90DF90CF9071 -:10A3F0000895CF93DF93EC010E949FD1892B59F0F0 -:10A40000FE01E85CFD4F0190F081E02DEC0FFD1F97 -:10A4100084A990E002C08FEF9FEFDF91CF91089564 -:10A42000EF92FF920F931F93CF93DF93EC0101E024 -:10A4300014E07C018CECE81A8DEFF80ACE010E9442 -:10A4400042C3BC01CE010E947DC6882359F0015051 -:10A45000110941F0F701808191818230910511F05D -:10A46000069761F7DF91CF911F910F91FF90EF90C9 -:10A470000895CF93DF93EC018A85811143C0CE010B -:10A480000E9410D2EA81FB81309759F0DE01AC5175 -:10A49000BD4F8C9181FF05C08D7F8C9388859985F8 -:10A4A0001995EE81FF81309759F0DE01AC51BD4F17 -:10A4B0008C9183FF05C0877F8C938885998519953A -:10A4C000EC81FD81309759F0DE01AC51BD4F8C918C -:10A4D00082FF05C08B7F8C93888599851995E881CB -:10A4E000F981309779F0DE01AC51BD4F8C9180FF3E -:10A4F00009C08E7F8C9312976C9188859985DF9126 -:10A50000CF911994DF91CF9108950F9300E020E04F -:10A5100040E060E08EE191E30F94C30A0F9108954B -:10A52000EF92FF920F931F93CF93DF938C017B01E8 -:10A53000EA016330710500F143E050E06AEF78E230 -:10A54000C8010F94741E892BB9F4A7014350510917 -:10A55000B8016D5F7F4FCE010E94A0C281110CC077 -:10A5600000912631109127312091283130912931E5 -:10A570000A831B832C833D83DF91CF911F910F9121 -:10A58000FF90EF900895AF92BF92CF92DF92EF923B -:10A59000FF920F931F93CF93DF93CDB7DEB76197F1 -:10A5A0000FB6F894DEBF0FBECDBF5C017B018A0100 -:10A5B000FB0185811F928F9384811F928F938381EA -:10A5C0001F928F9382811F928F938AE198E29F93CB -:10A5D0008F931F9280E18F939E012F5F3F4F690100 -:10A5E000DF922F930F94351F1F930F93DF92CF921B -:10A5F0008EEF98E29F938F93BF92AF920E941BCEF3 -:10A600008FEF898BBE016F5E7F4FC5010E9499CB92 -:10A610000FB6F894DEBF0FBECDBF892B19F4698940 -:10A62000603110F08FEF0CC0F7012281338144813B -:10A630005581C12CE12CF12CC5010E9492C489895D -:10A6400061960FB6F894DEBF0FBECDBFDF91CF91FC -:10A650001F910F91FF90EF90DF90CF90BF90AF9040 -:10A6600008950F931F93CF93DF931F92CDB7DEB75B -:10A67000082F2CE339E23F932F939F938F93998375 -:10A680000E942BCE182F0F900F900F900F90998152 -:10A69000882319F0802F0E943EC4812F0F90DF91F4 -:10A6A000CF911F910F91089541155105B1F05F931E -:10A6B0004F931F926F9322E439E23F932F939F931E -:10A6C0008F930E942BCE2DB73EB7285F3F4F0FB61A -:10A6D000F8943EBF0FBE2DBF08951F926F9323E5E0 -:10A6E00039E23F932F939F938F930E942BCE0F902D -:10A6F0000F900F900F900F900F9008957F928F9270 -:10A700009F92AF92BF92CF92DF92EF92FF920F9300 -:10A710001F93CF93DF93CDB7DEB7E0970FB6F894D2 -:10A72000DEBF0FBECDBF982E892EFB016A015901F5 -:10A7300085811F928F9384811F928F9383811F92B3 -:10A740008F9382811F928F930AE118E21F930F93D8 -:10A750001F9280E1782E7F927E0121E2E20EF11CB1 -:10A76000FF92EF920F94351FF60185811F928F9310 -:10A7700084811F928F9383811F928F9382811F9276 -:10A780008F931F930F931F927F926E01F1E1CF0E73 -:10A79000D11CDF92CF920F94351FF50185811F9256 -:10A7A0008F9384811F928F9383811F928F938281D5 -:10A7B0001F928F931F930F931F927F928E010F5FB3 -:10A7C0001F4F1F930F930F94351F0FB6F894DEBFE2 -:10A7D0000FBECDBF1F930F93DF92CF92FF92EF92E8 -:10A7E0008FE599E29F938F938F929F920E942BCE39 -:10A7F0000FB6F894DEBF0FBECDBFE0960FB6F8944B -:10A80000DEBF0FBECDBFDF91CF911F910F91FF90A3 -:10A81000EF90DF90CF90BF90AF909F908F907F9000 -:10A820000895EF92FF920F931F93CF93DF93CDB7CD -:10A83000DEB760970FB6F894DEBF0FBECDBFF82E1F -:10A84000E92EFB0185811F928F9384811F928F9344 -:10A8500083811F928F9382811F928F932AE138E226 -:10A860003F932F931F9280E18F938E010F5F1F4FB5 -:10A870001F930F930F94351F1F930F9320E839E216 -:10A880003F932F93EF92FF920E942BCE0FB6F89436 -:10A89000DEBF0FBECDBF60960FB6F894DEBF0FBE11 -:10A8A000CDBFDF91CF911F910F91FF90EF90089551 -:10A8B000603188F41F926F932DE839E23F932F9314 -:10A8C0009F938F930E942BCE0F900F900F900F901D -:10A8D0000F900F90089580E00895DF92EF92FF921D -:10A8E0000F931F93CF93DF93CDB7DEB764970FB667 -:10A8F000F894DEBF0FBECDBF182FD92EFB01858186 -:10A900001F928F9384811F928F9383811F928F93C5 -:10A9100082811F928F938AE198E29F938F931F9277 -:10A9200080E18F93BE016F5F7F4F7B01FF926F933A -:10A93000298B3A8B4B8B5C8B0F94351F1F920F9397 -:10A94000FF92EF926AE979E27F936F93DF921F9310 -:10A950000E942BCE0FB6F894DEBF0FBECDBF298963 -:10A960003A894B895C898823D1F02115310541054D -:10A970005105A9F05F934F933F932F931F920F932D -:10A98000FF92EF9221EB39E23F932F93DF921F93D7 -:10A990000E942BCE0FB6F894DEBF0FBECDBF6496DB -:10A9A0000FB6F894DEBF0FBECDBFDF91CF911F91E0 -:10A9B0000F91FF90EF90DF900895EF92FF920F9329 -:10A9C0001F93CF93DF931F921F92CDB7DEB77C0109 -:10A9D000CB0120EA3AE2F70131832083009126314E -:10A9E000109127312091283130912931028313832E -:10A9F000248335835F934F932BEC39E23F932F935E -:10AA00009F936F9369839A830E941BCE20E030E06E -:10AA1000A70160E972ED89819A810E94C4CB0F90F1 -:10AA20000F900F900F900F900F90892B69F000916D -:10AA30002631109127312091283130912931F701A9 -:10AA40000283138324833583C7010F900F90DF9116 -:10AA5000CF911F910F91FF90EF900895EF92FF9289 -:10AA60000F931F93CF93DF931F92CDB7DEB77C0177 -:10AA70006031B8F5062F10E05F934F931F926F93EC -:10AA80008BED99E29F938F93FF92EF9269830E94DF -:10AA90002BCE0FB6F894DEBF0FBECDBF698129E083 -:10AAA000882379F0209FC001219F900D11248E0DE5 -:10AAB0009F1DFC01EE5AFD4F80818260808381E002 -:10AAC00011C0209FC001219F900D11248E0D9F1D4C -:10AAD000FC01EE5AFD4F808184608083C7010E9493 -:10AAE0001FC480E00F90DF91CF911F910F91FF90D5 -:10AAF000EF900895CF92DF92EF92FF920F931F9302 -:10AB0000CF93DF931F921F92CDB7DEB76C0179010F -:10AB100091E049271F924F931F930F937F936F9359 -:10AB2000ECEEF9E2FF93EF93DF92CF920E942BCEEF -:10AB3000282F0FB6F894DEBF0FBECDBF8823D1F00B -:10AB40008BE1898387E58A8342E050E0BE016F5F35 -:10AB50007F4FC6010E9464CCA801B701C6010E94C4 -:10AB600064CC60E070E0C6010E9499CB21E0892BA3 -:10AB700009F020E0822F0F900F90DF91CF911F916D -:10AB80000F91FF90EF90DF90CF900895FF920F9379 -:10AB90001F93CF93DF931F921F92CDB7DEB7F82E8E -:10ABA00081E028271F922F9348271F924F931F92CF -:10ABB0006F931F930F9329E23AE23F932F939F9352 -:10ABC000FF9269839A830E942BCE182F0FB6F894B8 -:10ABD000DEBF0FBECDBF69819A81611105C0882398 -:10ABE00019F08F2D0E943EC4812F0F900F90DF919E -:10ABF000CF911F910F91FF9008950F9300E020E0F7 -:10AC000040E060E084E291E30F94C30A0F9108955D -:10AC100080E090E00895AB01FC0166858485958510 -:10AC20000C942ED5EF92FF920F931F93CF93DF9347 -:10AC3000EC01EE848FEFE81619F10C851D85C80133 -:10AC40000E9410D289E0F82EF801FE9CE00DF11D63 -:10AC50001124EE5AFD4F808180FF12C01E850C84A6 -:10AC6000DD85C02DCE010E9410D2FE01F19EE00DC7 -:10AC7000F11D1124EE5AFD4F80818695817001C02F -:10AC800080E0DF91CF911F910F91FF90EF90089599 -:10AC90000F931F93CF93DF9300D01F92CDB7DEB7F2 -:10ACA0008C01DC01ED91FC910488F589E02D4B834A -:10ACB0005C8369837A8319954B815C8169817A8190 -:10ACC00081110DC0F801848595850E94C3D28F3F04 -:10ACD00031F0D8011E968C9381E090E002C080E0B4 -:10ACE00090E00F900F900F900F90DF91CF911F91F8 -:10ACF0000F9108950F9300E020E040E060E08AE2C9 -:10AD000091E30F94C30A0F9108950F9300E020E0A0 -:10AD100040E060E080E391E30F94C30A0F9108954F -:10AD20000F9300E020E040E060E086E391E30F94C1 -:10AD3000C30A0F910895CF93DF9300D01F92CDB730 -:10AD4000DEB7BE01615C7744882777FD8095982F38 -:10AD50000F900F900F900F90DF91CF91089508956D -:10AD60001EBA0895CF92DF92EF92FF920F931F9336 -:10AD7000CF93DF936C01109291361092923610921D -:10AD8000933610929436E090BB3EF090BC3E0BEBB5 -:10AD900016E3C0E0D0E0CE15DF0509F44EC0F8019F -:10ADA00060817181C6010F94501E0C5F1F4F892B6B -:10ADB00071F52091BA3684E0289FF0011124E656FF -:10ADC000F94CDE01AA0FBB1FAA0FBB1FA554B94C3B -:10ADD0008D919D910D90BC91A02D80839183A28334 -:10ADE000B38331E0320F3093BA36822F806890E01F -:10ADF000A0E0B0E08093913690939236A093933682 -:10AE0000B09394363830D9F41092BA3618C04091C5 -:10AE100091365091923660919336709194364F5F8F -:10AE20005F4F6F4F7F4F40939136509392366093B0 -:10AE30009336709394362196AECF80E001C081E0C6 -:10AE4000DF91CF911F910F91FF90EF90DF90CF9006 -:10AE50000895CF92DF92EF92FF920F931F93CF93BB -:10AE6000DF937C01C7E9DFE2FE018491882341F191 -:10AE7000BE01C7010F94C21D6C01CE010F94F11DDC -:10AE80008C010F5F1F4F0C0F1D1FCD2889F484EA22 -:10AE90008EBBC801AA2797FDA095BA2F8093913643 -:10AEA00090939236A0939336B093943681E008C085 -:10AEB000C8010F94F11DEC012196C00FD11FD4CF12 -:10AEC000DF91CF911F910F91FF90EF90DF90CF9086 -:10AED0000895F89428E088E190E00FB6F894A895DA -:10AEE000809360000FBE20936000FFCF1F93CF932D -:10AEF000DF93182FC1EEDEE2CE01112339F00F945B -:10AF0000F11D0196C80FD91F1150F6CFDF91CF91D7 -:10AF10001F91089587FD0EC0E82FE695F0E0EF55EC -:10AF2000F14DE49180FF02C08E2F02C08E2F8295DA -:10AF30008F70089584E008958EB38C3391F08EB3B2 -:10AF4000843879F08EB3883861F08EB3893849F04F -:10AF50008EB38E3331F09EB381E0953819F080E0E6 -:10AF6000089581E0089590ED980F9A3058F09FE988 -:10AF7000980F963038F09FEB980F81E0963018F0DC -:10AF800080E0089581E0089590ED980F9A3038F0B0 -:10AF9000992787FD90950F94A71D87550895892FB0 -:10AFA00008950F931F936150710981E090E002C0F2 -:10AFB000880F991F6A95E2F78C01222717FD2095CB -:10AFC000322FE0916736F091683640855185628571 -:10AFD0007385042315232623372361E070E080E086 -:10AFE00090E0012B022B032B19F460E070E0CB0101 -:10AFF0001F910F910895DF92EF92FF920F931F938D -:10B00000CF93DF937C01EB01D42E109291361092F6 -:10B0100092361092933610929436FE0184918823D2 -:10B0200041F1BE01C7010F94C21D0097F9F0DD2068 -:10B0300011F097FD1DC0009191361091923620912C -:10B040009336309194360F5F1F4F2F4F3F4F009331 -:10B050009136109392362093933630939436CE01E6 -:10B060000F94F11D0196C80FD91FD7CF81E001C001 -:10B0700080E0DF91CF911F910F91FF90EF90DF90D3 -:10B080000895FC01218120538281811102C0822F09 -:10B0900008958053FAE02F9F800D112408950F9397 -:10B0A0001F93CF93DF93082F8091FC31E82FF0E0BE -:10B0B000EE0FFF1FE454FE4CC081D18160E00F947D -:10B0C0004207CE010F945D0519E0115059F0602F31 -:10B0D00061708091FC310F944207CE010F945D05A1 -:10B0E0000695F3CF61E08091FC310F944207CE01C9 -:10B0F000880F991FDF91CF911F910F910D945D05DE -:10B100009091FC31911112C0E091BA31F091BB31B4 -:10B11000309709F01994E0914346F091444601902C -:10B12000F081E02D682F83E496E419940C944FD8B5 -:10B13000CF93DF93EC012196FE01319784918F3FED -:10B1400069F0811106C0FE018491882339F080E204 -:10B1500002C0803681F30E9480D8EDCFDF91CF917D -:10B160000895CF93DF930E9476D7FC018491EF017D -:10B170002196882321F00E9480D8FE01F7CFDF912D -:10B18000CF9108959093BB318093BA310895109276 -:10B19000BB311092BA310895CF93DF93EC018991BE -:10B1A000882319F00E9480D8FACFDF91CF910895BB -:10B1B000EF92FF920F931F93CF93DF93CDB7DEB73C -:10B1C000EDB6FEB6FC01448155814F5F5F4F2DB750 -:10B1D0003EB7241B350B0FB6F8943EBF0FBE2DBFF4 -:10B1E0000DB71EB70F5F1F4F20E030E0B8010F947E -:10B1F000BF10C8010E94CCD80FB6F894FEBE0FBE97 -:10B20000EDBEDF91CF911F910F91FF90EF900895C8 -:10B21000CF93DF9300D000D0CDB7DEB7682FCE013B -:10B2200001960F94F00DCE0101960E94D8D8CE0160 -:10B2300001960F94DA0C26960FB6F894DEBF0FBE77 -:10B24000CDBFDF91CF910895CF93DF9300D000D091 -:10B25000CDB7DEB74AE0682FCE0101960F94090EF4 -:10B26000CE0101960E94D8D8CE0101960F94DA0C37 -:10B2700026960FB6F894DEBF0FBECDBFDF91CF91FB -:10B280000895CF93DF9300D000D0CDB7DEB74AE06A -:10B29000BC01CE0101960F94360ECE0101960E949C -:10B2A000D8D8CE0101960F94DA0C26960FB6F894F2 -:10B2B000DEBF0FBECDBFDF91CF910895CF93DF9357 -:10B2C00000D000D0CDB7DEB74AE0BC01CE01019678 -:10B2D0000F94620ECE0101960E94D8D8CE0101963D -:10B2E0000F94DA0C26960FB6F894DEBF0FBECDBFD2 -:10B2F000DF91CF910895CF93DF9300D000D0CDB7E9 -:10B30000DEB7AB01BC012AE0CE0101960F948E0E90 -:10B31000CE0101960E94D8D8CE0101960F94DA0C86 -:10B3200026960FB6F894DEBF0FBECDBFDF91CF914A -:10B330000895CF93DF9300D000D0CDB7DEB7AB0137 -:10B34000BC012AE0CE0101960F94BB0ECE010196FE -:10B350000E94D8D8CE0101960F94DA0C26960FB62B -:10B36000F894DEBF0FBECDBFDF91CF9108958DE081 -:10B370000E9480D88AE00C9480D8CF93DF9380918C -:10B3800099368130E1F4C0919536D0919636CD5BF7 -:10B39000DE43C11582E0D80790F40E94B7D9219707 -:10B3A000CE3F8FEFD80721F08DE20E9480D8F7CFF3 -:10B3B0008EE50E9480D8DF91CF910C94B7D9DF91B0 -:10B3C000CF9108950F931F93CF93DF930BEB16E369 -:10B3D000C0E0D0E08091BB3E9091BC3EC817D90739 -:10B3E00060F4F801808191810E94CCD880E20E94B3 -:10B3F00080D821960C5F1F4FEDCFDF91CF911F9129 -:10B400000F910C94B7D90E94B1D80C94B7D90E946F -:10B41000CCD80C94B7D90E94D8D80C94B7D90E9434 -:10B4200024D90C94B7D90E9441D90C94B7D90E9461 -:10B430005ED90C94B7D90E9499D90C94B7D94F9280 -:10B440005F926F927F928F929F92AF92BF92CF92B4 -:10B45000DF92EF92FF920F931F93CF93DF93CDB7BD -:10B46000DEB7A4970FB6F894DEBF0FBECDBF28019C -:10B4700039011E2D9E012F5F3F4F69016115710536 -:10B480008105910531F419827E0132E0E30EF11C51 -:10B490001FC05901242F30E040E050E029A33AA317 -:10B4A0004BA35CA345013FEF831A930A740129A1C2 -:10B4B0003AA14BA15CA10F948117F5016083B901FA -:10B4C000CA01611571058105910511F05401EACF9A -:10B4D000411451046104710401F1C7018C199D09E3 -:10B4E000AA2797FDA095BA2F481A590A6A0A7B0A1B -:10B4F000141415041604170484F4812F0E9480D8B4 -:10B50000F1E04F1A510861087108F2CFF70180810C -:10B510008A3054F4805D0E9480D8F1E0EF1AF1087F -:10B52000EC14FD0498F702C0895CF5CFA4960FB621 -:10B53000F894DEBF0FBECDBFDF91CF911F910F9169 -:10B54000FF90EF90DF90CF90BF90AF909F908F9043 -:10B550007F906F905F904F9008958F929F92AF92DF -:10B56000BF92EF920F931F93CF93DF9300D01F9260 -:10B57000CDB7DEB74B015C0197FF17C08DE2298381 -:10B580003A834B835C830E9480D8B094A0949094BB -:10B590008094811C911CA11CB11C29813A814B8192 -:10B5A0005C812150310941095109E02E89019A013C -:10B5B0004AE0C501B4010E941FDA0F900F900F906E -:10B5C0000F90DF91CF911F910F91EF90BF90AF90AF -:10B5D0009F908F9008950F938AB50E948AD7E82F85 -:10B5E000F0E0EE0FFF1FEA5CFD4F0190F081E02DCF -:10B5F000199580916A36882319F180E69AE20E94B3 -:10B60000CCD86EB370E080E090E000E220E030E063 -:10B61000A9010E94ADDA86E69AE20E94CCD8609138 -:10B62000913670919236809193369091943620E0C5 -:10B6300030E0A9010E94ADDA80E20F910C9480D82D -:10B640000F910895EF920F931F9350E3E52E00E0C2 -:10B6500010E0980140E10E941FDA1F910F91EF90D6 -:10B660000895409195365091963660919736709135 -:10B670009836FC014083518362837383209199360D -:10B68000248380916A368823E1F00E94B7D98AE644 -:10B690009AE20E94CCD86091993670E080E090E008 -:10B6A0000E9422DB80E20E9480D8609195367091E2 -:10B6B000963680919736909198360E9422DB0C94B2 -:10B6C000B7D9089580916A36882351F180E79AE2CC -:10B6D0000E94CCD8609195367091963680919736BD -:10B6E000909198360E9422DB80E20E9480D88EE6FC -:10B6F00099E20E94CCD86EB370E080E090E00E94A6 -:10B7000022DB80E20E9480D885E29BE10E94CCD8B7 -:10B710006AB570E080E090E00E9422DB0C94B7D91B -:10B720000895CF93DF931F921F92CDB7DEB710928B -:10B73000FC316A8389830E94BDD989810E94B1D876 -:10B740006A81662319F0862F0E9403DA0E9462DB69 -:10B7500061E070E08CE391E30F94531D60E00E9480 -:10B7600091DB0E9480D880E00E94AEDB682F80E0F1 -:10B770000E9491DB682F81E00E9491DB803218F0FB -:10B780008EE00E94BADB08958F929F92AF92BF9293 -:10B79000CF92DF92EF92FF92CF93DF936B017C0108 -:10B7A00049015A01862F0E94BEDBC114D104E10475 -:10B7B000F10459F426E0B501A40183E496E40F9462 -:10B7C000C30860E070E0CB0123C0E601CC0FDD1FB1 -:10B7D000C454DE4C60E472E48FE090E0A501940173 -:10B7E0000F948117235031093983288361E08C2D10 -:10B7F0000F94090761E08C2D0F944207888199818D -:10B800000F945D0568817981882777FD8095982F51 -:10B81000DF91CF91FF90EF90DF90CF90BF90AF90EE -:10B820009F908F900895CF93C82F0E94BEDBC09346 -:10B83000FC31CC23A9F0EC2FF0E0EE0FFF1FE45415 -:10B84000FE4C20813181232B59F46C2F70E080E075 -:10B8500090E020E835E240E050E0CF910C94C4DB6A -:10B86000CF91089584E10E94BADB682F82E00E94A4 -:10B8700091DBE0916736F091683690E0A0E0B0E0AF -:10B880004081518162817381481759076A077B079C -:10B890001CF48BE10E9435DC08958F929F92AF9249 -:10B8A000BF92CF92DF92EF92FF920F931F93CF93AD -:10B8B000DF9300D01F92CDB7DEB783E00E9439DC62 -:10B8C0008090673690906836F4013897C080D180B8 -:10B8D000E280F38034976081718182819381A70136 -:10B8E00096010F945D1728EE33E040E050E00F948E -:10B8F000811759018A0160E271EA87E090E0A701AF -:10B9000096010F9481172750310941095109F4011B -:10B91000349761E0808129833A834B835C830F9461 -:10B9200009076501780129813A814B815C81890190 -:10B9300001501109C114D104E104F10441F1E09175 -:10B940006736F0916836349761E0808129833A83C5 -:10B950004B835C830F94420729813A81C9010F947C -:10B960005D05E0916736F0916836349760E080813C -:10B970000F944207C8010F945D0581E0C81AD108F1 -:10B98000E108F1085C814B813A812981D3CF60E0E5 -:10B9900070E0CB010F900F900F900F90DF91CF913F -:10B9A0001F910F91FF90EF90DF90CF90BF90AF90DD -:10B9B0009F908F900895CF92DF92EF92FF920F9316 -:10B9C0001F9381E00E9439DC40914C0250914D025E -:10B9D00060914E0270914F02C0904802D09049028F -:10B9E000E0904A02F0904B02DB01CA01E9E1B69512 -:10B9F000A79597958795EA95D1F78C0D9D1DAE1D5E -:10BA0000BF1DF7E0440F551F661F771FFA95D1F74A -:10BA100084279527A627B72780934C0290934D0241 -:10BA2000A0934E02B0934F02BC01CD019F77E091ED -:10BA30006736F09168363497208131814281538195 -:10BA40000F94A31797018601A9E1369527951795BD -:10BA50000795AA95D1F70151114422453142B7E02B -:10BA6000CC0CDD1CEE1CFF1CBA95D1F70C251D2556 -:10BA70002E253F25009348021093490220934A0245 -:10BA800030934B021F910F91FF90EF90DF90CF907A -:10BA9000089581E00E9439DCE0916736F0916836C4 -:10BAA00034970190F081E02D608170E080E090E0BB -:10BAB000089582E00E9439DC809167369091683663 -:10BAC000FC0134970190F081E02DDC0118978C91F6 -:10BAD000808360E070E0CB01089581E00E9439DC52 -:10BAE000E0916736F0916836349760817181828188 -:10BAF000938197FF07C090958095709561957F4FD2 -:10BB00008F4F9F4F089581E00E9439DCE0916736A6 -:10BB1000F09168363497408151816281738177FD5D -:10BB20000CC031E020E080E090E0452B462B472B15 -:10BB300009F430E0632F722F08956FEF7FEF8FEFDE -:10BB40009FEF08950F931F9382E00E9439DC80914C -:10BB5000673690916836FC013897DC0114970D9197 -:10BB60001D912D913C916081718182819381061795 -:10BB700017072807390714F4C901B8011F910F915D -:10BB800008950F931F9382E00E9439DC80916736FD -:10BB900090916836FC013897DC0114970D911D9146 -:10BBA0002D913C9160817181828193816017710731 -:10BBB0008207930714F4C901B8011F910F910895EA -:10BBC0000F931F9383E00E9439DC409167365091B8 -:10BBD0006836FA01349700811181228133813497CC -:10BBE00080819181A281B381081719072A073B0739 -:10BBF0006CF03497608171818281938106171707F9 -:10BC0000280739072CF4C901B80102C0BC01CD01D5 -:10BC10001F910F91089581E00E9439DCE091673611 -:10BC2000F0916836349780810F94CA05BC0188274B -:10BC300077FD8095982F089582E00E9439DC8091ED -:10BC4000673690916836FC0138976081718134962F -:10BC500080810F94EF0560E070E0CB01089581E0F2 -:10BC60000E9439DCE0916736F09168363497808124 -:10BC70000F947807BC01882777FD8095982F089549 -:10BC800082E00E9439DC8091673690916836FC0131 -:10BC90003897DC01149760818C910F94420760E023 -:10BCA00070E0CB01089582E00E9439DC8091673614 -:10BCB00090916836FC013897DC01149760818C9173 -:10BCC0000F94090760E070E0CB01089583E00E94C3 -:10BCD00039DC8091673690916836FC013C97208171 -:10BCE0003181428153813496DC01149760818C91BB -:10BCF0000D94A10781E00E9439DCE0916736F09154 -:10BD00006836349760817181828193810F94350503 -:10BD100060E070E0CB01089582E00E9439DC809100 -:10BD2000673690916836FC013897208131814281D5 -:10BD30005381349660817181828193810E94C4DB3A -:10BD400060E070E0CB0108950F931F9382E00E94A2 -:10BD500039DC2091673630916836F901389761E017 -:10BD600070E080E090E0008004C0660F771F881FBD -:10BD7000991F0A94D2F760957095809590953496A6 -:10BD800000811181228133816023712382239323D7 -:10BD90001F910F9108950F931F9382E00E9439DC49 -:10BDA0002091673630916836F901389761E070E08C -:10BDB00080E090E0008004C0660F771F881F991F05 -:10BDC0000A94D2F734960081118122813381602B4D -:10BDD000712B822B932B1F910F91089582E00E946B -:10BDE00039DC8091673690916836DC011497FC014C -:10BDF00038976D917D918D919C91008004C09595AF -:10BE00008795779567950A94D2F761707727882789 -:10BE10009927089583E00E9439DCE0916736F0911C -:10BE200068363C9780819181A281B381892B8A2BCE -:10BE30008B2B11F00C94CBDE0C94A4DE0F931F938C -:10BE4000A0916736B09168360D911D912D913C916E -:10BE5000139706171707280739071CF48BE10E9470 -:10BE600035DC2CEF2603F001279FF00D1124EA0F9B -:10BE7000FB1F60817181828193811F910F910895D1 -:10BE80000F931F9361E070E080E090E00E941EDF5E -:10BE90006150710981E090E002C0880F991F6A9596 -:10BEA000E2F78C01222717FD2095322FE0916736AB -:10BEB000F09168360484F585E02D408551856285D2 -:10BEC0007385042315232623372361E070E080E087 -:10BED00090E0012B022B032B19F460E070E0CB0102 -:10BEE0001F910F910895CF92DF92EF92FF926B0115 -:10BEF0007C010E94D1D7672B682B692B19F483E052 -:10BF00000E94B6DBC701B601FF90EF90DF90CF90A3 -:10BF10000C941EDF64E00E9491DBE0916936EF3FF4 -:10BF200019F489E00E948ADFEF5FE093693684E0CC -:10BF3000E89FF0011124E959FD4C608171818281F3 -:10BF400093810895809169368F5FE0916736F09113 -:10BF500068369081890F809369360E948DDF7093D7 -:10BF60006632609365320E948DDF0E948DDF709390 -:10BF7000683660936736089565E00E9491DB2091F2 -:10BF8000BB3E3091BC3E211542E0340718F089E1F8 -:10BF90000E94BCDFF901EE0FFF1FEE0FFF1FE554FB -:10BFA000F94C91838083738362832F5F3F4F30937B -:10BFB000BC3E2093BB3E0895E0916532F09166321D -:10BFC0002091693694E0299F9001112429593D4C14 -:10BFD000E217F30718F083E00E94BCDF9F012F5F98 -:10BFE0003F4F309366322093653280830895CF931C -:10BFF000DF93EC018991882319F00E94DCDFFACFEE -:10C00000DF91CF910C94DCDF4091693624E0429FB0 -:10C01000F0011124E959FD4C2091653230916632CE -:10C02000E217F30718F489E00E94BCDF4150409307 -:10C030006936608371838283938308958DEF809343 -:10C0400069368BE596E3909368368093673660E0B7 -:10C0500070E0CB010E9404E0E7E6F2E3F093663281 -:10C06000E093653210820895CF92DF92EF92FF92B3 -:10C07000CF93C82F0E948DDF6B017C010E948DDF62 -:10C080009B01AC01CE3509F4BDC028F5CB3209F4D3 -:10C090004CC070F4C63209F4B0C0CA3209F44AC0C8 -:10C0A000C53209F0C2C0A70196010F94A317B6C00C -:10C0B000CF3209F444C040F4CD3209F0B6C06C1957 -:10C0C0007D098E099F09AAC0CC3309F43FC0CE3345 -:10C0D00009F447C0AAC0C73809F474C098F4C4383A -:10C0E00009F44AC040F4CC3709F09FC06C297D297F -:10C0F0008E299F2993C0C53809F449C0C63809F470 -:10C100005AC093C0C93809F44CC008F469C0CA3891 -:10C1100009F47DC0CB3809F088C004C09595879597 -:10C1200077956795CA94D2F779C06C0D7D1D8E1DE9 -:10C130009F1D74C0C701B6010F945D176FC0A701A2 -:10C1400096010F94A317CA01B90168C061E070E0BD -:10C1500080E090E02C153D054E055F050CF45EC0B7 -:10C1600048C061E070E080E090E0C216D306E406CB -:10C17000F5060CF453C03DC061E070E080E090E053 -:10C18000C216D306E406F5060CF048C032C061E0E2 -:10C1900070E080E090E02C153D054E055F05F4F55C -:10C1A00028C061E070E080E090E02C153D054E0570 -:10C1B0005F05A1F51EC0611571058105910559F056 -:10C1C00061E005C061E0232B242B252B29F4CD2829 -:10C1D000CE28CF2809F460E070E080E090E01EC037 -:10C1E00061E070E080E090E02C153D054E055F05B4 -:10C1F000A9F060E070E0CB0111C06C217D218E219F -:10C200009F210CC06C257D258E259F2507C004C06D -:10C21000660F771F881F991FCA94D2F7CF91FF909E -:10C22000EF90DF90CF900C9404E08AE00E94BADB9C -:10C23000EF920F931F9350E3E52E00E010E098017A -:10C2400042E00E941FDA1F910F91EF9008954F92E4 -:10C250005F926F927F928F929F92BF92CF92DF9266 -:10C26000EF92FF920F931F93CF93DF9300D01F9213 -:10C27000CDB7DEB7982EB62E60E070E0CB010E94FD -:10C280001EDF6B017C01692D70E080E090E0C61636 -:10C29000D706E806F90634F40E94B7D960E070E0EA -:10C2A000CB0144C10E941EDF4B01F4018081882331 -:10C2B00009F436C1853209F028C1D40111968C9158 -:10C2C0006401803331F0BFEFCB1ADB0A70E2E72E56 -:10C2D00005C0E2E0CE0ED11C60E3E62ED6018C91C3 -:10C2E0008A3229F0F60120E030E0A90111C0FF24D4 -:10C2F000F394FB0C6B2D70E080E090E00E941EDF59 -:10C300009B01AC014601BFEF8B1A9B0ABF2C1CC0DE -:10C310004F01C190DD24C7FCD09480E3C81AD10836 -:10C32000AAE0CA16D10480F4AAE0B0E00F94CF17B7 -:10C330009B01AC01C601AA2797FDA095BA2F280F33 -:10C34000391F4A1F5B1FE4CFF4018081833609F453 -:10C3500090C054F4853209F4AEC0823609F448C066 -:10C36000833209F0C8C0A9C0833709F453C0ACF4C4 -:10C37000843609F0C0C06B2D70E080E090E0298326 -:10C380003A834B835C830E941EDF0E2D29813A8104 -:10C390004B815C810E94ADDAB6C08537A9F0883741 -:10C3A00009F0A9C06B2D70E080E090E029833A830A -:10C3B0004B835C830E941EDF29813A814B815C8123 -:10C3C00089019A0140E111C06B2D70E080E090E09E -:10C3D00029833A834B835C830E941EDF29813A8143 -:10C3E0004B815C8189019A014AE00E941FDA8BC06F -:10C3F0006B2D70E080E090E029833A834B835C836F -:10C400000E941EDF29813A814B815C8189019A015A -:10C4100042E0EBCF6B2D70E080E090E029833A831F -:10C420004B835C830E941EDF6B017C01FB0101904A -:10C430000020E9F73197E61BF70B29813A814B8100 -:10C440005C8129013A014E1A5F0A610871081414CF -:10C450001504160417044CF480E20E9480D8F1E021 -:10C460004F1A510861087108F2CFC6010E94CCD85A -:10C470004AC0CB2CD12CE12CF12CC701B601298369 -:10C480003A834B835C830E941EDF862F0E9480D8F4 -:10C4900029813A814B815C8121503109410951093F -:10C4A000DA01C9010196A11DB11D181619061A0657 -:10C4B0001B061CF328C085E223C06B2D70E080E0D2 -:10C4C00090E029833A834B835C830E941EDF6B01DB -:10C4D0007C0129813A814B815C812115310541051F -:10C4E000510529F07727882799270E94C4DB8C2DD6 -:10C4F0000E9413DC08C085E20E9480D8D4018C9190 -:10C500000E9480D8D2CEB39407C08A3019F40E941A -:10C51000B7D902C00E9480D8BFEF8B1A9B0AC5CE44 -:10C520001092FC316B2D70E080E090E00F900F9046 -:10C530000F900F90DF91CF911F910F91FF90EF908F -:10C54000DF90CF90BF909F908F907F906F905F9083 -:10C550004F90089562E081E00C9427E144E150E0BF -:10C560006FEF70E084EA91E30D943E1E8A3050F440 -:10C57000E82FF0E0EE0FFF1FEC55FE4C8FEF9FEF22 -:10C58000918380830895CF92DF92EF92FF92CF93B1 -:10C59000DF936A017B01E4EAF1E320E030E04191BE -:10C5A00051914F3F5F4F31F5F901EE0FFF1FEC55F1 -:10C5B000FE4C91838083E901CC0FDD1FCC0FDD1F82 -:10C5C000FE01E458FE4CC082D182E282F3820F94D5 -:10C5D0000605CC5ADE4C6C0D7D1D8E1D9F1D68839B -:10C5E00079838A839B83DF91CF91FF90EF90DF90D7 -:10C5F000CF9008952F5F3F4F2A30310581F687E1B4 -:10C600000E94BCDF2091B931222369F0E091B8315A -:10C6100024E0E29FF0011124E458FE4C6083718312 -:10C620008283938308950D94350581E00E9439DC5F -:10C63000E0916736F091683634976081718182812C -:10C6400093810E9402E360E070E0CB0108958F3F88 -:10C650002EE1920710F40D94012208950F931F9379 -:10C66000CF93DF93FB0101900020E9F73197E61BA0 -:10C67000F70BE80FF91FEF3FFE4198F4EB018C0137 -:10C68000061B170BC8018C0F9D1F6991662319F0BB -:10C690000E9427E3F7CFDF91CF911F910F910C9468 -:10C6A00027E3DF91CF911F910F91089582E00E94BF -:10C6B00039DC8091673690916836FC013897DC014F -:10C6C000149760818D919C910E9427E360E070E057 -:10C6D000CB0108958F3F2EE1920710F40D94D521E0 -:10C6E0008FEF0895CF93DF93EC01CF3F8EE1D80712 -:10C6F0003CF4CE010E946AE38F3F29F42196F5CFE6 -:10C700008FEF9FEF01C0CE01DF91CF910895CF93BE -:10C71000DF93EC01CF3F8EE1D8073CF4CE010E94BD -:10C720006AE38F3F29F02196F5CF8FEF9FEF01C08D -:10C73000CE01DF91CF9108950F931F93CF93DF9395 -:10C740008C0120E030E0C901800F911F81159F41CD -:10C75000F4F4C9010E9487E3EC01CF3F8FEFD807C3 -:10C76000B1F0CE010E9472E39C018F3F4FEF94071E -:10C7700011F420E03FE1C9018C1B9D0B801791074C -:10C7800014F3CE01DF91CF911F910F91089581E1B4 -:10C790000E94BCDF0F931F93CF93DF938C01E801BE -:10C7A0002196CF3F8EE1D80764F4CE010E946AE360 -:10C7B0008F3F51F0811103C0C801029606C08E015F -:10C7C000EECF8FEF9EE101C0CE01DF91CF911F919F -:10C7D0000F910895FF920F931F93CF93DF93EB0177 -:10C7E000F990FF2099F08F3F2EE192079CF48C0185 -:10C7F0000F5F1F4F0E946AE390E02F2D332727FD24 -:10C8000030958217930731F4C801EACF0E946AE39A -:10C8100091E0811190E0892FDF91CF911F910F91CD -:10C82000FF9008950F931F93CF93DF938C0180E0C7 -:10C8300090E00E9472E3EC018F3F2FEF920789F0A6 -:10C84000B8010E94EAE381110AC0CE010E94CAE346 -:10C850000E94CAE38B3F2EE192075CF302C0CE0137 -:10C8600002C08FEF9FEFDF91CF911F910F9108953D -:10C87000CF93DF93EC010E9412E4AC01662757FDD1 -:10C880006095762F4093913650939236609393360D -:10C890007093943677FD03C083EA8EBB09C0CE0146 -:10C8A0000E9429D7811104C080E88EBB80E001C0BE -:10C8B0008EB3DF91CF910895FF920F931F93CF9383 -:10C8C000DF93EC01CF3F8EE1D8078CF4CE010E94BC -:10C8D0006AE3F82E8FEFF81651F08E010F5F1F4FAD -:10C8E0006FEFCE010E9427E3E801F110EBCFCE01FC -:10C8F000DF91CF911F910F91FF9008950E9412E454 -:10C9000097FD04C00E945CE40C945CE408956F926F -:10C910007F928F929F92AF92BF92CF92DF92EF92CF -:10C92000FF920F931F93CF93DF93CDB7DEB7A197FD -:10C930000FB6F894DEBF0FBECDBF0E94EBDA8EB308 -:10C94000803861F08EB3833A49F08EB3843A31F087 -:10C950008EB3853A19F087E10E94BADB41E250E0DC -:10C960006BE676E3CE0101965C010F94821EC50151 -:10C970000E947EE40E94EBDA8EB38B3719F08BE7CE -:10C980000E94B6DBC0909536D0909636E0909736F0 -:10C99000F090983646010E94D3E8E0919536F091E8 -:10C9A000963631978F018E169F06F0F0F5010190B3 -:10C9B0000020E9F7CF0101973C016A187B08C80104 -:10C9C0008C199D09860D971D02960E949CE34C01CF -:10C9D00097FD21C0B5010E942EE3C3010196880D89 -:10C9E000991DC81AD90A05C0319781818D37D1F6B2 -:10C9F000DDCFF601E80FF91FE017F10748F47C01DD -:10CA00002FEFE21AF20A60810E9427E3C701F1CFFB -:10CA100060E00E9427E380E10E9403DAA1960FB64E -:10CA2000F894DEBF0FBECDBFDF91CF911F910F9164 -:10CA3000FF90EF90DF90CF90BF90AF909F908F903E -:10CA40007F906F900895CF93DF938F3F2EE19207F1 -:10CA500064F4EC0121960E946AE39FEF980F9E3FD9 -:10CA600020F40E9480D8CE01F0CFDF91CF910895BD -:10CA7000CF93DF9380E090E00E9472E3EC01CF3F20 -:10CA80008FEFD80709F18CE10E94B1D880E20E94B3 -:10CA900080D8CE010E9423E580E20E9480D88BE7F7 -:10CAA0000E9480D8CE010E94CAE3EC010E9423E5D7 -:10CAB0008DE70E9480D88BE30E9480D80E94B7D96E -:10CAC000CE010E94CAE3D8CFDF91CF910895CF92D3 -:10CAD000DF92EF92FF920F93CF93DF93C4EAD1E3FB -:10CAE000C12CD12C7601888199810196A1F000E2B8 -:10CAF00020E030E0A901C701B6010E94ADDA8AE367 -:10CB00000E9480D880E20E9480D8888199810E940A -:10CB100023E50E94B7D922968FEFC81AD80AE80AEF -:10CB2000F80A2AE0C216D104E104F104E1F6DF912B -:10CB3000CF910F91FF90EF90DF90CF9008958F925B -:10CB40009F92AF92BF92EF920F931F93CF93DF9379 -:10CB5000812C912C5401E401C4018F739927892BF6 -:10CB600081F40E94B7D990E3E92E04E010E020E0C0 -:10CB700030E040E1C501B4010E941FDA8AE30E945F -:10CB800080D8CE0187709927892B19F480E20E9402 -:10CB900080D8CE0183709927892B19F480E20E94F6 -:10CBA00080D8CE010E946AE3811102C084E207C0EE -:10CBB0008F3F11F48EE203C0803208F48EE50E94AC -:10CBC00080D88FEF881A980AA80AB80A81148FE1D2 -:10CBD0009806A104B10409F0BECFDF91CF911F9157 -:10CBE0000F91EF90BF90AF909F908F900C94B7D91A -:10CBF00081E00E9439DCE0916736F0916836349725 -:10CC0000808191810E946AE3682F70E080E090E06B -:10CC10000895CF93DF930E94AEE2C0E0D0E0CE0152 -:10CC20000E946AE38F3F21F06FEFCE010E9427E35D -:10CC30002196C1158FE1D80791F7DF91CF91089523 -:10CC40000F932091993680919536909196362230A7 -:10CC500039F0233041F0213071F4FC01808105C0AE -:10CC6000FC01849102C00E946AE38ABD80916A3609 -:10CC70008823F9F003C08AE10E94BADB8CE30E94AA -:10CC800080D88AB5803220F08AB50E9480D80DC045 -:10CC90008CE50E9480D86AB570E080E090E000E208 -:10CCA00020E030E0A9010E94ADDA8EE30F910C94F0 -:10CCB00080D80F910895CF92DF92EF92FF921F9349 -:10CCC000CF93DF93182F6A017B01E90180916A36C7 -:10CCD0008823E9F00E94B7D982E79AE20E94CCD873 -:10CCE000612F70E080E090E00E9422DB80E20E94F1 -:10CCF00080D8C701B6010E9422DB209731F080E284 -:10CD00000E9480D8CE010E94CCD80E94B7D910933F -:10CD10009936C0929536D0929636E0929736F09238 -:10CD20009836112349F0DF91CF911F91FF90EF903A -:10CD3000DF90CF900C9420E6DF91CF911F91FF9070 -:10CD4000EF90DF90CF900895E0916736F0916836CC -:10CD5000662371F0408551856285738541155105C3 -:10CD60006105710541F0FA0134962081318105C0D9 -:10CD70002481358102C020E030E0FC0140815181F6 -:10CD80006281738184810C945BE6809195369091E9 -:10CD90009636A0919736B09198360196A11DB11D97 -:10CDA0008093953690939636A0939736B0939836A5 -:10CDB00080916A36882381F08BE50E9480D860914B -:10CDC00095367091963680919736909198360E945C -:10CDD00022DB8DE50E9480D80C9420E68AB50E9463 -:10CDE0008AD7811103C00E94C5E6F8CF0C94EBDA14 -:10CDF0008EB3863A51F48AB5882341F08AB58A30D9 -:10CE000029F08AB58D3061F401C008958AB5811189 -:10CE100002C01EBA08950E94C5E60E94EBDAE8CF70 -:10CE20000E94C5E6E8CF0E94C5E68AB590E0A0E082 -:10CE3000B0E08093913690939236A0939336B0935E -:10CE4000943681E88EBB0E94C5E68AB5873219F018 -:10CE500087E20E94B1DB0C94C5E68AB58EBB0E94C6 -:10CE6000C5E640E088E79EE2FC0154915523C1F0FD -:10CE70000296319624913EB3351310C03AB5321361 -:10CE80000DC0E42FF0E0E459F14DE491EEBB0E94B7 -:10CE9000C5E68EB3863A21F40C94F8E64F5FE4CFF2 -:10CEA00008958AB58EBB0C94C5E6CF938AB590E001 -:10CEB000C097AA2797FDA095BA2F8093913690939B -:10CEC0009236A0939336B0939436CAE00E94C5E69A -:10CED0008AB590E00F94A71D8ABDCA30B1F4809145 -:10CEE000913690919236A0919336B0919436892BD9 -:10CEF0008A2B8B2B51F48AB5883711F4C0E1E6CF29 -:10CF00008AB5823611F4C2E0E1CF8AB590E0C097CD -:10CF10000A9720F58AB580538ABD8AB58C1720F010 -:10CF200081E88EBBCF910895EAB52091913630917A -:10CF300092364091933650919436AC2FB0E00F94D6 -:10CF4000CF176E0F711D811D911D609391367093E7 -:10CF500092368093933690939436B8CFC03101F7D0 -:10CF60008AB58136E8F28AB58736D0F62AB580913F -:10CF7000913690919236A0919336B091943634E0E8 -:10CF8000880F991FAA1FBB1F3A95D1F7820F911DD9 -:10CF9000A11DB11D87559109A109B1098093913651 -:10CFA00090939236A0939336B09394368FCF0F938D -:10CFB0001F93CF93DF938AB590E00F94A71D082F9E -:10CFC00080936B360E94C5E6CCE6D6E311E08AB5C5 -:10CFD00090E00F94781D892B31F48AB58E3219F0C8 -:10CFE0008AB58F3571F4103219F487E10E94BCDFE5 -:10CFF0001F5F8AB590E00F94A71D89930E94C5E634 -:10D00000E6CFE12FF0E0E559F94C1082113099F4A8 -:10D01000C02FDD27C7FDD095CE010F94851D892B2C -:10D0200061F083E88EBBCE0181569109AA2797FD56 -:10D03000A095BA2F2AC0143088F5013611F00436B5 -:10D0400069F520916C36332727FD3095205331093F -:10D050002A30310518F580916D36282F332727FDAA -:10D060003095205331092A30310510F0811116C056 -:10D07000013611F481E901C082E98EBB8BE696E3AB -:10D080000E9441D890E0A0E0B0E080939136909368 -:10D090009236A0939336B09394362CC041E069ED5C -:10D0A00070E38BE696E30E94FBD7882349F0E0917A -:10D0B0009136F0919236EF56F14DE491EEBB1AC0E5 -:10D0C00041E06AE271E38BE696E30E94FBD78111AF -:10D0D00006C08BE696E30E94B2D6882319F08EE84C -:10D0E0008EBB08C08BE696E3DF91CF911F910F9125 -:10D0F0000C9438E4DF91CF911F910F910895EF9236 -:10D10000FF920F931F93CF93DF93EC011DE009E093 -:10D110004AE0F42E8AB5823241F4DF91CF911F911B -:10D120000F91FF90EF900C94C5E68AB58C3581F590 -:10D130000E94C5E68AB5823761F020F48E3641F54B -:10D14000FABC26C0843719F0883729F021C00ABDFF -:10D150001FC01ABD1DC00E94C5E68AB50E94B3D784 -:10D160008823A1F08AB50E94C4D7E82E0E94C5E6A4 -:10D170008AB50E94B3D7882349F08AB50E94C4D7E4 -:10D1800090E1E99E800D11248ABD02C084E109C0AE -:10D190008AB5FE0119950E94C5E68AB58111BACFFC -:10D1A0008CE00E94BADBCF9380916A36882321F00D -:10D1B00088E79AE20E94CCD88EB38B3701F50E94A3 -:10D1C000EBDAC0E08EB3882309F45BC08EB38B37F3 -:10D1D00011F4CF5F11C08EB38D3739F41C161CF0DB -:10D1E0000E94EBDA4EC0C15007C08EB3823221F4E8 -:10D1F0008FEA96ED0E947FE80E94EBDAE3CF8EB3D0 -:10D200008F3869F08EB38E3951F0C0E012C08EB302 -:10D210008B3341F18EB38B3729F10E94EBDA8EB359 -:10D220008111F5CF1FC08EB3883239F4CF5F0E94D1 -:10D23000EBDA8EB38111F7CF24C08EB3893221F49B -:10D240001C1674F6C150F3CF8EB3823229F48FEAE4 -:10D2500096ED0E947FE8EBCFC111E9CF8EB38B33FF -:10D2600031F7BECF8EB38823C1F08EB38B3791F4E4 -:10D270000E94D3E88EB3823A21F40E94EBDA0E9436 -:10D28000D3E880916A36882341F08DE79AE2CF9106 -:10D290000C94CCD80E94EBDAEDCFCF91089560E0EA -:10D2A00070E0CB010E941EDF16161706180619063D -:10D2B0004CF461E070E080E090E00E941EDFCB0162 -:10D2C0000E94CCD883E496E40F94CF07892BD1F346 -:10D2D00083E496E40F94E807BC01882777FD8095E6 -:10D2E000982F0895CF92DF92EF92FF920F931F93A2 -:10D2F000CF93DF9300D01F92CDB7DEB760E070E030 -:10D30000CB010E941EDF16161706180619064CF4EC -:10D3100061E070E080E090E00E941EDFCB010E949F -:10D32000CCD820E030E0A9016AE0C62ED12CE12C57 -:10D33000F12C83E496E429833A834B835C830F9436 -:10D34000CF0729813A814B815C81892B91F383E45A -:10D3500096E40F94E8078C0129813A814B815C8126 -:10D360008D30910509F455C08A30910509F451C0FA -:10D37000FC01F097EA30F10580F4AAE0B0E00F94E8 -:10D38000CF179B01AC01CF01AA2797FDA095BA2F1B -:10D39000280F391F4A1F5B1F30C08D32910541F4A1 -:10D3A00050954095309521953F4F4F4F5F4F25C089 -:10D3B0008830910519F08F379105E9F42115310571 -:10D3C00041055105D1F0CA01B901A70196010F9499 -:10D3D000A31788E029833A834B835C830E9480D81B -:10D3E00080E20E9480D888E00E9480D829813A811A -:10D3F0004B815C8102C087E001C0802F29833A8382 -:10D400004B835C830E9480D829813A814B815C8167 -:10D4100090CF29833A834B835C830E94B7D92981BB -:10D420003A814B815C81CA01B9010F900F900F9036 -:10D430000F90DF91CF911F910F91FF90EF90DF90B0 -:10D44000CF900895CF93DF9300D01F92CDB7DEB772 -:10D4500083E496E40F94CF07892B79F083E496E474 -:10D460000F94E807039749F486E00E9403DA61E02D -:10D4700070E08CE391E30F94531DCE01815C9744DF -:10D48000C2971CF485E10E94BCDF0F900F900F90B3 -:10D490000F90DF91CF910895CF92DF92EF92FF929C -:10D4A000CF93DF9300D01F921F92CDB7DEB70E94BB -:10D4B00022EA8EB38039E1F4CE0101960E9431DB7D -:10D4C000C12CD12C760160E0CE0101960E94A4E629 -:10D4D0000E94EBDA0E94DFEE672B682B692BE9F0E4 -:10D4E0000E944CEA6B017C018EB3803A61F7D5C093 -:10D4F0008EB38F3801F50E94EBDA0E94DFEE672BC6 -:10D50000682B692B69F00E944CEA6B017C018EB399 -:10D51000823A09F0C2C00E94EBDA0E94D3E8BDC093 -:10D520000E94D3E88EB3823A09F00CC10E94EBDA74 -:10D530000E944CEA2CC08EB38B3791F40E94EBDA38 -:10D54000C12CD12C76018EB3882309F4ADC08EB3E3 -:10D55000803A09F4A9C08EB38D3709F0ABC0A4C0DE -:10D560008EB38F3979F40E94EBDA8EB3882321F0E1 -:10D570008EB38B3309F0A3C0C12CD12C760180EA85 -:10D580008EBB8BC08EB38E3929F40E9415F16B01CE -:10D590007C0183C08EB3843919F40E9487E4D2C021 -:10D5A0008EB3863979F40E94EBDA8EB3833A09F4AC -:10D5B0008BC08EB3843A09F487C08EB3853A09F0E4 -:10D5C000AFC082C08EB3883989F40E94EBDA8EB383 -:10D5D0008A3219F40E94AEE222C08EB38B3309F472 -:10D5E000A2C08EB3882309F49EC0A7C08EB385392C -:10D5F000C9F40E94EBDA8EB3833A29F48BE696E302 -:10D600000E947EE40CC08EB38A3219F40E9409E6AF -:10D6100006C08EB3803819F087E10E94B6DB0E9405 -:10D62000EBDA90C08EB38C3929F40E94EBDA0E94B9 -:10D6300038E588C08EB3893911F40E9469D78EB35A -:10D64000873929F40E94EBDA0E9467E57BC08EB32C -:10D650008A3929F40E94EBDA0E949FE573C08EB3E9 -:10D660008B3929F40E94EBDA0E94FCF06BC08EB378 -:10D670008D3929F40E94EBDA0E94BFEF63C08EB3AC -:10D680008B3309F45FC00E94B7EEC0908C36D09007 -:10D690008D36E0908E36F0908F368EB38B3309F056 -:10D6A00055C00E94EBDA52C08EB38D37B1F70E949D -:10D6B000EBDAF3CF0E944CEA6B017C0144CF0E946D -:10D6C000DFEE6B017C015BCF0E94EBDA8EB38C3214 -:10D6D000E9F46091913670919236809193369091F1 -:10D6E00094360E9404E00E94EBDA0E94DFEEC090C4 -:10D6F0008C36D0908D36E0908E36F0908F360E942A -:10D700008DDFDC01CB01B701A60107C040E050E08E -:10D71000BA0180919136909192360E94C3E212C074 -:10D7200087E10E94BADB8091B931882319F080919A -:10D73000B83106C00E94AEE205C00E94DFEE862F1F -:10D740000E94B6E2C12CD12C7601A7CFC701B60149 -:10D750000F900F900F900F900F90DF91CF91FF904F -:10D76000EF90DF90CF90089560E070E0CB012EB392 -:10D77000222331F02EB3203A19F00E944CEAF7CF61 -:10D780000895EF92FF920F931F93CF93DF93CDB73E -:10D79000DEB72D970FB6F894DEBF0FBECDBF8F83D7 -:10D7A000488759876A877B873D872C87CE010196FA -:10D7B0000E9431DB8EB38E836091913670919236E8 -:10D7C00080919336909194360E9404E0809199362E -:10D7D000811121C08CE391E30F94311D0197D9F49D -:10D7E0008091B931882321F08091B8310E94B6E24E -:10D7F0001092FC310E941EE01092993610929536DC -:10D800001092963610929736109298366FEF7FEFFF -:10D810008FEF9FEF22C02C853D85488559856A850D -:10D820007B858F810E945BE60E94EBDA0E94B4EB5D -:10D830007B018C0161E0CE0101960E94A4E68E81FD -:10D840008EBB0E948DDF60939136709392368093E9 -:10D85000933690939436B701C8012D960FB6F8947D -:10D86000DEBF0FBECDBFDF91CF911F910F91FF9013 -:10D87000EF900895CF93DF9300D01F921F92CDB702 -:10D88000DEB749835A836C837D838B830E94F1EEDC -:10D89000E0916736F09168362481358149815A815B -:10D8A0006C817D818B810E94C1EB6C837D838B8336 -:10D8B00099830E94A2DF6C817D818B8199810F9079 -:10D8C0000F900F900F900F90DF91CF910C9404E088 -:10D8D0000F931F93CF93DF9300D0CDB7DEB7109196 -:10D8E00091365091923680919336909194360EB342 -:10D8F00059838A839B830E94EBDA59818A819B81B9 -:10D90000033809F445C0F0F40A3209F490C150F428 -:10D91000063209F46DC1083209F429C1013209F057 -:10D9200098C154C10D3209F43CC118F40B32B9F25C -:10D9300090C10E3709F441C1013809F08AC1612F45 -:10D94000752F7EC1023909F4B4C078F40D3809F49A -:10D95000E2C020F40C3809F4C8C07BC10E3809F4C9 -:10D9600078C0013909F496C074C1033A09F47BC048 -:10D9700020F4013A09F4E7C06CC1043A09F47EC00E -:10D98000053A09F066C140E050E0BA0184E079C090 -:10D990008EB3012F10E08D3381F40E94EBDA0E94E8 -:10D9A000DFEEF801EE0FFF1FEE0FFF1FE350FE4CFE -:10D9B000608371838283938340C08EB38C38B9F4C3 -:10D9C000000F111F000F111F03501E4CF801608142 -:10D9D0007181828193810E9404E0F801408151812C -:10D9E000628173814F5F5F4F6F4F7F4F19C08EB35E -:10D9F0008D3819F5000F111F000F111F03501E4C19 -:10DA0000F80160817181828193810E9404E0F801B4 -:10DA100040815181628173814150510961097109CD -:10DA200040835183628373830F900F900F90DF9137 -:10DA3000CF911F910F910C94EBDAF801EE0FFF1FBD -:10DA4000EE0FFF1FE350FE4C608171818281938154 -:10DA5000F7C0812F0F900F900F90DF91CF911F9102 -:10DA60000F910C948BEF812F952F0E94CAE3AC018C -:10DA7000662757FD6095762F83E003C0412FBC01D8 -:10DA800082E00F900F900F90DF91CF911F910F9137 -:10DA90000C943AEC8EB38D3341F40E94EBDA0E9481 -:10DAA000DFEE812F0F94EF050EC0812F0F94CA0572 -:10DAB00016C08EB38D3381F40E94EBDA0E94DFEE44 -:10DAC000812F0F94420760918C3670918D36809132 -:10DAD0008E3690918F36B4C0812F0F947807BC0199 -:10DAE000882777FD8095982FABC08EB3833811F0CF -:10DAF0008DE044C0E091913684E0E89FF00111246C -:10DB0000E350FE4C60817181828193816F5F7F4F12 -:10DB10008F4F9F4F13C08EB3833851F7E0919136EA -:10DB200084E0E89FF0011124E350FE4C6081718194 -:10DB300082819381615071098109910960837183A8 -:10DB4000828393832BC08EB3883211F088E20DC09C -:10DB50000E94EBDA0E94DFEE0E941EDF0E9404E0CA -:10DB60008EB3893209F460CF89E20E94B1DB0E9452 -:10DB7000B7EE80919036813819F08EE00E94B6DBC6 -:10DB80008EB3893219F08FE00E9435DC60918C36BB -:10DB900070918D3680918E3690918F360E9404E080 -:10DBA00043CF0E9468EC0E948DDF90958095709520 -:10DBB00061957F4F8F4F9F4F43C00E9468EC0E943A -:10DBC0008DDF60957095809590953AC00E9468ECC5 -:10DBD0000E948DDF8B019C0161E070E080E090E0AD -:10DBE000012B022B032B61F160E070E0CB0128C018 -:10DBF0008EB3833879F46091913670919236660FC6 -:10DC0000771F660F771F63507E4C882777FD8095BE -:10DC1000982FC4CF8EB3833A09F06ACF60919136C2 -:10DC2000709192368091933690919436B7CF0E943E -:10DC300068EC0E948DDFFB01608170E080E090E085 -:10DC40000F900F900F90DF91CF911F910F910C9437 -:10DC500004E08EE00E94BADBCF93DF931F92CDB732 -:10DC6000DEB70E9468EC8EB38A3231F08EB38F3209 -:10DC700019F08EB3853251F48EB389830E94EBDAAA -:10DC80000E9468EC89810E9434E0EDCF0F90DF9113 -:10DC9000CF910895CF93DF931F92CDB7DEB70E9447 -:10DCA0002CEE8EB38B3219F08EB38D3251F48EB3CD -:10DCB00089830E94EBDA0E942CEE89810E9434E075 -:10DCC000F0CF0F90DF91CF910895CF93DF931F9204 -:10DCD000CDB7DEB70E944AEE8EB38B3819F08EB303 -:10DCE0008A3851F48EB389830E94EBDA0E944AEE9F -:10DCF00089810E9434E0F0CF0F90DF91CF91089599 -:10DD0000CF93DF931F92CDB7DEB70E9465EE0E94DE -:10DD10009CD7882351F08EB389830E94EBDA0E944E -:10DD200065EE89810E9434E0F2CF0F90DF91CF91B0 -:10DD30000895CF93DF931F92CDB7DEB70E9480EE98 -:10DD40008EB3863231F08EB38C3719F08EB38E35A8 -:10DD500051F48EB389830E94EBDA0E9480EE8981B0 -:10DD60000E9434E0EDCF0F90DF91CF910895CF93D3 -:10DD7000DF931F92CDB7DEB70E9499EE8EB386383F -:10DD8000A1F08EB3873889F081E8809390360E94A5 -:10DD90008DDF60938C3670938D3680938E369093A2 -:10DDA0008F360F90DF91CF9108958EB389830E94B3 -:10DDB000EBDA0E9499EE89810E9434E0DFCF0E9465 -:10DDC000B7EE80919036813819F08EE00E94B6DB74 -:10DDD00060918C3670918D3680918E3690918F3611 -:10DDE0000895EF92FF920F931F93CF93DF9360916B -:10DDF000673670916836882777FD8095982F0E9446 -:10DE000004E060E070E0CB010E9404E060916532C4 -:10DE100070916632882777FD8095982F0E9404E0E4 -:10DE20008BE696E30E94F7DFC091693684E0C89FD5 -:10DE3000E0011124C959DD4C60E070E0CB010E9483 -:10DE400004E08EB3883209F056C08E01EE24E394CC -:10DE5000F12C0E94EBDA8EB3893209F443C08EB301 -:10DE6000882309F43FC08EB3823209F04FC060911D -:10DE7000653270916632882777FD8095982F0E94D1 -:10DE800004E08CED9FED0E947FE880E00E94DCDFE3 -:10DE90000E94EBDAA701F801008002C0440F551F71 -:10DEA0000A94E2F7662757FD6095762F8885998555 -:10DEB000AA85BB85842B952BA62BB72B88879987A2 -:10DEC000AA87BB87F80180819181A281B3810196E5 -:10DED000A11DB11D80839183A283B3838EB38C3245 -:10DEE00009F4B7CF8EB3893219F40E94EBDA03C07C -:10DEF0008FE00E94B6DBD0936836C0936736DF911F -:10DF0000CF911F910F91FF90EF9008950E94DFEE47 -:10DF10000E9404E0D7CF0F931F93CF93DF9300D0DD -:10DF20001F92CDB7DEB787FF0AC08F7794E0899F35 -:10DF3000F0011124E656F94C0281138108C0E82F44 -:10DF4000F0E0EE0FFF1FE451F04D059114910E9497 -:10DF5000F1EEF801199569837A838B839C830E9483 -:10DF6000A2DF69817A818B819C810F900F900F9045 -:10DF70000F90DF91CF911F910F910C9404E00F93BC -:10DF8000CF93DF931F92CDB7DEB78EB3833281F488 -:10DF90000E94EBDA0E94DFEE9EB39A3319F08AE317 -:10DFA0000E94B1DB69830E94EBDA89810E9413DC55 -:10DFB0008EB3823229F480E898ED0E947FE828C071 -:10DFC0008EB38B33B1F18EB3882399F10E94B7EEF3 -:10DFD0008EB38A3301F50E94EBDA8EB3833809F0F1 -:10DFE00055C08091913690919236A0919336B09120 -:10DFF000943687319105A105B10519F560918C36EC -:10E0000070918D3680918E3690918F360E9422DBF2 -:10E010000E94EBDA0EC060918C3670918D36809143 -:10E020008E3690918F3600E020E030E0A9010E940A -:10E03000ADDA8EB38B3309F44FC08EB3811155C066 -:10E040004BC081309105A105B10559F460918C3622 -:10E0500070918D3680918E3690918F360E9418E1A6 -:10E06000D7CF88319105A105B10529F480918C366F -:10E070000E9480D8CDCF4297A105B10549F6809185 -:10E080008C3690918D360E94CCD8C2CF8EB381321F -:10E0900000F180918C3690918D36A0918E36B091A2 -:10E0A0008F36AC01BD01415051096109710940939E -:10E0B0008C3650938D3660938E3670938F3618164B -:10E0C00019061A061B060CF0A3CF8EB30E9480D847 -:10E0D000E0CF8BE00E94B6DB0E94B7D91092FC31F2 -:10E0E0000F90DF91CF910F9108958EB38C3209F08C -:10E0F0004CCF0E94EBDA8EB38B3381F38EB388233F -:10E1000069F380E20E9480D840CF0F931F93CF9392 -:10E11000CAE08091B8318F5F8A3018F48093B831AB -:10E1200002C01092B831E091B831F0E0EE0FFF1F5D -:10E13000EC55FE4C80819181019609F448C00F9402 -:10E140000605E091B831F0E0DF01AA0FBB1FAA0F6E -:10E15000BB1FAC5ABE4C0D911D912D913C91601B83 -:10E16000710B820B930B97FD32C081E08093B93124 -:10E17000EE0FFF1FEC55FE4C808191810E94CAE397 -:10E18000AC01662757FD6095762F20E030E083E0F4 -:10E190000E94C1EB0F9406052091B83144E0249F02 -:10E1A00090011124F901EC5AFE4CD901A458BE4C3F -:10E1B0000D911D912D913C91600F711F821F931F36 -:10E1C00060837183828393831092B93103C0C150FD -:10E1D00009F09FCFCF911F910F910895AC01662751 -:10E1E00057FD6095762F20E030E081E00C94C1EB84 -:10E1F00082E89AE20C94EEF00E94F8F088E290E354 -:10E200000E9498D889ED90E30E9498D889E10E94F5 -:10E21000B1D88AE291E30E9498D80E94B7D90E94AF -:10E22000E2D90E94B7D90C9438E5CF92DF92EF92F1 -:10E23000FF920F931F93CF93DF93CDB7DEB729974C -:10E240000FB6F894DEBF0FBECDBFC0909136D09010 -:10E250009236E0909336F09094360EB30E94EBDA4B -:10E260000E94DFEE80918C3690918D36A0918E3693 -:10E27000B0918F36B7FF08C010928C3610928D3651 -:10E2800010928E3610928F3610918C368EB38B375B -:10E2900019F08BE70E94B1DB0E94EBDA1123B1F099 -:10E2A0008EB381110FC060E0CE0101960E94A4E6FA -:10E2B0000EBBC0929136D0929236E0929336F09295 -:10E2C000943604C08EB38D37A1F4EDCF0E944CEA92 -:10E2D0002EB3222331F12EB32D3719F16E837F83B4 -:10E2E000888799870E94D3E86E817F818885998588 -:10E2F000EFCFCE0101960E9431DB0EB3C090913674 -:10E30000D0909236E0909336F09094360E94D3E805 -:10E310008EB3882319F28EB38D3709F4BFCF115015 -:10E32000BDCF2EB32D3751F46E837F8388879987B5 -:10E330000E94EBDA6E817F818885998529960FB6D8 -:10E34000F894DEBF0FBECDBFDF91CF911F910F912B -:10E35000FF90EF90DF90CF90089510928847109231 -:10E36000894710928547109284471092BB471092BC -:10E37000BA47EAE8F7E41192119287E4EA3AF8071B -:10E38000D1F70E949DFC0E9421F80E9408F30E9490 -:10E3900017F20E94C6F30E94EFFA0E9478F30C94E1 -:10E3A000AFF690938547809384470C949FFE90939B -:10E3B0008747809386470C948DFEE82FF0E0EE0FA0 -:10E3C000FF1FE657F84B71836083089581E0209129 -:10E3D000BA473091BB47232B09F480E008950C9491 -:10E3E000B9FE0C94C8FE0E947AF80E94BBFD0E9400 -:10E3F0003AF20C9446FBE091BD40F091BE4030975C -:10E40000A1F0228133812817390759F4DC01AD5777 -:10E41000BF4F2C91218B13962C91228B22E02483C9 -:10E4200004C00190F081E02DEACF0C9444F31092E7 -:10E43000BE401092BD400895FC011482118A1382DF -:10E4400012828091BA479091BB4701969093BB4747 -:10E450008093BA478091BD409091BE40009719F4D7 -:10E460001182108202C091838083F093BE40E093BA -:10E47000BD4008950F931F93CF93DF93E091BD406C -:10E48000F091BE40EF01209709F4BDC08C81882334 -:10E4900021F0823009F48DC0B2C00E9413F38C01C8 -:10E4A000009721F482E08C83898BADC09B838A83A3 -:10E4B00081E08C838BEF91EFF801E957FF4F918357 -:10E4C00080833197898582FB882780F980839985AD -:10E4D000F801838590FB80F98387998593FB9927C1 -:10E4E00090F990FB82F9838799859695917090FBBE -:10E4F00081F9838799859295917090FB83F9838741 -:10E50000D801AF57BF4F83FF23C0ED91FC91119706 -:10E510009A859F708181807F892B81839A859295CE -:10E52000907F8F70892B81839B859F708081807FF6 -:10E53000892B80839B859295907F8F70892B808318 -:10E5400032961196FC93EE93F80181818E5F818360 -:10E55000809188478F5F80938847F80184878091F6 -:10E56000844790918547968785878D819E81908B82 -:10E57000878798859F708189807F892B818B9F8178 -:10E580009295907F8F70892B818B4E8550E06C85A2 -:10E590007D858D919C910F94231EF80181819E852C -:10E5A000890F8183C801DF91CF911F910F910C9446 -:10E5B000CEFCEC17FD0739F4888199819093BE4019 -:10E5C0008093BD400BC0808191818C179D0711F015 -:10E5D000FC01F9CF88819981918380838091BA472A -:10E5E0009091BB4701979093BB478093BA47EF85C3 -:10E5F000F889CE01DF91CF911F910F911994099065 -:10E60000D881C02D40CFDF91CF911F910F910895F8 -:10E610001092BF40109248411092D14110925A423C -:10E620001092E3420895EFEBF0E480E090E0208167 -:10E63000211121C049E8489F9001499F300D1124C4 -:10E64000C90181549F4BFC0111924A95E9F740E1C1 -:10E65000FC014183EF57FF4F2F523F4B3183208303 -:10E660002091BA473091BB472F5F3F4F3093BB4754 -:10E670002093BA4708950196E757FF4F85309105DB -:10E68000B1F680E090E00895FC011082EAEBF7E437 -:10E69000808191810197918380830895009711F083 -:10E6A000FC0103C0EFEBF0E402C0E757FF4F83E447 -:10E6B000EC36F80728F480818823B9F3CF01089558 -:10E6C00080E090E00895FC01DC01AD57BF4F1C9243 -:10E6D000A8E8B7E48C918F5F8C93848780918447FE -:10E6E0009091854796878587838582608387089583 -:10E6F000ECE6F3E48FEF9FEF8193919323E4E43909 -:10E70000F207D1F70895ECE6F3E420E030E0419120 -:10E7100051914F3F5F4F49F4F901EE0FFF1FE4594C -:10E72000FC4B9183808381E008952F5F3F4F24311C -:10E73000310569F780E00895ECE6F3E420E030E08D -:10E74000419151918417950759F4F901EE0FFF1F7C -:10E75000E459FC4B8FEF9FEF9183808381E0089514 -:10E760002F5F3F4F2431310559F780E00895ECE6E3 -:10E77000F3E4219131918217930731F023E4E439D6 -:10E78000F207B9F780E0089581E00895E9E9F3E43C -:10E7900080E090E02FEF3FEF57E0DF0114972D93DB -:10E7A0003C93589FD001599FB00D1124AC56BC4BDF -:10E7B0004C914E7F4C93108201963796843191058F -:10E7C00061F70895CF93DF93A5E9B3E420E030E04B -:10E7D000C7E070E0ED91FC911197E817F90789F413 -:10E7E000C29FF001C39FF00D1124EC56FC4BD08169 -:10E7F000D1FB442740F950E04617570711F4CF01E9 -:10E8000008C02F5F3F4F17962431310519F780E07C -:10E8100090E0DF91CF910895E0E0F0E0A4E9B3E467 -:10E820008C9180FD0BC015968C911597882361F013 -:10E83000309719F09581891708F4FD01179684E443 -:10E84000A032B80769F701C0FD0180818D70806337 -:10E85000808380E88583CF010895FC01808180FD5D -:10E8600005C08FEF9FEF92838183158208950E94E8 -:10E87000E2F3009721F0FC018381948108958FEFEA -:10E880009FEF089584E993E40895EF92FF920F9328 -:10E890001F93CF93DF93EC01F62E8A01E22E0E94A4 -:10E8A000E2F3FC01009719F40E940CF4FC01D283FE -:10E8B000C183148303838081F0FA81F98F708063B0 -:10E8C000808380E88583E682DF91CF911F910F914D -:10E8D000FF90EF9008950E94E2F3009711F00C94DE -:10E8E0002DF408950895CF93DF93EC018F859889D7 -:10E8F0008F3F2FEF9207B1F16B8563FB662760F9BD -:10E900000E94E2F3FC01009769F1808180FD2AC03A -:10E91000CD57DF4F9881282F2F70911113C020639E -:10E92000208385818F5F85838F3FE1F4E9E9F3E4FC -:10E93000808186958F5F8083379684E4E532F8077F -:10E94000B9F710C082958F70815F8F70982F929564 -:10E95000907F922B9083811105C0CF01DF91CF91E1 -:10E960000C942DF4DF91CF910895CF93DF93EC01B8 -:10E970008F8598898F3F2FEF9207A1F02B8523FF7A -:10E980000CC00E94B7F3882341F08FEF9FEF988768 -:10E990008F838B8584608B8716C06B858F85988964 -:10E9A00062FF03C098878F830EC063FB662760F900 -:10E9B0000E9437F498878F83019629F4CE01DF9166 -:10E9C000CF910C94DAF6DF91CF910895BF92CF9258 -:10E9D000DF92EF92FF920F931F93CF93DF938C01FF -:10E9E000FC01B384B3FABB24B0F8C784D0886B2D84 -:10E9F000C6010E9437F40196A1F0F801E957FF4FD4 -:10EA000011821082319782E08083C801DF91CF911B -:10EA10001F910F91FF90EF90DF90CF90BF900C94DB -:10EA2000CEFCF801E584F6840E9413F3EC01009714 -:10EA3000D1F00E9463F389818A5F8983FE01E957DF -:10EA4000FF4F11821082F88AEF8636970190F0818D -:10EA5000E02D81E08083F282E182D482C382B5829C -:10EA6000CE010E94CEFCC801DF91CF911F910F9182 -:10EA7000FF90EF90DF90CF90BF900C9444F3DC01B7 -:10EA80001796ED91FC91189719968C91863039F470 -:10EA90006581838194810E946BF481E0089580E018 -:10EAA0000895CF93DF93EEE2F4E4A2E3B4E420E030 -:10EAB00030E0C185D285CD2BB1F0C081D181C8179E -:10EAC000D90789F4C281D381C617D70761F45C9155 -:10EAD000541309C04BE0429FC001439F900D112485 -:10EAE000825D9B4B09C02F5F3F4F3B961B962530A5 -:10EAF0003105F9F680E090E0DF91CF910895CF9352 -:10EB0000DF93E7E3F4E480E090E020813181232B80 -:10EB1000A9F42BE0289FE001299FD00D1124C25DAC -:10EB2000DB4B209791F01F82188688EE93E09A873E -:10EB3000898780E294E40F94BE0007C001963B965B -:10EB40008530910511F7C0E0D0E0CE01DF91CF9183 -:10EB500008958F929F92AF92BF92CF92DF92EF92E1 -:10EB6000FF920F931F93CF93DF935C010EE214E4A7 -:10EB7000E12CF12C912CF8012185328525363105C7 -:10EB800038F024563109328721879924939438C06C -:10EB9000F8011286118620813181809184479091FD -:10EBA00085472817390761F5C701825D9B4B6C01CA -:10EBB000FC018084C0E0D0E0CE010E944EF3EC0165 -:10EBC0000097F1F088818034B9F7F8012281338110 -:10EBD0008F8598892817390779F78B8583FB8827D4 -:10EBE00080F9F60194819813E7CF882021F0CE01B7 -:10EBF0000E94CEFCE1CF61E1CE010E948FFDDCCF0F -:10EC0000FBE0EF0EF11C055F1F4F87E3E816F104F0 -:10EC100009F0B1CF992079F0C501DF91CF911F9113 -:10EC20000F91FF90EF90DF90CF90BF90AF909F90AB -:10EC30008F900D94BE00DF91CF911F910F91FF90A7 -:10EC4000EF90DF90CF90BF90AF909F908F900895FE -:10EC5000FF920F931F93CF93DF938C01F62E0E94A8 -:10EC600013F3EC01009761F10E9463F38981895FDE -:10EC70008983FE01E957FF4F118210828B858460E2 -:10EC80008B878FEF9FEF988B8F8736970190F0815E -:10EC9000E02D82E08083D8018D919C911197928321 -:10ECA000818312968D919C911397948383831496FC -:10ECB0008C918583F682CE010E94CEFC81E001C05A -:10ECC00080E0DF91CF911F910F91FF900895EF9217 -:10ECD000FF920F931F93CF93DF938C01E62EF42EB8 -:10ECE0000E9413F3EC01009799F10E9463F389816C -:10ECF000885F8983FE01E957FF4F118210823197A7 -:10ED000084E08083D80115968D919C911697988BFD -:10ED10008F8735970190F081E02D83E080838D917E -:10ED20009C9111979283818312968D919C91139758 -:10ED30009483838314968C918583E682F782CE0137 -:10ED4000DF91CF911F910F91FF90EF900C94CEFC2B -:10ED5000DF91CF911F910F91FF90EF900895109246 -:10ED60003844109237441092434410924244109217 -:10ED70004E4410924D4410925944109258441092AF -:10ED800064441092634484E690E0A0E0B0E0809395 -:10ED9000264490932744A0932844B093294410928A -:10EDA0002B4410922A4489EA95EF90932D44809346 -:10EDB0002C440895CF93DF93EC014B8543FB44270C -:10EDC00040F96F85788980918447909185470E94AA -:10EDD00051F5892BE9F40E947FF50097F1F020911D -:10EDE000844730918547FC01318320832F85388902 -:10EDF000338322832B8523FB222720F924832FEFC3 -:10EE00003FEF368325836FEF0E9428F6882329F091 -:10EE100080E48883DF91CF91089561E1CE01DF9195 -:10EE2000CF910C948FFDAF92BF92CF92DF92EF9271 -:10EE3000FF920F931F93CF93DF936C01FC01C78167 -:10EE4000D0858185873009F062C08D81813031F4B1 -:10EE50008B819C810E94B7F3B82E01C0B12C4D81EB -:10EE60002091844730918547411107C08B819C8157 -:10EE70008217930711F4BB24B39489819A81821776 -:10EE8000930709F442C0B11002C037FD3EC0F6013D -:10EE9000E2842E81E29E700111246B817C810E94AC -:10EEA00051F58C01009729F0FC0187818F1530F016 -:10EEB0002CC00E947FF58C01009739F129813A819D -:10EEC000F801318320832B813C81338322838D8120 -:10EED0008483F60120813181F80136832583F7820E -:10EEE000BB2079F0F601408151812F2D60E08981AE -:10EEF0009A810E9445F44FEF6F2DC8010E9467F67A -:10EF000004C06F2DC8010E9428F681E001C080E096 -:10EF1000DF91CF911F910F91FF90EF90DF90CF90F5 -:10EF2000BF90AF900895EF92FF920F931F93CF93EE -:10EF3000DF937C01DC011796CD91DC91189719962F -:10EF40008C91883009F040C06B817C814D81898132 -:10EF50009A810E9451F58C01D7011A96FC91EF819C -:10EF60000097A1F18E81D80118969C911897981757 -:10EF700068F518968C9369817A8120918447309145 -:10EF800085478B819C81D7014D915C9162177307F6 -:10EF900029F42E816D810E9445F418C0FE9F7001F6 -:10EFA00011242F2D6D810E9445F4F8014581568171 -:10EFB000278160E089819A810E9445F44F2D6E81FE -:10EFC000C8010E9467F602C080E001C081E0DF91C5 -:10EFD000CF911F910F91FF90EF900895E8E7F4E42F -:10EFE00020E03081332319F03150308321E0359611 -:10EFF00035E4E237F307A9F721110D94BE00089517 -:10F00000DC0116962C91169721FF19C019962C91A8 -:10F0100019972223A1F01796ED91FC911897208162 -:10F02000213049F030F0223041F0233041F40C948B -:10F0300093F70C946DFD0C943FF50C9413F780E05E -:10F040000895E8E7F4E41082359685E4E237F8079E -:10F05000D1F784E690E0A0E0B0E080936B44909319 -:10F060006C44A0936D44B0936E441092704410921F -:10F070006F448EEE97EF909372448093714460E0FA -:10F0800078EF80E00C94DDF1CF93DF93EC01E88121 -:10F09000F9818181883801F580818F7D8134E1F4A7 -:10F0A0008A818031C8F00E9413F30097A9F020E212 -:10F0B000FC0120832A8121832B81ED57FF4F208380 -:10F0C0002C81319620834A8150E0688179810296B3 -:10F0D000DF91CF910D94231EDF91CF9108958093FE -:10F0E00073440895662311F022E201C024E2FC017A -:10F0F000208308953F924F925F926F927F928F92FA -:10F100009F92AF92BF92CF92DF92EF92FF920F93B6 -:10F110001F93CF93DF93CDB7DEB72C970FB6F8943C -:10F12000DEBF0FBECDBF00E010E094E2792E662472 -:10F13000639422E2B22E31E2A32E43E2942E52E0F7 -:10F14000852ECC24C394D12CC8010E944EF38C018F -:10F15000009709F42CC2D8018C91823209F4B8C00E -:10F1600048F4803281F0813279F760E0C8010E9472 -:10F17000FFFAEACF833209F47EC1843229F7C8014D -:10F180000E9444F3E1CFF80170824385842F897097 -:10F190008930D1F225813681878590892F3F3F4F75 -:10F1A00089F420918447309185472817390711F059 -:10F1B000019651F641FF03C0D801AC92C5CFF801CA -:10F1C000B082C2CF019611F440FDBECF209184479A -:10F1D00030918547D8011D968D919C911E972817D7 -:10F1E000390709F4B1CFC8010E9472F4E4E7F4E4EE -:10F1F00040E050E08481882309F44AC0D8011D967C -:10F200002D913C911E97808191812817390709F033 -:10F2100040C01C969C911C974281491B83814830B9 -:10F2200060F5282F30E0042E02C0359527950A940A -:10F23000E2F720FF19C02091844730918547179647 -:10F240008D919C9118972817390709F07DCF1B964F -:10F250006C911B9763FB662760F91F968D919C91BB -:10F2600050970E946BF470CF9601042E01C0220FBC -:10F270000A94EAF7822B838302C192834195042E7C -:10F2800001C0880F0A94EAF7816083838482F7C003 -:10F29000AF013596B5E4EE36FB0709F0ABCF41156B -:10F2A000510509F451CFF80185859685DA0111964B -:10F2B0009C938E93848512968C93129713966C92DE -:10F2C000139714968C9285E694E40F94BE00D7C0F1 -:10F2D00010927344D80151963C915197232F229557 -:10F2E0002F70E22FF0E0EE0FFF1FE657F84B019072 -:10F2F000F081E02D309709F45DC01D968D919C91B1 -:10F300001E979A8389831F964D915C9150975C83D9 -:10F310004B833F703D832E83AF57BF4F6D917C91E0 -:10F320007987688798012E5F3F4F261B370BD801DE -:10F3300011963C911197320F3A87AD57BF4F2C91E0 -:10F340002B8711962C912C87D8011B962C91622F1C -:10F35000637022FF02C030E201C030E0632B23FF64 -:10F3600002C030E401C030E0362B4F3F5F4F11F454 -:10F3700024E001C020E0432F422BD80119962D91A3 -:10F380003C911A978217930711F498E001C090E01E -:10F39000242F292BD80115968D919C9116970196B3 -:10F3A00011F480E101C080E0822B8F83CE010196B1 -:10F3B000199501C080E0F801938590FF80E0D801A5 -:10F3C00017964D915C91189720918447309185470D -:10F3D0004F3F5F4F41F4F8014785508924173507A7 -:10F3E00011F493FF81E0D80115964D915C91169729 -:10F3F0004F3F5F4F09F480E02F3F3F4FC9F1882313 -:10F40000B9F10E9413F37C01009791F10E9463F31C -:10F41000D70111968C9111978D5F11968C9311974E -:10F42000F701E957FF4F11821082F80193859695F5 -:10F4300091701B968C911B9790FB81F91B968C9376 -:10F440001B978585968550969C938E931F97F70101 -:10F45000EF57FF4F0190F081E02D108280917344AF -:10F460008283D8011C968C918183C7010E94CEFCB7 -:10F47000F801708269CEC8010E94E6F465CED80119 -:10F480001B964C911B971F968D919C91509743FF13 -:10F490005CC07801B1E8EB0EF11CF70140805180AF -:10F4A0000E94B7F3382ED80117962D913C911897EA -:10F4B0002F3F3F4F69F5F201818130813320B1F058 -:10F4C0008F7021E009F420E0815F8F70D2011196E6 -:10F4D0009C911197907F982B11969C931197832F55 -:10F4E00082958F70307F382B3C931EC03F7021E097 -:10F4F00009F420E0315F3F70F2019081907F932BFF -:10F500009083982F92959F70807F892B81830CC068 -:10F51000882341F0D8011B968C911B9784601B9621 -:10F520008C9304C0F80141C0222319F0C8010E9445 -:10F5300025FD332009F408CED7018D919C911197B8 -:10F5400002968D939C93F80122C0F80127813085A3 -:10F550002F3F3F4F61F42091844730918547281712 -:10F56000390729F042FD03C0C8010E9425FD8091A2 -:10F57000844790918547D8011F962D913C915097D3 -:10F58000F8018217930719F02F3F3F4F41F483850D -:10F5900081FF02C0A082D8CDD801BC92D5CD2781F1 -:10F5A00030858217930709F0CFCD9082CDCD2C9670 -:10F5B0000FB6F894DEBF0FBECDBFDF91CF911F9184 -:10F5C0000F91FF90EF90DF90CF90BF90AF909F9002 -:10F5D0008F907F906F905F904F903F900895109222 -:10F5E00083451092824510928145089520E1FC01E7 -:10F5F000AAEAB7E401900D922A95E1F708956623EF -:10F6000011F020E301C021E3FC01208380918345B8 -:10F610008F5F809383450895CF93DF93C091814599 -:10F62000D091824560917F4540918045342F413192 -:10F6300008F030E170917E458EE695E4FE01EF57CB -:10F64000FF4FA081B181A60FB11DFC012E2F281BF9 -:10F65000231768F420815C9125272D93772311F0DF -:10F66000208303C05081522750833196EFCF630F20 -:10F6700060937F45431B40938045442311F082E310 -:10F6800001C084E38883DF91CF9108950F931F9386 -:10F6900080918345882309F4E7C08091814590914A -:10F6A0008245009709F46FC0FC012081243309F0E2 -:10F6B0005CC020917F45EF57FF4F0190F081E02D16 -:10F6C000E20FF11D40917245509173456091744570 -:10F6D0007091754500916E4510916F452091704570 -:10F6E0003091714540275127622773270091764555 -:10F6F00010917745209178453091794540275127E1 -:10F700006227732700917A4510917B4520917C45B3 -:10F7100030917D45402751276227732720917E45F0 -:10F72000222359F04083518362837383FC0121813A -:10F730002C5F21830E9496FD0EC0A1E00081118103 -:10F7400022813381401751076207730709F0A0E057 -:10F750006A2F0E9472F81092824510928145809122 -:10F7600083458150809383457FC0223309F07CC05C -:10F7700023E3FC0120836AEA77E48EE695E41F9197 -:10F780000F910D941100E0E0F0E0CF010E944EF3E4 -:10F79000FC01009709F468C0808190ED980F9230C9 -:10F7A000A0F7F0938245E0938145448550E060E006 -:10F7B00070E040936E4550936F4560937045709331 -:10F7C00071454785508960E070E0BA0155274427AC -:10F7D000918992959F70492B409372455093734540 -:10F7E00060937445709375454585568560E070E07B -:10F7F000BA015527442791899F70492B409376453C -:10F80000509377456093784570937945938545810A -:10F81000568160E070E0BA0155274427492B409398 -:10F820007A4550937B4560937C4570937D45813349 -:10F8300019F49181945091839F012E5F3F4FDF0116 -:10F84000AF57BF4F4D915C91241B350B9181920FA7 -:10F850009093804510927F4591E0803309F090E0CD -:10F8600090937E4582E380831F910F9108950F93BB -:10F870001F93CF93DF93EC0110E0E0E0F0E003E1B1 -:10F88000CF010E944EF3FC01009791F080818131FD -:10F89000B9F7DF01AC57BF4F2D913C911197215023 -:10F8A00031092D933C93232B09F4008311E0E8CF19 -:10F8B000112339F0CE01DF91CF911F910F910D945B -:10F8C000BE00DF91CF911F910F910895FF920F938A -:10F8D0001F93CF93DF93EC0110E0E0E0F0E007E14D -:10F8E00080E1F82ECF010E944EF3FC010097A9F0B1 -:10F8F00080818631B9F7DF01AC57BF4F2D913C9124 -:10F9000011972150310911963C932E93232B19F412 -:10F9100000831197FC9211E0E5CF112341F0CE0155 -:10F92000DF91CF911F910F91FF900D94BE00DF9159 -:10F93000CF911F910F91FF9008951092A1451092C1 -:10F94000A04582E390E0A0E0B0E0809398459093DA -:10F950009945A0939A45B0939B4510929D4510926E -:10F960009C4586E69CEF90939F4580939E458AE058 -:10F9700090E0A0E0B0E080938A4590938B45A093FF -:10F980008C45B0938D4510928F4510928E4587E33C -:10F990009CEF909391458093904508950F931F930A -:10F9A000CF93DF93EC01FC01EA57FF4F208121FF49 -:10F9B00002C082E104C08B8581FFFBCF80E1888398 -:10F9C000FE01ED57FF4F108220FF03C08FEF9FEF26 -:10F9D00004C080918647909187479E838D832570D0 -:10F9E00021F4CE010E94B5F404C08F8598899887D0 -:10F9F0008F8380918447909185479A8789878091EA -:10FA000089478F5F809389478C838F8198858E018A -:10FA10000C571F4F019669F481E498E89B838A8311 -:10FA20000F94A31A877099270196F8019183808318 -:10FA300007C081E698E89B838A83F80111821082CF -:10FA4000DF91CF911F910F9108950F931F93CF9343 -:10FA5000DF938C010E9413F3EC010097C9F182E15E -:10FA60008883F80181818983FE01ED57FF4F108261 -:10FA70000F94A31AFE01EC57FF4F87709927019648 -:10FA800091838083339611821082F801418150E086 -:10FA9000B8016E5F7F4FCE0102960F94231E81E462 -:10FAA00098E89B838A838FEF9FEF98878F83F80175 -:10FAB000858196819E838D8380918447909185472F -:10FAC0009A878987809189478F5F809389478C8344 -:10FAD000DF91CF911F910F910895CF93DF93FC0198 -:10FAE000C781D0858185833011F080E015C080E02A -:10FAF00090E00E944EF30097C1F3FC012081263173 -:10FB0000C1F7348529813213F4CF27E120832A817C -:10FB1000EA57FF4F208381E0DF91CF91089527E1DD -:10FB2000FC012083ED57FF4F6083089522E1FC0123 -:10FB300020830895A091A045B091A145833030F471 -:10FB4000E82FF0E0E757F54D808101C081E0FD012D -:10FB5000ED57FF4F808385E18C931092A145109261 -:10FB6000A0458091BA479091BB4701979093BB47BE -:10FB70008093BA470895BF92CF92DF92EF92FF929F -:10FB80000F931F93CF93DF93C0E0D0E094E1E92E71 -:10FB900027E1F22E36E1D32E05E110E043E1C42E39 -:10FBA00051E1B52ECE010E944EF3EC01009709F40D -:10FBB00069C088818331F1F028F4803149F08231C5 -:10FBC00061F0F0CF853181F1873109F44AC0EACF85 -:10FBD00061E0CE010E94FFFAE5CFFE01EC57FF4F36 -:10FBE00080819181892B21F0B88284E895E434C02A -:10FBF000C882D8CF8091A0459091A145892B91F6DC -:10FC0000D093A145C093A045E8826981CE010296B8 -:10FC10000E94D6FE8091BA479091BB47019690937F -:10FC2000BB478093BA47BECFFE01ED57FF4F80819F -:10FC3000811115C02D853E8580918447909185471F -:10FC40002817390761F48B8580FF09C0D882319667 -:10FC50001183008382E995E40F94BE00A3CFF8825C -:10FC6000A1CFCE010E9473F4FE01E957FF4F01902E -:10FC7000F081E02DCE01309719F40E9444F392CF29 -:10FC8000199590CFDF91CF911F910F91FF90EF9039 -:10FC9000DF90CF90BF9008959091A2459F70809182 -:10FCA0005401807F892B809354019091A2458091CB -:10FCB000A345992319F0809353010895982F9F71BC -:10FCC00080914801807E892B80934801089593E0BC -:10FCD00090934201909141019F719830D9F78093A0 -:10FCE0004201909141019F718913FBCF089588E0F3 -:10FCF0000E9467FE8FEF80934F018091A445882377 -:10FD000019F086E10C9467FE08958093A4450C9445 -:10FD100077FE8093A3450C944CFECF93DF931F9204 -:10FD20001F92CDB7DEB79A838983809362018A815F -:10FD3000809363010F900F90DF91CF910895CF933F -:10FD4000DF931F921F92CDB7DEB79A83898380938A -:10FD500060018A81809361010F900F90DF91CF91B4 -:10FD600008958F70E5E4F1E09081907F982B908367 -:10FD7000089588E00E9467FEE9E3F1E080818260F7 -:10FD8000808382E090E090932646809325460895F4 -:10FD9000E9E3F1E080818D7F80830E9477FE81E03E -:10FDA00090E0909326468093254608951F93CF9325 -:10FDB000DF931F921F92CDB7DEB7182F89E16983B9 -:10FDC0009A830E9467FE8FEF80934F01698182E0E2 -:10FDD000860F80938001212FE12F9A81F92FA1E8CE -:10FDE000B1E08E2F821B861718F481918D93F9CF85 -:10FDF00083E090E0909326468093254682E08093AE -:10FE000042010F900F90DF91CF911F9108950F93B2 -:10FE10001F93CF93DF931092560186E00E9467FEF6 -:10FE2000C0E0D0E000E010E061E070E080E090E051 -:10FE30000F9435058091460182958695837090E0F8 -:10FE40000C2E02C0880F991F0A94E2F7082B192B79 -:10FE50002296C031D10541F788E00E9467FE8BEE03 -:10FE6000809356010E9477FEC801DF91CF911F91C8 -:10FE70000F910895E9E3F1E0808181608083109221 -:10FE8000A4451092A24581E090E09093264680938D -:10FE9000254688E00E9467FE8BEE80935601ECE4D5 -:10FEA000F1E08081806880830E9407FF80936D016C -:10FEB000089520E1FB013191BF0130933F012150B2 -:10FEC000C9F710923C01FC0120E1319130933E01D1 -:10FED0002150D9F720913C01206820933C012091CA -:10FEE0003D0120FFFCCFFC0180E190913E01919308 -:10FEF0008150D9F70895CF93DF9300D000D0CDB7CC -:10FF0000DEB78091254690912646029709F474C089 -:10FF100080914F0183FF47C050917B0140E0252F26 -:10FF200030E0842F90E02817390754F0FC01E058A6 -:10FF3000FE4F6081FC01EB55FA4B60834F5FF1CFC0 -:10FF400085EA95E49A83898352505B83F901EB55E6 -:10FF5000FA4B80818C83809147018A558D8380EC98 -:10FF600099EA892B29F4CE0101960E9444F806C033 -:10FF7000CE0101960E94C0A98823A9F38091410176 -:10FF80008F718631D9F780914F01886080934F013E -:10FF900080914C018F7780934C0180914C01806857 -:10FFA00080934C0129C080914F0186FF25C080912C -:10FFB00041018F718931D9F48091420182958695F2 -:10FFC000877049F0833021F0853021F482E003C04E -:10FFD00081E001C083E08E830E9477FE21E030E063 -:10FFE00030932646209325468E810E949AFD80916B -:10FFF0004F01806480934F0126960FB6F894DEBFC0 -:020000022000DC -:100000000FBECDBFDF91CF9108950F9471000E9474 -:100010003AFF0C94ADF10E947BFF0E94F3F10D9426 -:10002000CD000E9459FF0C940CFB0F931F93CF93AC -:10003000DF93FC018091284690912946B681A781E3 -:10004000308521850097F1F14B2F5A2F632F722FA6 -:10005000DC01D0E0C0E012960D911D912D913C91F4 -:100060001597401751076207730768F4041B150BB7 -:10007000260B370B12960D931D932D933C931597DA -:10008000AD2FBC2F0EC0401B510B620B730B2D917B -:100090003C9111972115310521F0DA2FCB2FD90191 -:1000A000DACF4283538364837583109741F08D9137 -:1000B0009C91119791838083ED93FC930DC0918364 -:1000C000808306C011821082B283A3833483258388 -:1000D000F0932946E0932846DF91CF911F910F912D -:1000E000089510922946109228460895CF93DF93E1 -:1000F000E0912846F0912946A0E0B0E0309751F118 -:10010000E817F90711F520813181109719F02D9327 -:100110003C9304C030932946209328460190F081F7 -:10012000E02D3097B9F04281538164817581EC01F3 -:100130008A819B81AC81BD81480F591F6A1F7B1F3B -:10014000428353836483758305C0DF010190F0818E -:10015000E02DD4CFDF91CF910895E0912846F09122 -:100160002946309739F0E817F90731F00190F0810E -:10017000E02DF7CF80E0089581E00895CF93DF93DD -:10018000EC010F94AD00811105C0CE01DF91CF913C -:100190000D941500DF91CF910895CF92DF92EF92E9 -:1001A000FF92CF93DF930F94060520912746C22E2E -:1001B000D12CE12CF12C6C157D058E059F05C1F12C -:1001C0000F94060580912746C62EC81AD12CE12C23 -:1001D000F12C60932746C0912846D091294620975C -:1001E00039F14A815B816C817D81C416D506E606B2 -:1001F000F706B0F0C41AD50AE60AF70A8881998191 -:1002000090932946809328468A859B85019719F407 -:10021000CE010F941500EC85FD85CE011995DBCF3D -:100220004C195D096E097F094A835B836C837D836A -:10023000DF91CF91FF90EF90DF90CF9008950F93D3 -:100240001F93CF93DF93EC018B019A01009791F0FC -:10025000FC0101900020E9F7BF0161507109681BA2 -:10026000790BA8010F94D501892B39F0F80111827F -:10027000108203C080E090E001C0CE01DF91CF91F9 -:100280001F910F910895CF93DF93EA01880F991F73 -:10029000C80FD91FEA81FB81E60FF71F888199817A -:1002A000E80FF91F1082E881F981E60FF71FDF01DF -:1002B0004AE02C912223A1F02C3571F411963C9147 -:1002C0001197CD0101963E3611F4408303C03232BE -:1002D00019F43083DC0101C0208311963196E9CFF7 -:1002E000108288819981860F971FDF91CF910895A1 -:1002F000AF92BF92CF92DF92EF92FF920F931F9334 -:10030000CF93DF937C015B01009749F16115710583 -:1003100031F1FC0101900020E9F78F010150110932 -:10032000081B190BEA01C12CD12C68817981611558 -:100330007105A9F08A819B810817190759F46A0D84 -:100340007B1DA801C7010F94741E892B19F4C601E7 -:10035000029607C0F4E0CF0ED11C2896E6CF80E0CD -:1003600090E0DF91CF911F910F91FF90EF90DF9080 -:10037000CF90BF90AF9008950F931F93CF93DF93CB -:10038000EB018A010F947801009741F0A801BE01AA -:10039000DF91CF911F910F910D94430180E090E088 -:1003A000DF91CF911F910F9108954F925F926F92BD -:1003B0007F928F929F92AF92BF92CF92DF92EF92F5 -:1003C000FF920F931F93CF93DF937901680F791FEB -:1003D000EE0CFF1CE40EF51E5C018C01C0E54C2EFA -:1003E000CAE05C2E20E030E0612C712CC0E0D0E04F -:1003F00006171707F0F44E155F0508F5D5019D9017 -:100400005D016201C90CD11CC90CD11CF601C08070 -:10041000D1804801881A990AF6011994B1E06B1647 -:100420007104B1F1A0E54A2EA8E05A2E0F5F1F4FCC -:10043000DFCF4E155F0518F4DA011D921C92C3013F -:1004400091C081E090E08EC0B1E06B16710441F480 -:10045000E801C81BD90BFA01D183C0834E5F5F4FFF -:10046000FFEF6F1A7F0AE2CFA1E06A1A7108B1E0CC -:100470006B167104D9F6C80FD91FF801EC1BFD0BE0 -:10048000EF012196DA01CD93DC934E5F5F4FCECF23 -:10049000FA01E501C81BD90BD183C0834E5F5F4FC2 -:1004A000C1CFE1E06E16710459F4F801E81BF90BB5 -:1004B000EC1BFD0BEA01F983E8834E5F5F4FEF0110 -:1004C000F0E54F2EFAE05F2EB1CFE0E54E2EE6E0EC -:1004D0005E2EACCFA7CFF1E06F16710441F4FA01A4 -:1004E000E801C81BD90BD183C0834E5F5F4FB0E5D5 -:1004F0004B2EB4E05B2E9ACFA1E06A16710449F44A -:10050000FA01D401AC1BBD0BED01B183A0834E5F9A -:100510005F4FF801C080F0E54F2EFAE05F2ED12C3E -:10052000CC0CDD1CD601A05BB54FCD90DC9074CF18 -:10053000E0E54E2EE2E05E2E21E030E077CF30E5C0 -:10054000432E32E0532E22E030E070CF20E5422EE1 -:1005500022E0522E23E030E069CF2150310909F426 -:1005600061CF64CFDF91CF911F910F91FF90EF90FA -:10057000DF90CF90BF90AF909F908F907F906F90C3 -:100580005F904F900895883008F06DC0E82FF0E03C -:10059000EE0FFF1FE65DF94B7183608390E0FC0175 -:1005A0003197E730F10590F5ED53FF4F0D94C217E9 -:1005B000809169008C7F842B80936900E89A08956C -:1005C00080916900440F551F440F551F837F842B72 -:1005D00080936900E99A08958091690074E0440F5E -:1005E000551F7A95E1F78F7C842B80936900EA9AF6 -:1005F00008958091690066E0440F551F6A95E1F700 -:100600008F73842B80936900EB9A089580916A0020 -:100610008C7F842B80936A00EC9A089580916A0005 -:10062000440F551F440F551F837F842B80936A000E -:10063000ED9A089580916A0024E0440F551F2A9591 -:10064000E1F78F7C842B80936A00EE9A0895809165 -:100650006A0096E0440F551F9A95E1F78F73842B3B -:1006600080936A00EF9A08951F920F920FB60F922F -:1006700011240BB60F922F933F934F935F936F9379 -:100680007F938F939F93AF93BF93EF93FF9380914B -:100690002E4690912F46892B29F0E0912E46F0911D -:1006A0002F461995FF91EF91BF91AF919F918F9137 -:1006B0007F916F915F914F913F912F910F900BBE62 -:1006C0000F900FBE0F901F9018951F920F920FB6AC -:1006D0000F9211240BB60F922F933F934F935F937A -:1006E0006F937F938F939F93AF93BF93EF93FF93FA -:1006F0008091304690913146892B29F0E091304627 -:10070000F09131461995FF91EF91BF91AF919F9173 -:100710008F917F916F915F914F913F912F910F90AA -:100720000BBE0F900FBE0F901F9018951F920F9247 -:100730000FB60F9211240BB60F922F933F934F9346 -:100740005F936F937F938F939F93AF93BF93EF9339 -:10075000FF938091324690913346892B29F0E091A6 -:100760003246F09133461995FF91EF91BF91AF91C9 -:100770009F918F917F916F915F914F913F912F91B9 -:100780000F900BBE0F900FBE0F901F9018951F92E9 -:100790000F920FB60F9211240BB60F922F933F9327 -:1007A0004F935F936F937F938F939F93AF93BF9379 -:1007B000EF93FF938091344690913546892B29F031 -:1007C000E0913446F09135461995FF91EF91BF9134 -:1007D000AF919F918F917F916F915F914F913F91D9 -:1007E0002F910F900BBE0F900FBE0F901F9018957A -:1007F0001F920F920FB60F9211240BB60F922F93E8 -:100800003F934F935F936F937F938F939F93AF9398 -:10081000BF93EF93FF9380912A4690912B46892BAB -:1008200029F0E0912A46F0912B461995FF91EF911E -:10083000BF91AF919F918F917F916F915F914F91F8 -:100840003F912F910F900BBE0F900FBE0F901F90F6 -:1008500018951F920F920FB60F9211240BB60F929C -:100860002F933F934F935F936F937F938F939F93B8 -:10087000AF93BF93EF93FF9380912C4690912D46B9 -:10088000892B29F0E0912C46F0912D461995FF9186 -:10089000EF91BF91AF919F918F917F916F915F91F8 -:1008A0004F913F912F910F900BBE0F900FBE0F9065 -:1008B0001F9018951F920F920FB60F9211240BB62E -:1008C0000F922F933F934F935F936F937F938F93E9 -:1008D0009F93AF93BF93EF93FF9380913646909190 -:1008E0003746892B29F0E0913646F0913746199525 -:1008F000FF91EF91BF91AF919F918F917F916F91F8 -:100900005F914F913F912F910F900BBE0F900FBEB3 -:100910000F901F9018951F920F920FB60F921124EF -:100920000BB60F922F933F934F935F936F937F93E9 -:100930008F939F93AF93BF93EF93FF93809138462C -:1009400090913946892B29F0E0913846F09139464B -:100950001995FF91EF91BF91AF919F918F917F91E9 -:100960006F915F914F913F912F910F900BBE0F9020 -:100970000FBE0F901F9018951F920F920FB60F92F7 -:1009800011242F933F938F939F93AF93BF938091A5 -:100990003B4690913C46A0913D46B0913E463091F9 -:1009A0003A4623E0230F2D3720F40196A11DB11DF7 -:1009B00005C026E8230F0296A11DB11D20933A46DB -:1009C00080933B4690933C46A0933D46B0933E4671 -:1009D00080913F4690914046A0914146B091424659 -:1009E0000196A11DB11D80933F4690934046A09370 -:1009F0004146B0934246BF91AF919F918F913F91F5 -:100A00002F910F900FBE0F901F9018952FB7F8944D -:100A100060913B4670913C4680913D4690913E46A8 -:100A20002FBF08953FB7F89480913F46909140467C -:100A3000A0914146B091424626B5A89B05C02F3FE4 -:100A400019F00196A11DB11D3FBF6627782F892F90 -:100A50009A2F620F711D811D911D42E0660F771F55 -:100A6000881F991F4A95D1F70895CF92DF92EF9290 -:100A7000FF92CF93DF936B017C010F941205EB0182 -:100A8000C114D104E104F10489F00F943C130F94D4 -:100A900012056C1B7D0B683E734090F381E0C81A11 -:100AA000D108E108F108C851DC4FEACFDF91CF91BE -:100AB000FF90EF90DF90CF9008958230910538F04D -:100AC000880F991F880F991F05970197F1F70895CF -:100AD000789484B5826084BD84B5816084BD85B519 -:100AE000826085BD85B5816085BDEEE6F0E08081E0 -:100AF00081608083E1E8F0E0108280818260808301 -:100B0000808181608083E0E8F0E080818160808383 -:100B1000E1EBF0E0808184608083E0EBF0E08081B5 -:100B200081608083E1E9F0E0808182608083808160 -:100B300081608083E0E9F0E0808181608083E1EA88 -:100B4000F0E0808182608083808181608083E0EA40 -:100B5000F0E0808181608083E1E2F1E08081826069 -:100B60008083808181608083E0E2F1E08081816028 -:100B70008083EAE7F0E08081846080838081826006 -:100B800080838081816080838081806880831092EF -:100B9000C10008958E3008F08E5020917B00982F70 -:100BA0009870277F922B90937B0087702091500C38 -:100BB00090E4299F90011124822B80937C008091E6 -:100BC0007A00806480937A0080917A0086FDFCCF61 -:100BD000809178002091790090E0922B08951F93E6 -:100BE000CF93DF93182FEB0161E00F940907209753 -:100BF00011F460E004C0CF3FD10539F461E0812FEA -:100C0000DF91CF911F910D944207E12FF0E0EE5359 -:100C1000FE4C449150E0FA013197E231F10508F0C1 -:100C20009BC0E653FF4F0D94C21784B5806884BD06 -:100C3000C7BD97C084B5806284BDC8BD92C0809195 -:100C40008000806880938000D0938900C0938800E2 -:100C500088C080918000806280938000D0938B0058 -:100C6000C0938A007EC0809180008860809380005D -:100C7000D0938D00C0938C0074C08091B0008068C8 -:100C80008093B000C093B3006CC08091B0008062CC -:100C90008093B000C093B40064C0809190008068DD -:100CA00080939000D0939900C09398005AC080918F -:100CB0009000806280939000D0939B00C0939A0034 -:100CC00050C080919000886080939000D0939D00E8 -:100CD000C0939C0046C08091A00080688093A000D3 -:100CE0008091A0008F7B8093A000D093A900C09337 -:100CF000A80037C08091A00080628093A000D093AC -:100D0000AB00C093AA002DC08091A00088608093A2 -:100D1000A000D093AD00C093AC0023C0809120010F -:100D2000806880932001D0932901C093280119C0C5 -:100D300080912001806280932001D0932B01C09389 -:100D40002A010FC080912001886080932001D093F8 -:100D50002D01C0932C0105C0C038D1050CF04ECF39 -:100D600048CFDF91CF911F91089590E0FC0131971A -:100D7000E231F10508F04CC0E452FF4F0D94C21768 -:100D8000809180008F7703C0809180008F7D809359 -:100D90008000089580918000877FF9CF84B58F7798 -:100DA00002C084B58F7D84BD08958091B0008F7797 -:100DB00003C08091B0008F7D8093B0000895809132 -:100DC00090008F7707C0809190008F7D03C0809145 -:100DD0009000877F8093900008958091A0008F7786 -:100DE00007C08091A0008F7D03C08091A000877F05 -:100DF0008093A0000895809120018F7707C0809193 -:100E000020018F7D03C080912001877F8093200186 -:100E10000895CF93DF9390E0FC01EE51FE4C2491B6 -:100E2000FC01EE5FFD4C8491882349F190E0880F2E -:100E3000991FFC01EA5AFD4CA591B491845C9D4C2C -:100E4000FC01C591D4919FB7611108C0F8948C91B1 -:100E5000209582238C93888182230AC0623051F4CA -:100E6000F8948C91322F309583238C938881822B38 -:100E7000888304C0F8948C91822B8C939FBFDF9160 -:100E8000CF9108950F931F93CF93DF931F92CDB708 -:100E9000DEB7282F30E0F901EE53FE4C8491F901C2 -:100EA000EE51FE4C1491F901EE5FFD4C04910023CC -:100EB000C9F0882321F069830F94B5066981E02F7A -:100EC000F0E0EE0FFF1FE45CFD4CA591B4919FB7DD -:100ED000F8948C91611103C01095812301C0812B7E -:100EE0008C939FBF0F90DF91CF911F910F91089529 -:100EF000CF93DF93282F30E0F901EE53FE4C84911D -:100F0000F901EE51FE4CD491F901EE5FFD4CC49114 -:100F1000CC2391F081110F94B506EC2FF0E0EE0F89 -:100F2000FF1FEE5DFD4CA591B4912C912D2381E026 -:100F300090E021F480E002C080E090E0DF91CF916A -:100F400008950F931F93762F90E0FC01EE51FE4C15 -:100F50006491FC01EE5FFD4CE4917111762FF0E09D -:100F6000EE0FFF1FEE5DFD4C8591949189019A0172 -:100F70003F70472F0E94AC196115710581059105DD -:100F800031F06F5F7F4F8F4F9F4F9F7003C060E0C6 -:100F900070E0CB011F910F9108950F940A1DFC0181 -:100FA000818D228D90E0805C9F4F821B91098F7311 -:100FB00099270895FC01918D828D981731F0828DCB -:100FC000E80FF11D858D90E008958FEF9FEF089554 -:100FD000FC01918D828D981761F0828DDF01A80F41 -:100FE000B11D5D968C91928D9F5F9F73928F90E063 -:100FF00008958FEF9FEF089589E194E0892B41F0E8 -:1010000080E090E0892B21F00F94850981110DC0BB -:101010008BEA91E0892B71F080E090E0892B51F010 -:101020000F94320A811104C008950E940000F0CF8D -:101030000C9400000895FC01848DDF01A80FB11D00 -:10104000A35ABF4F2C91848D90E001968F739927FE -:10105000848FA689B7892C93A089B1898C918064EB -:101060008C93938D848D981306C00288F389E02DAC -:1010700080818F7D80830895CF93DF93EC01888DED -:101080008823C9F0EA89FB89808185FD05C0A8898C -:10109000B9898C9186FD0FC00FB607FCF5CF808112 -:1010A00085FFF2CFA889B9898C9185FFEDCFCE015C -:1010B0000F941B08E7CFDF91CF910895CF92DF9275 -:1010C000FF920F931F93CF93DF931F92CDB7DEB79D -:1010D0006C0181E0D60158968C9358975B969C9151 -:1010E0005B975C968C915C97981307C05096ED9136 -:1010F000FC915197808185FD2EC0F601038D10E093 -:101100000F5F1F4F0F731127F02EF601848DF81219 -:1011100011C00FB607FCF9CFD6015096ED91FC91A6 -:101120005197808185FFF1CFC60169830F941B0819 -:101130006981EBCF838DE80FF11DE35AFF4F608388 -:10114000D6015B960C935B975296ED91FC91539769 -:10115000808180620CC0D6015696ED91FC91579724 -:1011600060835096ED91FC915197808180648083DB -:1011700081E090E00F90DF91CF911F910F91FF9050 -:10118000DF90CF900895BF92CF92DF92EF92FF92BF -:10119000CF93DF93EC016A017B01B22EE889F989D4 -:1011A00082E08083411581EE580761057105A1F049 -:1011B00060E079E08DE390E0A70196010F9481173C -:1011C0002150310941095109569547953795279581 -:1011D000211580E1380798F0E889F989108260E8E4 -:1011E00074E88EE190E0A70196010F9481172150D9 -:1011F0003109410951095695479537952795EC8551 -:10120000FD853083EE85FF852083188EEC89FD896E -:10121000B082EA89FB89808180618083EA89FB89C9 -:10122000808188608083EA89FB89808180688083EF -:10123000EA89FB8980818F7D8083DF91CF91FF9048 -:10124000EF90DF90CF90BF9008951F920F920FB64E -:101250000F9211240BB60F922F938F939F93EF93BE -:10126000FF93E0915346F09154468081E0915946B6 -:10127000F0915A4682FD12C0908180915C468F5F4A -:101280008F7320915D46821751F0E0915C46F0E04B -:10129000ED5BF94B958F80935C4601C08081FF9197 -:1012A000EF919F918F912F910F900BBE0F900FBEDA -:1012B0000F901F9018951F920F920FB60F92112446 -:1012C0000BB60F922F933F934F935F936F937F9340 -:1012D0008F939F93AF93BF93EF93FF9383E496E431 -:1012E0000F941B08FF91EF91BF91AF919F918F9148 -:1012F0007F916F915F914F913F912F910F900BBE16 -:101300000F900FBE0F901F90189583E496E40F94F2 -:10131000CF0721E0892B09F420E0822F0895109255 -:1013200046461092454688EE93E0A0E0B0E08093F8 -:10133000474690934846A0934946B0934A4680E971 -:101340009AE2909344468093434685EC90E09093D4 -:10135000504680934F4684EC90E0909352468093A1 -:10136000514680EC90E0909354468093534681EC34 -:1013700090E0909356468093554682EC90E090938F -:1013800058468093574686EC90E090935A46809357 -:10139000594610925C4610925D4610925E4610923D -:1013A0005F4608951F920F920FB60F9211240BB64D -:1013B0000F922F938F939F93EF93FF93E091F046BB -:1013C000F091F1468081E091F646F091F74682FD7A -:1013D00012C090818091F9468F5F8F732091FA46F9 -:1013E000821751F0E091F946F0E0E052F94B958F09 -:1013F0008093F94601C08081FF91EF919F918F9179 -:101400002F910F900BBE0F900FBE0F901F9018954D -:101410001F920F920FB60F9211240BB60F922F93BB -:101420003F934F935F936F937F938F939F93AF936C -:10143000BF93EF93FF9380EE96E40F941B08FF9108 -:10144000EF91BF91AF919F918F917F916F915F913C -:101450004F913F912F910F900BBE0F900FBE0F90A9 -:101460001F90189580EE96E40F94CF0721E0892B0A -:1014700009F420E0822F08951092E3461092E2468C -:1014800088EE93E0A0E0B0E08093E4469093E546D8 -:10149000A093E646B093E74680E99AE29093E1464E -:1014A0008093E0468DEC90E09093ED468093EC467F -:1014B0008CEC90E09093EF468093EE4688EC90E0C1 -:1014C0009093F1468093F04689EC90E09093F34638 -:1014D0008093F2468AEC90E09093F5468093F44630 -:1014E0008EEC90E09093F7468093F6461092F94682 -:1014F0001092FA461092FB461092FC460895AF9265 -:10150000BF92CF92DF92EF92FF920F931F93CF93F0 -:10151000DF936C017B01C0E0D0E000E010E0F60159 -:10152000EC0FFD1F4AE050E06281C7010F948E0C62 -:101530005C016EE2C7010F946B0B8A0D9B1D080FB7 -:10154000191F2196C330D10551F74AE050E0F6014A -:101550006581C7010F948E0C800F911FDF91CF9191 -:101560001F910F91FF90EF90DF90CF90BF90AF90C1 -:10157000089520EA3AE2FC0131832083128213822B -:101580001482158208950F93FC0180EA9AE29183F8 -:10159000808362834383248305830F910895FC0134 -:1015A0004283538364837583089580EA9AE290931B -:1015B0007E4780937D4710927F471092804710921C -:1015C000814710928247089508950F9468050F94FB -:1015D000E40A0E94F119CFE1D3E00E94021A209799 -:1015E000E1F30F94FC07F9CF0D942F190D94C7194F -:1015F000CF92DF92EF92FF920F931F93CF93DF93DF -:101600006C017A01EB01E60EF71E00E010E0CE154A -:10161000DF0561F06991D601ED91FC910190F081B7 -:10162000E02DC6011995080F191FF1CFC801DF91F0 -:10163000CF911F910F91FF90EF90DF90CF90089581 -:101640006115710581F0DB010D900020E9F7AD0116 -:1016500041505109461B570BDC01ED91FC91028072 -:10166000F381E02D199480E090E00895EF92FF92CD -:101670000F931F93CF93DF938C01FB01C0E0D0E069 -:1016800064917F018FEFE81AF80A662361F0D801B0 -:10169000ED91FC910190F081E02DC8011995C80FE2 -:1016A000D91FF701EDCFCE01DF91CF911F910F919F -:1016B000FF90EF900895DC01ED91FC91DB01149611 -:1016C0004D915C9115976D917C910280F381E02D95 -:1016D00019940D94200BDC01ED91FC910190F081A7 -:1016E000E02D199462EA7AE20D94200B0F931F9378 -:1016F000CF93DF93EC010F94360B8C01CE010F9446 -:10170000720B800F911FDF91CF911F910F91089560 -:101710000F931F93CF93DF93EC010F945B0B8C011E -:10172000CE010F94720B800F911FDF91CF911F910B -:101730000F9108950F931F93CF93DF93EC010F94B4 -:10174000200B8C01CE010F94720B800F911FDF9143 -:10175000CF911F910F9108958F929F92AF92BF9258 -:10176000CF92DF92EF92FF920F931F93CF93DF936D -:10177000CDB7DEB7A1970FB6F894DEBF0FBECDBFD1 -:101780007C01C42EE52FCB01D22E19A221E02D150C -:1017900010F02AE0D22E8E010F5D1F4F8D2C912C60 -:1017A000A12CB12C6C2D7E2FA50194010F948117D3 -:1017B0008C2DD29E80191124015011098A3014F405 -:1017C000805D01C0895CF8018083211531054105E8 -:1017D000510521F0C22EE32FCA01E4CFB801C701A1 -:1017E0000F94200BA1960FB6F894DEBF0FBECDBFAD -:1017F000DF91CF911F910F91FF90EF90DF90CF90ED -:10180000BF90AF909F908F900895CF92DF92EF920C -:10181000FF920F931F93CF93DF93EC016A017B013B -:101820002115310579F4E881F9810190F081E02DED -:10183000642FDF91CF911F910F91FF90EF90DF9078 -:10184000CF9019942A303105E9F477FF1AC06DE280 -:101850000F946B0B8C0144275527BA014C195D0975 -:101860006E097F092AE0CE010F94AC0B800F911F07 -:10187000DF91CF911F910F91FF90EF90DF90CF906C -:1018800008952AE0B701A601CE01DF91CF911F9103 -:101890000F91FF90EF90DF90CF900D94AC0B9A01D9 -:1018A000AB01662757FD6095762F0D94050C0F93BD -:1018B0001F93CF93DF93EC019A01AB01662757FD8D -:1018C0006095762F0F94050C8C01CE010F94720B4E -:1018D000800F911FDF91CF911F910F9108950F936A -:1018E0001F93CF93DF93EC010F94050C8C01CE0175 -:1018F0000F94720B800F911FDF91CF911F910F9169 -:1019000008952115310541F4DC01ED91FC91019020 -:10191000F081E02D642F19940D94AC0B9A01462FA1 -:1019200050E060E070E00D94810C0F931F93CF9313 -:10193000DF93EC019A01462F50E060E070E00F94D5 -:10194000810C8C01CE010F94720B800F911FDF91DF -:10195000CF911F910F9108959A01AB0160E070E063 -:101960000D94810C0F931F93CF93DF93EC019A0199 -:10197000AB0160E070E00F94810C8C01CE010F94FC -:10198000720B800F911FDF91CF911F910F910895DE -:101990000F931F93CF93DF93EC010F94810C8C0175 -:1019A000CE010F94720B800F911FDF91CF911F9189 -:1019B0000F910895FC01808191810D94C719CF93F7 -:1019C000DF93EC0188819981009711F00F94C7197A -:1019D000198218821D821C821B821A82DF91CF918C -:1019E00008950F931F93CF93DF93EC018B016F5FEB -:1019F0007F4F888199810F940D1B009731F0998357 -:101A000088831B830A8381E001C080E0DF91CF914E -:101A10001F910F910895CF93DF93EC0188819981F5 -:101A2000892B29F08A819B818617970760F4CE0164 -:101A30000F94F10C882341F08C819D81892B19F43E -:101A4000E881F981108281E0DF91CF910895EF92D2 -:101A5000FF920F931F93CF93DF93EC017B018A01D9 -:101A6000BA010F940B0D811104C0CE010F94DF0C4D -:101A700007C01D830C83B701888199810F94591E7B -:101A8000CE01DF91CF911F910F91FF90EF900895BC -:101A9000FC01118210821382128215821482611558 -:101AA000710559F0FB0101900020E9F7AF014150A9 -:101AB0005109461B570B0D94270D0895EF92FF9285 -:101AC0000F931F93CF93DF93EC017B018A01BA013F -:101AD0000F940B0D811104C0CE010F94DF0C07C0D1 -:101AE0001D830C83B701888199810F94CB1DCE0192 -:101AF000DF91CF911F910F91FF90EF9008950F9379 -:101B00001F93CF93DF938C01EB01FC0180819181C6 -:101B1000009799F0428153812C813D8142175307F0 -:101B200050F0688179810F94591E8C819D81F80154 -:101B30009583848313C00F94C71988819981F80114 -:101B4000918380838A819B81938382838C819D8111 -:101B500095838483198218821B821A821D821C82BB -:101B6000DF91CF911F910F910895CF93DF93EC01F7 -:101B7000FB018617970761F060817181611571051E -:101B800029F0448155810F94270D02C00F94DF0C7A -:101B9000CE01DF91CF910895CF93DF93EC018617AB -:101BA000970711F00F947F0DCE01DF91CF9108952B -:101BB000CF93DF93EC016115710561F0FB0101909A -:101BC0000020E9F7AF0141505109461B570B0F9414 -:101BD000270D02C00F94DF0CCE01DF91CF91089545 -:101BE000CF93DF931F921F92CDB7DEB7FC01118216 -:101BF0001082138212821582148269831A82BE01B6 -:101C00006F5F7F4F0F94D80D0F900F90DF91CF91A2 -:101C100008950F931F93CF93DF93CDB7DEB7299726 -:101C20000FB6F894DEBF0FBECDBF8C01862FF80132 -:101C300011821082138212821582148250E0BE013A -:101C40006F5F7F4F90E00F94101FBE016F5F7F4F5B -:101C5000C8010F94D80D29960FB6F894DEBF0FBEB9 -:101C6000CDBFDF91CF911F910F9108950F931F93D7 -:101C7000CF93DF93CDB7DEB762970FB6F894DEBF90 -:101C80000FBECDBF8C01CB01F801118210821382EF -:101C900012821582148250E0BE016F5F7F4F0F9455 -:101CA000AB1EBE016F5F7F4FC8010F94D80D6296C7 -:101CB0000FB6F894DEBF0FBECDBFDF91CF911F915D -:101CC0000F9108950F931F93CF93DF93CDB7DEB796 -:101CD00061970FB6F894DEBF0FBECDBF8C01CB016C -:101CE000F80111821082138212821582148250E050 -:101CF000BE016F5F7F4F0F94101FBE016F5F7F4F5C -:101D0000C8010F94D80D61960FB6F894DEBF0FBED0 -:101D1000CDBFDF91CF911F910F9108950F931F9326 -:101D2000CF93DF93CDB7DEB7A2970FB6F894DEBF9F -:101D30000FBECDBF8C01CB01BA01F8011182108218 -:101D4000138212821582148230E0AE014F5F5F4F22 -:101D50000F94C11EBE016F5F7F4FC8010F94D80D55 -:101D6000A2960FB6F894DEBF0FBECDBFDF91CF9124 -:101D70001F910F9108950F931F93CF93DF93CDB7CA -:101D8000DEB7A1970FB6F894DEBF0FBECDBF8C01B2 -:101D9000CB01BA01F80111821082138212821582DE -:101DA000148230E0AE014F5F5F4F0F94E31EBE011F -:101DB0006F5F7F4FC8010F94D80DA1960FB6F894AE -:101DC000DEBF0FBECDBFDF91CF911F910F91089560 -:101DD0000F931F93CF93DF931F921F92CDB7DEB760 -:101DE0008C016115710561F0CB0169837A830F94D1 -:101DF000F11DAC0169817A81C8010F945E0D02C0AA -:101E00000F94DF0CC8010F900F90DF91CF911F91BD -:101E10000F910895FC0111821082138212821582A3 -:101E200014820D94E80EEF92FF920F931F93CF93BD -:101E3000DF93EC017B010C811D816115710511F4AB -:101E400080E016C04115510591F0040F151FB8012F -:101E50000F940B0D8823A1F3288139818C819D81FA -:101E6000B701820F931F0F94591E1D830C8381E0CD -:101E7000DF91CF911F910F91FF90EF900895FB019B -:101E800044815581608171810D94130F6115710535 -:101E900059F0FB0101900020E9F7AF0141505109D1 -:101EA000461B570B0D94130F80E00895CF93DF93DB -:101EB0001F921F92CDB7DEB769831A8241E050E0CE -:101EC000BE016F5F7F4F0F94130F0F900F90DF9144 -:101ED000CF910895EF92FF920F931F93CF93DF93CB -:101EE00000D01F92CDB7DEB77C01862F4AE08E016D -:101EF0000F5F1F4FB80190E00F94B61EF8010190DC -:101F00000020E9F7AF0141505109401B510BB801C6 -:101F1000C7010F94130F0F900F900F900F90DF9148 -:101F2000CF911F910F91FF90EF900895EF92FF9244 -:101F30000F931F93CF93DF93CDB7DEB728970FB6DC -:101F4000F894DEBF0FBECDBF7C01CB014AE08E010D -:101F50000F5F1F4FB8010F94B61EF80101900020CB -:101F6000E9F7AF0141505109401B510BB801C701BE -:101F70000F94130F28960FB6F894DEBF0FBECDBF97 -:101F8000DF91CF911F910F91FF90EF900895EF9205 -:101F9000FF920F931F93CF93DF93CDB7DEB72797B1 -:101FA0000FB6F894DEBF0FBECDBF7C01CB014AE077 -:101FB0008E010F5F1F4FB8010F941B1FF801019096 -:101FC0000020E9F7AF0141505109401B510BB80106 -:101FD000C7010F94130F27960FB6F894DEBF0FBEFC -:101FE000CDBFDF91CF911F910F91FF90EF9008959A -:101FF000EF92FF920F931F93CF93DF93CDB7DEB78E -:102000002E970FB6F894DEBF0FBECDBF7C01CB017B -:10201000BA012AE08E010F5F1F4FA8010F94CC1E5A -:10202000F80101900020E9F7AF0141505109401B30 -:10203000510BB801C7010F94130F2E960FB6F894E9 -:10204000DEBF0FBECDBFDF91CF911F910F91FF90EB -:10205000EF900895EF92FF920F931F93CF93DF932A -:10206000EC017B016115710511F480E01BC0CB010F -:102070000F94F11D0097A9F00C811D81080F191F05 -:10208000B801CE010F940B0D882379F32881398193 -:102090008C819D81B701820F931F0F94CB1D1D83EF -:1020A0000C8381E0DF91CF911F910F91FF90EF9012 -:1020B0000895FA01DB0114964D915C911597DC01AE -:1020C00014962D913C911597241B350B2E173F0725 -:1020D00088F08D919C91009769F0DB016D917C9166 -:1020E0006115710539F08E0F9F1F0F94741E21E04A -:1020F000892B09F020E0822F0895FC01448155814D -:10210000FB01248135814217530720F040E050E065 -:102110000D94591080E00895DC0114962D913C91A6 -:1021200015976217730728F4ED91FC91E60FF71FDE -:1021300040830895FC01848195816817790720F414 -:1021400080819181009729F41092834783E897E476 -:102150000895860F971F0895FC0124813581621729 -:10216000730748F480819181009729F0FC01E60F04 -:10217000F71F8081089580E008950D94AC100F93AF -:102180001F93CF93DF93EB0141155105E9F02097A1 -:10219000D9F0FC016481758126173707A0F4621B12 -:1021A000730B8A01015011096017710708F48B0144 -:1021B000FC0160817181620F731FA801CE010F9431 -:1021C000821EC00FD11F1882DF91CF911F910F91F6 -:1021D0000895CF93DF93FC018481958148175907B7 -:1021E00078F4C081D181772767FD7095CE01840F87 -:1021F000951F0F94451E009719F08C1B9D0B02C074 -:102200008FEF9FEFDF91CF91089540E050E00D9464 -:10221000E910CF93DF93FC0184819581481759071A -:1022200078F4C081D181FB0160817181CE01840F7E -:10223000951F0F94911E009719F08C1B9D0B02C0E7 -:102240008FEF9FEFDF91CF910895AF92BF92CF9222 -:10225000DF92EF92FF920F931F93CF93DF937B0157 -:10226000EA01FB01448155814115510569F1FC01E9 -:10227000248135812115310539F12417350720F1E5 -:10228000C217D30710F0E9012197FC0100811181E9 -:10229000C801AA24AA94BB24BA946801CC0EDD1EFE -:1022A000C816D906A0F0F701608171810F94911EC4 -:1022B000009769F09C01201B310BC217D30708F46B -:1022C000950101965901ECCF8FEF9FEF01C0C50139 -:1022D000DF91CF911F910F91FF90EF90DF90CF9002 -:1022E000BF90AF900895BF92CF92DF92EF92FF928E -:1022F0000F931F93CF93DF936C017B01EA01890158 -:102300002417350720F48D2FE901042F182F67EAD1 -:1023100079E1C6010F94480DD70114968D919C91D7 -:102320001597C817D907C8F48017910708F48C01CE -:10233000D701ED91FC911197E00FF11FB080108251 -:102340006D917C916C0F7D1FC6010F94D80DD70144 -:10235000ED91FC91E00FF11FB082C601DF91CF91AA -:102360001F910F91FF90EF90DF90CF90BF90089555 -:102370002F923F924F925F926F927F928F929F9295 -:10238000AF92BF92CF92DF92EF92FF920F931F9383 -:10239000CF93DF93EC015B017A014C805D804114A7 -:1023A000510409F4C5C0FB01648075806114710497 -:1023B00009F4BEC0FA01C480D580C618D7080881C8 -:1023C0001981C114D104C1F4F50160817181C80182 -:1023D0000F94911EEC01009709F4AAC0F7016081E7 -:1023E000718144815581CE010F94231EF701048130 -:1023F00015810C0F1D1FE8CFD7FC05C0FB01208005 -:102400003180420143C04801F50160817181C801FA -:102410000F94911E2C01009719F13201601A710A74 -:10242000A301B801C4010F94231E680C791CF701A5 -:102430006081718144815581C3010F94231EF7018E -:1024400084809580860C971CF50104811581040D0C -:10245000151D8C819D818C0D9D1D9D838C83D4CFFA -:10246000B801C401DF91CF911F910F91FF90EF90C0 -:10247000DF90CF90BF90AF909F908F907F906F90A4 -:102480005F904F903F902F900D94591EB101C8015D -:102490000F94911E009731F08C01060D171D8C0CC6 -:1024A0009D1CF4CF8414950409F442C08A819B8159 -:1024B0008815990530F4B401CE010F94F10C8823EE -:1024C000B9F14C815D814150510957FD31C0B501D1 -:1024D000CE010F9425118C0197FD2AC08881998126 -:1024E000F50124813581200F311F820F931F4C810C -:1024F0005D81421B530BBC018C0D9D1D0F942C1E46 -:102500008C819D818C0D9D1D9D838C83E881F9813B -:10251000E80FF91F108288819981F701608171812C -:1025200044815581800F911F0F94231EA801CBCFAA -:10253000DF91CF911F910F91FF90EF90DF90CF909F -:10254000BF90AF909F908F907F906F905F904F90D3 -:102550003F902F900895CF93DF93EC01CB012C8116 -:102560003D816217730710F541155105F9F0B90166 -:10257000681B790B4617570708F4BA01E881F981FF -:10258000261B370B3D832C83A901481B590B680F71 -:10259000791F6E0F7F1F8E0F9F1F0F94821EE88181 -:1025A000F9818C819D81E80FF91F1082DF91CF9115 -:1025B00008954FEF5FEF0D94AB12AF92BF92CF92A1 -:1025C000DF92EF92FF920F931F93CF93DF937C01E3 -:1025D000DC01CD90DC901197C114D10409F441C005 -:1025E0001496CD91DC9115972097D9F1560185016C -:1025F000BFEFAB1ABB0AF8018081992787FD909540 -:102600000F949F1D892B99F72197CC0DDD1D888193 -:10261000992787FD90950F949F1D892B91F4AE010A -:102620004F5F5F4F401B510BD70115965C934E9344 -:102630001497C016D10650F4B801C6010F94231E9A -:1026400005C0C017D10758F32197E1CFD701ED910D -:10265000FC91119714968D919C911597E80FF91F95 -:102660001082DF91CF911F910F91FF90EF90DF903B -:10267000CF90BF90AF90089508955058BB27AA27D8 -:102680000ED023C214D230F019D220F031F49F3F83 -:1026900011F41EF4F9C10EF4E095E7FBE1C1E92F56 -:1026A00025D280F3BA17620773078407950718F0DD -:1026B00071F49EF53DC20EF4E0950B2EBA2FA02DBD -:1026C0000B01B90190010C01CA01A0011124FF27DF -:1026D000591B99F0593F50F4503E68F11A16F040DA -:1026E000A22F232F342F4427585FF3CF46953795D9 -:1026F0002795A795F0405395C9F77EF41F16BA0B9E -:10270000620B730B840BBAF09150A1F0FF0FBB1F4B -:10271000661F771F881FC2F70EC0BA0F621F731F94 -:10272000841F48F4879577956795B795F7959E3FF1 -:1027300008F0B3CF9395880F08F09927EE0F97957F -:102740008795089569D108F481E008950CD0BDC142 -:10275000B5D140F0ACD130F021F45F3F19F080C129 -:102760005111E7C191C1C2D198F39923C9F35523FF -:10277000B1F3951B550BBB27AA2762177307840774 -:1027800038F09F5F5F4F220F331F441FAA1FA9F32A -:1027900033D00E2E3AF0E0E830D091505040E6951C -:1027A000001CCAF729D0FE2F27D0660F771F881F7D -:1027B000BB1F261737074807AB07B0E809F0BB0B6C -:1027C000802DBF01FF2793585F4F2AF09E3F510590 -:1027D00068F046C1AEC15F3FECF3983EDCF38695EE -:1027E00077956795B795F7959F5FC9F7880F911D06 -:1027F0009695879597F90895E1E0660F771F881FF2 -:10280000BB1F621773078407BA0720F0621B730BA4 -:10281000840BBA0BEE1F88F7E095089504D06894F6 -:10282000B11187C108956AD188F09F5790F0B92FF0 -:102830009927B751A0F0D1F0660F771F881F991F15 -:102840001AF0BA95C9F712C0B13081F071D1B1E078 -:1028500008956EC1672F782F8827B85F39F0B93F88 -:10286000CCF3869577956795B395D9F73EF4909517 -:102870008095709561957F4F8F4F9F4F089597FB7F -:102880000EF405D13EC0E89409C097FB3EF4909544 -:102890008095709561957F4F8F4F9F4F9923A9F039 -:1028A000F92F96E9BB279395F695879577956795C8 -:1028B000B795F111F8CFFAF4BB0F11F460FF1BC00C -:1028C0006F5F7F4F8F4F9F4F16C0882311F096E99F -:1028D00011C0772321F09EE8872F762F05C066234D -:1028E00071F096E8862F70E060E02AF09A95660F06 -:1028F000771F881FDAF7880F9695879597F90895BF -:10290000E894F92F96EBFF2381F0121613061406B4 -:10291000440B9395F6958795779567955795404025 -:10292000FF23B9F71BC099270895882351F49850C5 -:10293000D2F7872B762F652F542F432F322F20E08D -:10294000B1F3121613061406440B88233AF09A9535 -:10295000440F551F661F771F881FCAF755234AF477 -:10296000440F551F11F460FF04C06F5F7F4F8F4FFE -:102970009F4F880F9695879597F9089598D018F0EE -:1029800011F09CD038F480C0D4C0E92FAFD0B0F3A0 -:102990005523C9F3E7FB6217730784079507A8F16E -:1029A00099F3E92FFF2788232AF03197660F771FC5 -:1029B000881FDAF7952F5527442332F09150504065 -:1029C000220F331F441FD2F7BB27E91BF50B621BF5 -:1029D000730B840BB109C1F222F4620F731F841FC1 -:1029E000B11D31972AF0660F771F881FBB1FEFCFED -:1029F000915050405AF041F0882332F0660F771F13 -:102A0000881F91505040C1F7939530C086957795B7 -:102A100067959F5FD9F7F8CF990F0008550FAA0B5C -:102A2000E0E8FEEF16161706E807F907C0F01216E1 -:102A30001306E407F50798F0621B730B840B950BE4 -:102A400039F40A2661F0232B242B252B21F4089539 -:102A50000A2609F4A140A6958FEF811D811D0895D6 -:102A600097F99F6780E870E060E008959F3F31F03C -:102A7000915020F4879577956795B795880F911DAC -:102A80009695879597F908959FEF80EC0895909516 -:102A900080957095609550954095309521953F4F64 -:102AA0004F4F5F4F6F4F7F4F8F4F9F4F08950024C1 -:102AB0000A941616170618060906089500240A94A3 -:102AC00012161306140605060895092E0394000C29 -:102AD00011F4882352F0BB0F40F4BF2B11F460FFB8 -:102AE00004C06F5F7F4F8F4F9F4F089557FD9058E1 -:102AF000440F551F59F05F3F71F04795880F97FBC2 -:102B0000991F61F09F3F79F087950895121613067B -:102B10001406551FF2CF4695F1DF08C016161706AA -:102B20001806991FF1CF86957105610508940895DF -:102B3000E894BB2766277727CB0197F908956CDFC8 -:102B400008F48FEF08950BD0C0CFB1DF28F0B6DFC7 -:102B500018F0952309F084CF97CF1124EACFC6DF70 -:102B6000A0F3959FD1F3950F50E0551F629FF001A0 -:102B7000729FBB27F00DB11D639FAA27F00DB11DF9 -:102B8000AA1F649F6627B00DA11D661F829F222782 -:102B9000B00DA11D621F739FB00DA11D621F839F09 -:102BA000A00D611D221F749F3327A00D611D231FDF -:102BB000849F600D211D822F762F6A2F11249F572D -:102BC00050408AF0E1F088234AF0EE0FFF1FBB1F50 -:102BD000661F771F881F91505040A9F79E3F5105EF -:102BE00070F03ECFA6CF5F3FECF3983EDCF38695C6 -:102BF00077956795B795F795E7959F5FC1F7FE2B9A -:102C0000880F911D9695879597F90895FA01EE0F13 -:102C1000FF1F30962105310599F16115710561F4A9 -:102C20008038BFE39B0749F168949038810561F0D3 -:102C30008038BFEF9B0741F0992342F5FF3FE10544 -:102C40003105210511F1E8940894E795D901AA23EB -:102C500029F4AB2FBE2FF85FD0F310C0FF5F70F4E4 -:102C6000A695E0F7F73950F019F0FF3A38F49F775E -:102C70009F930CD00F9007FC905808953EF004CF1E -:102C800060E070E080E89FE308954FE79F775F93EF -:102C90004F933F932F939ED02F913F914F915F91F0 -:102CA00052DF05C019F40EF0DBCE42CFEDCE26DFA9 -:102CB000C8F39638C0F707F80F92E8942BE33AEA86 -:102CC00048EB5FE74EDF0F920F920F924DB75EB762 -:102CD0000F92C0D0ECEDF1E016D04F915F91EF91E3 -:102CE000FF91E595EE1FFF1F49F0FE57E06844276E -:102CF000EE0F441FFA95E1F74195550B32D00F9036 -:102D000007FE26C00895DF93CF931F930F93FF9282 -:102D1000EF92DF927B018C01689405C0DA2EEF01FF -:102D20001EDFFE01E894A5912591359145915591BD -:102D3000AEF3EF01B4DCFE019701A801DA9479F754 -:102D4000DF90EF90FF900F911F91CF91DF91089549 -:102D50009B01AC0160E070E080E89FE3F7CC80CE9F -:102D600085CECCDEE8F39923D9F3940F511DBBF344 -:102D70009150504094F059F0882332F0660F771F3D -:102D8000881F91505040C1F79E3F510544F7880F6E -:102D9000911D9695879597F908955F3FACF0983E01 -:102DA0009CF0BB27869577956795B79508F4B16039 -:102DB0009395C1F7BB0F58F711F460FFE8CF6F5F31 -:102DC0007F4F8F4F9F4FE3CFB4CE0EF04FCE5CCEF0 -:102DD000689446CE93DEC8F39923D1F3C6F3DF930C -:102DE000CF931F930F93FF92C92FDD2788232AF0DB -:102DF0002197660F771F881FDAF720E030E040E860 -:102E00005FEB9FE3883920F0803E30F021968F778A -:102E100035DCE4E0F2E003C031DCE1E3F2E073DF53 -:102E20008B01BE01EC01FB2E6F5771097595771F61 -:102E3000880B990B2ADD28E132E741E35FE38FDE5F -:102E4000AF2D9801AE01FF900F911F91CF91DF91AF -:102E500026DC3BCEFA01DC01AA0FBB1F9B01AC01B3 -:102E6000BF5728F422273327442750781FC0B75173 -:102E700088F4AB2F0024469537952795011CA39520 -:102E8000D2F3002069F0220F331F441FB395DAF309 -:102E90000DD0F3CB61307105A0E88A07B94630F454 -:102EA0009B01AC016627772788279078309621F020 -:102EB00020833183428353830895DB018F939F9353 -:102EC0000F94CF17BF91AF91A29F800D911DA39F2B -:102ED000900DB29F900D1124089597FB072E16F4C4 -:102EE000009407D077FD09D00F940C1907FC05D08A -:102EF0003EF4909581959F4F0895709561957F4F11 -:102F00000895A1E21A2EAA1BBB1BFD010DC0AA1F2A -:102F1000BB1FEE1FFF1FA217B307E407F50720F042 -:102F2000A21BB30BE40BF50B661F771F881F991FBD -:102F30001A9469F760957095809590959B01AC0106 -:102F4000BD01CF010895052E97FB1EF400940F9448 -:102F5000BA1757FD07D00F94811707FC03D04EF422 -:102F60000D94BA1750954095309521953F4F4F4F8E -:102F70005F4F089590958095709561957F4F8F4F25 -:102F80009F4F0895EE0FFF1F0590F491E02D1994C7 -:102F90000F942019B7FF0895821B930B08950F9487 -:102FA0002019A59F900DB49F900DA49F800D911D99 -:102FB00011240895DF93CF931F930F939A9DF02DC3 -:102FC000219FF00D8B9DF00D8A9DE02DF10D039F4B -:102FD000F00D029FE00DF11D4E9DE00DF11D5E9D77 -:102FE000F00D4F9DF00D7F936F93BF92AF925F9363 -:102FF0004F93D5010F9420198B01AC01D7010F9489 -:103000002019EB01E80FF91FD6010F942A182F9110 -:103010003F91D6010F942019C60FD71FE81FF91F43 -:10302000AF91BF910F942A182F913F910F942019BF -:10303000C60FD71FE81FF91FD6010F942019E60FFE -:10304000F71F9801BE01CF0111240F911F91CF915D -:10305000DF9108950F942019460F571FC81FD91FDD -:1030600008F43196089597FB57FF0D9443189F93EA -:103070008F930F9443186E1B7F0BAF91BF918A0BF8 -:103080009B0B0895E894DF93CF93FC01DB010F9431 -:1030900020197F936F93E9019A01AC01BF93AF931D -:1030A0003F932F93DF010F94201926F46C1B7D0BA7 -:1030B000820B930B9E01EB01FC010F942A18AF9138 -:1030C000BF912F913F910F942A18BE01CF01F901B2 -:1030D0002F913F91CF91DF910895689401C0E894BA -:1030E0008F929F92CF93DF930F947B18DF91CF91B4 -:1030F0009F908F90089588249924F401E401B0E40E -:103100009F93AA279A158B049C04ED05FE05CF0515 -:10311000D007A10798F4AD2FDC2FCF2FFE2FE92D7C -:10312000982C892E982F872F762F652F542F432F79 -:10313000322F2227B85031F7BF9127C01B2EBF91E5 -:10314000BB27220F331F441F551F661F771F881F81 -:10315000991F881C991CEE1FFF1FCC1FDD1FAA1F83 -:10316000BB1F8A149B04EC05FD05CE05DF05A007F7 -:10317000B10748F08A189B08EC09FD09CE09DF0960 -:10318000A00BB10B21601A94E1F62EF49401AF016B -:10319000BE01CD01000C08950790F691E02D199421 -:1031A00097FB10F8169400080F93083098F0085019 -:1031B000232F342F452F562F672F782F892F902DAF -:1031C000F4CF05949795879577956795579547958B -:1031D000379527950A95AAF70F9108952A0D3B1D5B -:1031E0004C1D5D1D6E1D7F1D801F911F08952A19A6 -:1031F0003B094C095D096E097F09800B910B08950D -:103200000024A7FD00942A173005400550056005ED -:103210007005800590050895AA1BBB1B51E107C0EE -:10322000AA1FBB1FA617B70710F0A61BB70B881F56 -:10323000991F5A95A9F780959095BC01CD010895E5 -:10324000A29FB001B39FC001A39F700D811D1124E7 -:10325000911DB29F700D811D1124911D0895CF9372 -:10326000DF938230910510F482E090E0E091BE4758 -:10327000F091BF4720E030E0A0E0B0E0309739F1B6 -:103280004081518148175907B8F04817590771F420 -:1032900082819381109729F013969C938E931297B5 -:1032A0002CC09093BF478093BE4727C0211531059E -:1032B00031F04217530718F0A901DB0101C0EF01FB -:1032C0009A01BD01DF010280F381E02DD7CF2115E6 -:1032D0003105F9F0281B390B2430310580F48A813F -:1032E0009B816115710521F0FB019383828304C0EA -:1032F0009093BF478093BE47FE01329644C0FE01C3 -:10330000E20FF31F8193919322503109398328836F -:103310003AC02091BC473091BD47232B41F4209106 -:103320000202309103023093BD472093BC472091A5 -:103330000002309101022115310541F42DB73EB74D -:103340004091040250910502241B350BE091BC47CB -:10335000F091BD47E217F307A0F42E1B3F0B28178F -:10336000390778F0AC014E5F5F4F2417350748F0FE -:103370004E0F5F1F5093BD474093BC47819391937D -:1033800002C0E0E0F0E0CF01DF91CF910895CF934C -:10339000DF93009709F487C0FC01329713821282F1 -:1033A000C091BE47D091BF47209781F420813181E1 -:1033B000280F391F8091BC479091BD478217930712 -:1033C00079F5F093BD47E093BC476DC0DE0120E086 -:1033D00030E0AE17BF0750F412964D915C911397F1 -:1033E0009D014115510509F1DA01F3CFB383A283A1 -:1033F00040815181840F951F8A179B0771F48D912D -:103400009C911197840F951F029691838083129649 -:103410008D919C911397938382832115310529F413 -:10342000F093BF47E093BE473EC0D9011396FC938B -:10343000EE9312974D915D91A40FB51FEA17FB070C -:1034400079F480819181840F951F0296D90111969C -:103450009C938E938281938113969C938E93129763 -:10346000E0E0F0E08A819B81009719F0FE01EC0119 -:10347000F9CFCE01029628813981820F931F2091C6 -:10348000BC473091BD472817390769F4309729F4B4 -:103490001092BF471092BE4702C013821282D0938F -:1034A000BD47C093BC47DF91CF9108958F929F9203 -:1034B000AF92BF92CF92DF92EF92FF92CF93DF93C2 -:1034C000EC01688179818A819B8161157105810593 -:1034D000910521F464E279ED8BE597E02DE133EF7E -:1034E00041E050E00F94A31749015A019B01AC0140 -:1034F000A7EAB1E40F94CF176B017C01ACEEB4EFF7 -:10350000A50194010F946124C60ED71EE81EF91E72 -:10351000F7FE06C081E0C81AD108E10880E8F80A81 -:10352000C882D982EA82FB82C6019F77DF91CF9160 -:10353000FF90EF90DF90CF90BF90AF909F908F90D3 -:1035400008950D94561A86E092E00D94561AA0E064 -:10355000B0E08093060290930702A0930802B09314 -:10356000090208958F929F92AF92BF92CF92DF92FD -:10357000EF92FF92CF93DF93EC01688179818A818A -:103580009B81611571058105910521F464E279ED56 -:103590008BE597E02DE133EF41E050E00F94A31766 -:1035A00049015A019B01AC01A7EAB1E40F94CF177E -:1035B0006B017C01ACEEB4EFA50194010F94612482 -:1035C000C60ED71EE81EF91EF7FE06C081E0C81A17 -:1035D000D108E10880E8F80AC882D982EA82FB8231 -:1035E000C701B6019F77DF91CF91FF90EF90DF90F9 -:1035F000CF90BF90AF909F908F9008950D94B21A86 -:103600008AE092E00D94B21A60930A0270930B0262 -:1036100080930C0290930D0208956F927F928F9287 -:103620009F92AF92BF92CF92DF92EF92FF920F9351 -:103630001F93CF93DF93EC01CB01209781F4DF91AF -:10364000CF911F910F91FF90EF90DF90CF90BF909F -:10365000AF909F908F907F906F900D942F19FE01E7 -:10366000E60FF71F9E0122503109E217F30708F415 -:10367000ACC0D9010D911C91119706171707B8F02E -:103680000530110508F49FC0A801445051094617A0 -:10369000570708F498C002501109061B170B019335 -:1036A00011936D937C93CF010F94C7198CC05B016C -:1036B000A01AB10A4E01800E911EA091BE47B09192 -:1036C000BF47612C712C60E070E0109709F449C08D -:1036D000A815B905C9F5ED90FC901197670142E076 -:1036E000C40ED11CCA14DB0478F147018A189B0868 -:1036F000640142E0C40ED11C1296BC90129713963E -:10370000AC91B5E0CB16D10440F0B282A383918294 -:103710008082D9018D939C9309C00E5F1F4F0E0DBF -:103720001F1DF90111830083EB2DFA2F611571051F -:1037300031F0DB011396FC93EE93129744C0F093A3 -:10374000BF47E093BE473FC06D917C9111976616CD -:10375000770608F43B01BD0112960D90BC91A02D97 -:10376000B4CF6091BC477091BD4768157905E9F405 -:1037700068167906D0F4409100025091010241157B -:10378000510541F44DB75EB7609104027091050296 -:10379000461B570BE417F507C0F4F093BD47E093C1 -:1037A000BC47F901918380830EC00F942F197C01CF -:1037B000009759F0A801BE010F94231ECE010F946B -:1037C000C719C70104C0CE0102C080E090E0DF91BC -:1037D000CF911F910F91FF90EF90DF90CF90BF900E -:1037E000AF909F908F907F906F9008952F923F920F -:1037F0005F926F927F928F929F92AF92BF92CF9281 -:10380000DF92EF92FF920F931F93CF93DF938B0181 -:10381000EA016115710521F0DB018C9311969C93EF -:10382000209739F09E01225031092332310508F0EA -:10383000D8C07C016701BFEFCB1ADB0A5601F70144 -:103840006080862D90E00F949F1D892B11F07601EA -:10385000F1CFFDE26F120AC0570182E0A80EB11C41 -:10386000D70111966C90772473940BC0BBE26B1256 -:1038700007C05701E2E0AE0EB11CD70111966C9063 -:10388000712CCE018F7E892B89F4B0E36B1237C087 -:10389000F50180818F7D8835D1F46180F2E0AF0E33 -:1038A000B11C872D8260782EC0E1D0E0CA30D105EE -:1038B00051F1C031D10521F0C830D10599F409C0CA -:1038C000CC24CA94DC2CEC2CAFE0FA2E22C020973A -:1038D00069F7C8E0D0E0CC24CA94DC2CEC2CFFE1E2 -:1038E000FF2E17C06FEF7FEFCB019E01442737FDFE -:1038F0004095542F0F94811769017A010AC02097CF -:10390000A9F6CAE0D0E0E9E9CE2EDC2CEC2CE9E106 -:10391000FE2EF50160E020E030E0A9014E01AA246E -:1039200097FCA094BA2C1F0170ED572E560CA9E0FD -:10393000A51570F48FEB860D8A3118F499EC592E89 -:1039400006C08FE9860D8A3148F589EA582E560C53 -:10395000852D90E08C179D070CF56F3FD9F0C216AE -:10396000D306E406F50698F0C501B4010F945D177F -:103970009B01AC01852D90E0A0E0B0E0280F391F3D -:103980004A1F5B1F281739074A075B0710F46FEFC0 -:1039900001C061E03196D1016C90C5CF01151105D0 -:1039A00051F0662311F0319703C071FE04C03297C5 -:1039B000D801ED93FC9370FE07C05095409530956B -:1039C00021953F4F4F4F5F4F67FF10C082E290E05D -:1039D0009093C1478093C0476FEF7FEF8FEF9FEFCA -:1039E00007C060E070E080E090E002C0B901CA0169 -:1039F000DF91CF911F910F91FF90EF90DF90CF90CB -:103A0000BF90AF909F908F907F906F905F903F900E -:103A10002F90089581E090E0F8940D946624662735 -:103A200077270D940F22FC0188279927E89421918C -:103A30002032E9F3293010F02E30C8F32B3241F058 -:103A40002D3239F4689404C00F94DB1E820F911D4F -:103A5000219120532A30C0F31EF4909581959F4FF9 -:103A60000895DC012D923D924D925D926D927D9272 -:103A70008D929D92AD92BD92CD92DD92ED92FD928E -:103A80000D931D93CD93DD930F90FF91EF918DB723 -:103A90008D938EB78D938FB78D93ED93FD9388277C -:103AA00099270D9221C0DC01CB0181309105811D48 -:103AB0002D903D904D905D906D907D908D909D905E -:103AC000AD90BD90CD90DD90ED90FD900D911D914C -:103AD000CD91DD91ED91FD910D90F894FEBF0FBE5B -:103AE000EDBFED91FD910D90EF93FF930F9208952F -:103AF000911106C080538A5010F0865C06C008956C -:103B000099278827089585FDFBCF80629111F8CF12 -:103B100081568A51E0F708959111F2CF80538A506F -:103B200028F0865C806281568650B8F7089580320E -:103B300009F09111E5CF80528F55E0F7089591116A -:103B4000DFCF803219F089508550D0F70895911158 -:103B5000089581548A5108F4805E855A0895FB01C6 -:103B6000DC018D9181341CF08B350CF4805E659105 -:103B700061341CF06B350CF4605E861B611189F3B7 -:103B8000990B0895FB01DC018D91059080190110BE -:103B9000D9F3990B0895FB01DC0105900D920020EB -:103BA000E1F70895DC01FB014150504070F00D90A9 -:103BB0000020D1F7119704C005900D92002061F00C -:103BC00041505040C8F71C92BF0105900020E9F712 -:103BD000E61BF70BAE0FBF1F0894A80BB90BCD0166 -:103BE0000895FC0105900020E9F7809590958E0FCF -:103BF0009F1F0895FB01DC014150504048F00590A3 -:103C00000D920020C9F701C01D9241505040E0F7CD -:103C100008950F931F93CF93DF938C01FC010190C4 -:103C20000020E9F7CF01801B910B0F942F19EC01B5 -:103C3000009719F0B8010F94591ECE01DF91CF9172 -:103C40001F910F910895FB01DC0102C001900D92BC -:103C500041505040D8F708956817790768F4FB0180 -:103C6000DC01E40FF51FA40FB51F02C002900E92F5 -:103C700041505040D8F708950D94231EDC0101C037 -:103C80006D9341505040E0F70895FC0181918617F3 -:103C900021F08823D9F7992708953197CF01089506 -:103CA000FB01DC018D91019080190110D9F3990B72 -:103CB0000895FB01DC0101900D920020E1F70895C9 -:103CC000DC01FB014150504058F049F001900D9249 -:103CD0000020C1F7E61BF70B3197CF0108951C9226 -:103CE00001900020E9F7F6CFFB01DC014150504084 -:103CF00030F08D910190801919F40020B9F7881BDC -:103D0000990B0895FB01DC014150504048F00190AF -:103D10000D920020C9F701C01D9241505040E0F7BC -:103D20000895FB0151915523A9F0BF01DC014D918C -:103D300045174111E1F759F4CD010190002049F0F8 -:103D40004D9140154111C9F3FB014111EFCF81E0C5 -:103D500090E0019708954532510520F4423010F06B -:103D60000D94B61EFB011082CB010895BB274A308B -:103D700031F4992322F4BDE2909581959F4F0D94E3 -:103D80001C1F2532310520F4223010F00D94CC1E7A -:103D9000FA011082CA010895BB272A3051F49923F1 -:103DA00042F4BDE290958095709561957F4F8F4F5D -:103DB0009F4F0D94EF1E7AE0979F902D879F802D47 -:103DC000910D112408952532310520F4223010F090 -:103DD0000D94EE1EFA011082CA010895BB27FA0164 -:103DE000A62F6217710581059105330B30FB66F034 -:103DF000AA27660F771F881F991FAA1FA21710F006 -:103E0000A21B63953850A9F7A05DAA3308F0A95DFD -:103E1000A19336F7B111B1931082CA010D94AE236C -:103E20004532510520F4423010F00D941B1FFB0168 -:103E30001082CB010895BB27FB015527AA27880FC5 -:103E4000991FAA1FA41710F0A41B83955051B9F70E -:103E5000A05DAA3308F0A95DA193009779F7B1118D -:103E6000B1931192CB010D94AE230F931F93CF9377 -:103E7000DF93CDB7DEB72E970FB6F894DEBF0FBE37 -:103E8000CDBF0E891F89888D998D26E02C831A83DA -:103E9000098397FF02C080E090E801979E838D839D -:103EA000AE01445E5F4F6A8D7B8DCE0101960F940B -:103EB000DA1F4D815E8157FD0AC02F813885421778 -:103EC00053070CF49A01F801E20FF31F10822E96AB -:103ED0000FB6F894DEBF0FBECDBFDF91CF911F911B -:103EE0000F9108950F931F93CF93DF93CDB7DEB754 -:103EF0002E970FB6F894DEBF0FBECDBF0E891F8977 -:103F000086E08C831A8309838FEF9FE79E838D83DE -:103F1000AE01465E5F4F688D798DCE0101960F949C -:103F2000DA1FEF81F885E00FF11F10822E960FB691 -:103F3000F894DEBF0FBECDBFDF91CF911F910F91DF -:103F400008950F931F93CF93DF93CDB7DEB72E97CE -:103F50000FB6F894DEBF0FBECDBF8C01CA0146E09C -:103F60004C831A83098377FF02C060E070E86150D8 -:103F700071097E836D83A901BC01CE0101960F9466 -:103F8000DA1F4D815E8157FD0AC02F8138854217A7 -:103F900053070CF49A01F801E20FF31F10822E96DA -:103FA0000FB6F894DEBF0FBECDBFDF91CF911F914A -:103FB0000F9108952F923F924F925F926F927F924E -:103FC0008F929F92AF92BF92CF92DF92EF92FF9229 -:103FD0000F931F93CF93DF93CDB7DEB72C970FB618 -:103FE000F894DEBF0FBECDBF7C016B018A01FC01DE -:103FF00017821682838181FFBDC1CE0101964C01DB -:10400000F7019381F60193FD859193FF81916F01F3 -:10401000882309F4ABC1853239F493FD859193FF70 -:1040200081916F01853229F4B70190E00F94BE238E -:10403000E7CF512C312C20E02032A0F48B3269F0F4 -:1040400030F4803259F0833269F420612CC08D3213 -:1040500039F0803339F4216026C02260246023C007 -:10406000286021C027FD27C030ED380F3A3078F4A2 -:1040700026FF06C0FAE05F9E300D1124532E13C0B8 -:104080008AE0389E300D1124332E20620CC08E320F -:1040900021F426FD6BC1206406C08C3611F4206823 -:1040A00002C0883641F4F60193FD859193FF81911A -:1040B0006F018111C1CF982F9F7D9554933028F4C3 -:1040C0000C5F1F4FFFE3F9830DC0833631F0833758 -:1040D00071F0833509F05BC022C0F80180818983CB -:1040E0000E5F1F4F44244394512C540115C03801D6 -:1040F000F2E06F0E711CF801A080B18026FF03C0B2 -:10410000652D70E002C06FEF7FEFC5012C870F9423 -:10411000A3232C0183012C852F77222E17C0380171 -:10412000F2E06F0E711CF801A080B18026FF03C081 -:10413000652D70E002C06FEF7FEFC5012C870F94F3 -:1041400098232C012C852068222E830123FC1BC080 -:10415000832D90E048165906B0F4B70180E290E054 -:104160000F94BE233A94F4CFF50127FC859127FEE6 -:1041700081915F01B70190E00F94BE2331103A9412 -:10418000F1E04F1A51084114510471F7E5C084362B -:1041900011F0893639F5F80127FF07C06081718178 -:1041A000828193810C5F1F4F08C0608171818827D5 -:1041B00077FD8095982F0E5F1F4F2F76B22E97FFB9 -:1041C00009C090958095709561957F4F8F4F9F4F57 -:1041D0002068B22E2AE030E0A4010F94F023A82E2C -:1041E000A81844C0853729F42F7EB22E2AE030E08B -:1041F00025C0F22FF97FBF2E8F36C1F018F4883515 -:1042000079F0B4C0803719F0883721F0AFC02F2F74 -:104210002061B22EB4FE0DC08B2D8460B82E09C073 -:1042200024FF0AC09F2F9660B92E06C028E030E018 -:1042300005C020E130E002C020E132E0F801B7FE25 -:1042400007C060817181828193810C5F1F4F06C01E -:104250006081718180E090E00E5F1F4FA4010F9498 -:10426000F023A82EA818FB2DFF77BF2EB6FE0BC09B -:104270002B2D2E7FA51450F4B4FE0AC0B2FC08C04A -:104280002B2D2E7E05C07A2C2B2D03C07A2C01C03D -:10429000752C24FF0DC0FE01EA0DF11D80818033D5 -:1042A00011F4297E09C022FF06C07394739404C0E0 -:1042B000822F867809F0739423FD13C020FF06C077 -:1042C0005A2C731418F4530C5718732C731468F485 -:1042D000B70180E290E02C870F94BE2373942C8565 -:1042E000F5CF731410F4371801C0312C24FF12C01D -:1042F000B70180E390E02C870F94BE232C8522FF2A -:1043000017C021FF03C088E590E002C088E790E075 -:10431000B7010CC0822F867859F021FD02C080E2DF -:1043200001C08BE227FD8DE2B70190E00F94BE2320 -:10433000A51438F4B70180E390E00F94BE235A949B -:10434000F7CFAA94F401EA0DF11D8081B70190E046 -:104350000F94BE23A110F5CF332009F451CEB7013D -:1043600080E290E00F94BE233A94F6CFF701868165 -:10437000978102C08FEF9FEF2C960FB6F894DEBFA7 -:104380000FBECDBFDF91CF911F910F91FF90EF90A6 -:10439000DF90CF90BF90AF909F908F907F906F9065 -:1043A0005F904F903F902F900895F999FECF92BD66 -:1043B00081BDF89A992780B50895A6E1B0E044E060 -:1043C00050E00D945024A8E1B0E042E050E00D949C -:1043D0005024262FF999FECF92BD81BDF89A0197FE -:1043E00000B4021639F01FBA20BD0FB6F894FA9A3D -:1043F000F99A0FBE08950196272F0F94EA210D9484 -:10440000E921262FF999FECF1FBA92BD81BD20BDAB -:104410000FB6F894FA9AF99A0FBE019608958F9202 -:104420009F92AF92BF92CF92DF92EF92FF920F9343 -:104430001F93CF93DF938B016115710521F0DB0191 -:104440008C9311969C93EC015E01BFEFAB1ABB0AF3 -:104450007501C8808C2D90E00F949F1D892B11F061 -:10446000E501F2CFEDE2CE1208C07E01F2E0EF0EE0 -:10447000F11CC980DD24D39409C02BE2C21205C00F -:104480007E0142E0E40EF11CC980D12CE7012197A6 -:1044900043E050E068E772E3CE010F948023892B5C -:1044A000C1F4239645E050E063E772E3CE010F9438 -:1044B0008023892B09F425960115110519F0D801DF -:1044C000CD93DC93D11006C160E070E080E89FE7F7 -:1044D0000AC143E050E060E772E3CE010F9480230D -:1044E000892B59F40115110509F4F9C0B2E0EB0E5E -:1044F000F11CF801F182E082F2C0F70160E070E0A7 -:10450000CB01C0E0D0E07F01A0EDAA2EAC0C29E0E9 -:104510002A1530F14D2D4260B42E2D2D2870D2FE7B -:1045200004C0211125C0219623C021112197A5E0A7 -:10453000B0E09B01AC010F94CF17660F771F881F67 -:10454000991F6A0D711D811D911D6839A9E97A07AE -:104550008A07A9E19A0760F0BD2DB660BB2E08C09E -:104560002EEFA2120AC0D3FC50C04D2D4860B42ECD -:104570003196D701CC90DB2CC6CF2C2D2F7D253446 -:1045800009F043C0A081AD3241F4BD2DB061DB2EF6 -:104590007F0122E0E20EF11C0CC07F01AB3231F052 -:1045A0004FEFE41AF40A21E030E006C0A2E0EA0E80 -:1045B000F11CA18122E030E0A053AA3018F0E21AE9 -:1045C000F30A23C0F70120E030E02038BCE03B07CD -:1045D0005CF4A901440F551F440F551F240F351FCC -:1045E000220F331F2A0F311DAF014F5F5F4F7A013A -:1045F000A081A053AA3010F4FA01E7CFD4FE03C083 -:10460000319521953109C20FD31FD1FE09C0011583 -:10461000110531F0E1E0EE1AF108D801ED92FC92BB -:104620000F9443142D2D2370233019F04B015C019E -:1046300006C04B015C01B7FAB094B7F8B09420E023 -:1046400030E0A901C501B4010F94A213882309F435 -:104650003EC0D7FF06C0D195C195D1090FE812E33E -:1046600002C007EA12E36801B8E1CB1AD10890E270 -:10467000E92EF12CCE15DF0574F0F8012591359166 -:1046800045915491C501B4010F94A3154B015C01F0 -:10469000CE19DF09EFCF04501109F594E7940C15FA -:1046A0001D0541F78A2D880F8B2D881F8F3F49F0FC -:1046B00020E030E0A901C501B4010F94A2138111DB -:1046C00006C082E290E09093C1478093C047C50145 -:1046D000B40109C060E070E080E89FEF04C060E0D2 -:1046E00070E080EC9FE7DF91CF911F910F91FF90D9 -:1046F000EF90DF90CF90BF90AF909F908F900895F4 -:10470000FB01DC014150504088F08D9181341CF058 -:104710008B350CF4805E659161341CF06B350CF4C4 -:10472000605E861B611171F3990B0895881BFCCFA5 -:10473000FC010590615070400110D8F7809590956C -:104740008E0F9F1F0895FC01615070400190011071 -:10475000D8F7809590958E0F9F1F0895DC01FC017E -:10476000672F71917723E1F7329704C07C916D93A5 -:1047700070836291AE17BF07C8F308950F931F931C -:10478000CF93DF93182F092FEB018B8181FD03C09D -:104790008FEF9FEF20C082FF10C04E815F812C8180 -:1047A0003D81421753077CF4E881F9819F012F5F17 -:1047B0003F4F39832883108306C0E885F985812F10 -:1047C0001995892B29F72E813F812F5F3F4F3F831A -:1047D0002E83812F902FDF91CF911F910F910895FC -:1047E000FA01AA27283051F1203181F1E8946F9322 -:1047F0006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED0C8 -:10480000B4E03CD0670F781F891F9A1FA11D680F65 -:10481000791F8A1F911DA11D6A0F711D811D911D98 -:10482000A11D20D009F468943F912AE0269F11240D -:104830003019305D3193DEF6CF010895462F477071 -:10484000405D4193B3E00FD0C9F7F6CF462F4F70CC -:10485000405D4A3318F0495D31FD4052419302D02A -:10486000A9F7EACFB4E0A6959795879577956795D0 -:10487000BA95C9F700976105710508959B01AC01D0 -:104880000A2E06945795479537952795BA95C9F7F7 -:10489000620F731F841F951FA01D0895DC01CB01BB -:1048A000FC01F999FECF06C0F2BDE1BDF89A319640 -:1048B00000B40D9241505040B8F70895B7FF0D94E1 -:1048C000CF170F94CF17821B930B089512E3CAEEF4 -:1048D000D2E300E006C022970109FE010BBF0F944E -:1048E000CC18C23FD10780E00807A9F7F894FFCFA2 -:1048F0000000C24780000100000001000000901A83 -:10490000931A991ACB1AA11AB41AC31AD01ADD1A1B -:10491000EA1AF41ADD830000D98F0000E458FFFF83 -:10492000FFFF02004600EEE655E7D7E7B0D632DCDF -:1049300013E7000051E72DE7EFBEADDEFECAEFBE84 -:10494000A103A103A103A103A103A103A103A10347 -:10495000A103A103A103A103A103A103A103A10337 -:10496000A103A103A103A103A103A103A103A10327 -:10497000A103A103A103A103A103A103A103A10317 -:10498000A103A103A103A103A103A103A103A10307 -:10499000A103A103A103A103A103A103A103A103F7 -:1049A000A103A103A103A103A103A103A103A103E7 -:1049B000A103A103A103A103A103A103A103A103D7 -:1049C000A103A103A103A103A103A103A103A103C7 -:1049D000A103A103A103A103A103A103A103A103B7 -:1049E000A103A103A103A103A103A103A103A103A7 -:1049F000A103A103A103A103A103A103A103A10397 -:104A0000A103A103A103A103A103A103A103A10386 -:104A1000A103A103A103A103A103A103A103A10376 -:104A2000A103A103A103A103A103A103A103A10366 -:104A3000A103A103A103A103A103A103A103A10356 -:104A4000690269026902690269026902690269020E -:104A500069026902690269026902690269026902FE -:104A600069026902690269026902690269026902EE -:104A700069026902690269026902690269026902DE -:104A800069026902690269026902690269026902CE -:104A900069026902690269026902690269026902BE -:104AA00069026902690269026902690269026902AE -:104AB000690269026902690269026902690269029E -:104AC000A103A103A103A103A103A103A103A103C6 -:104AD000A103A103A103A103A103A103A103A103B6 -:104AE000A103A103A103A103A103A103A103A103A6 -:104AF000A103A103A103A103A103A103A103A10396 -:104B0000A103A103A103A103A103A103A103A10385 -:104B1000A103A103A103A103A103A103A103A10375 -:104B2000A103A103A103A103A103A103A103A10365 -:104B3000A103A103A103A103A103A103A103A10355 -:104B4000A103A103A103A103A103A103A103A10345 -:104B5000A10339043904A103A1033904A103A1036A -:104B6000A103A103A103A103A103A103A103A10325 -:104B7000A103A103A103A103A103A103A103A10315 -:104B80003904850485048504850485048504850429 -:104B90008504850485048504390485048504850419 -:104BA00085048504850485048504850485048504BD -:104BB00085048504850485048504850485048504AD -:104BC000850485048504850485048504850485049D -:104BD000850485048504850485048504850485048D -:104BE000850485048504850485048504850485047D -:104BF00085048504850485048504390485048504B9 -:104C0000850485048504850485048504850485045C -:104C1000850485048504850485048504850485044C -:104C2000850485048504850485048504850485043C -:104C30008504850485048504850439048504A1035D -:104C4000A103A103A103A103A103A103A103A10344 -:104C5000A103A103A103A103A103A103A103A10334 -:104C6000A103A103A103A103A103A103A103A10324 -:104C7000A103A103A103A103A103A103A103A10314 -:104C8000A103A103A103A103A103A103A103A10304 -:104C9000A103A103A103A103A103A103A103A103F4 -:104CA000A103A103A103A103A103A103A103A103E4 -:104CB000A103A103A103A103A103A103A103A103D4 -:104CC000A103A103A103A103A103A103A103A103C4 -:104CD000A103A103A103A103A103A103A103A103B4 -:104CE000A103A103A103A103A103A103A103A103A4 -:104CF000A103A103A103A103A103A103A103A10394 -:104D0000A103A103A103A103A103A103A103A10383 -:104D1000A103A103A103A103A103A103A103A10373 -:104D2000A103A103A103A103A103A103A103A10363 -:104D3000A103A103A103A103A103A103A103A10353 -:104D4000A103A103A103A103A103A103A103A10343 -:104D5000A103A103A103A103A103A103A103A10333 -:104D6000A103A103A103A103A103A103A103A10323 -:104D7000A103A103A103A103A103A103A103A10313 -:104D8000A103A103CF02A103A103A103A103A103D6 -:104D9000A103A103A103A103A103A103A103CF02C6 -:104DA000A103A103A103A103A103A103A103A103E3 -:104DB000A103A103A103A103A103A103A103A103D3 -:104DC000A103A103A103A103A103A103A103A103C3 -:104DD000A103A103A103A103A103A103A103A103B3 -:104DE000A103A103A103A103A103A103A103A103A3 -:104DF000A103A103A103A103CF02A103A103A10366 -:104E0000A103A103CF02A103A103A103CF02A10328 -:104E1000A103A103A103A103A103A103CF02A10345 -:104E2000A103A103CF02A103CF02CF02A103A103DB -:104E3000A103A103A103A103A103A103A103A10352 -:104E4000A103A103A103A103A103A103A103A10342 -:104E5000A103A103A103A103A103A103A103A10332 -:104E6000A103A103A103A103A103A103A103A10322 -:104E7000A103A103A103A103A103A103A103A10312 -:104E8000A103A103A103A103A103A103A103A10302 -:104E9000A103A103A103A103A103A103A103A103F2 -:104EA000A103A103A103A103A103A103A103A103E2 -:104EB000A103A103A103A103A103A103A103A103D2 -:104EC000A103A103A103A103A103A103A103A103C2 -:104ED000A103A103A103A103A103A103A103A103B2 -:104EE000A103A103A103A103A103A103A103A103A2 -:104EF000A103A103A103A103A103A103A103A10392 -:104F0000A103A103A103A103A103A103A103A10381 -:104F1000A103A103A103A103A103A103A103A10371 -:104F2000A103A103A103A103A103A103A103A10361 -:104F3000A103A103A103A103A103A103A103A10351 -:104F4000A103A103A103A103A103A103A103A10341 -:104F5000A103A103A103A103A103A103A103A10331 -:104F6000A103A103A103A103A103A103A103A10321 -:104F7000A103A103A103A103A103A103A103A10311 -:104F80008504850457028504850485048504850409 -:104F900085048504850485048504850485048504C9 -:104FA00085048504850485048504850485048504B9 -:104FB00085048504850485048504850485048504A9 -:104FC0008504850485048504850485048504850499 -:104FD0008504850485048504850485048504850489 -:104FE0008504850485048504850485048504850479 -:104FF000850485048504850483018504850485046E -:105000008504850485048504850485048504850458 -:105010008504850485048504850485048504850448 -:105020008504850485048504850485048504850438 -:105030008504850485048504850485048504A1030D -:10504000A103A103A103A103A103A103A103A10340 -:10505000A103A103A103A103A103A103A103A10330 -:10506000A103A103A103A103A103A103A103A10320 -:10507000A103A103A103A103A103A103A103A10310 -:10508000A103A103A103A103A103A103A103A10300 -:10509000A103A103A103A103A103A103A103A103F0 -:1050A000A103A103A103A103A103A103A103A103E0 -:1050B000A103A103A103A103A103A103A103A103D0 -:1050C00041024102410241024102410241024102C8 -:1050D00041024102410241024102410241024102B8 -:1050E00041024102410241024102410241024102A8 -:1050F0004102410241024102410241024102410298 -:10510000B503B503B503B503B503B503B503B503DF -:10511000B503B503B503B503B503B503B503B503CF -:10512000AF01AF01AF01AF01AF01AF01AF01AF01FF -:10513000A103A103A103A103A103A103A103A1034F -:10514000A103A103A103A103A103A103A103A1033F -:10515000A10385048504A103A1038504A103A10380 -:10516000A103A103A103A103A103A103A103A1031F -:10517000A103A103A103A103A103A103A103A1030F -:105180008504A1034501A103A103A103A103A10378 -:10519000A103A103A103A10385048F04A103A1031B -:1051A0008F048F048F048F048F048F048F048F0467 -:1051B0008F048F048504A103A103A103A103A1030C -:1051C000A103A103A103A103A103A103A103A103BF -:1051D000A103A103A103A103A103A103A103A103AF -:1051E000A103A103A103A103A103A103A103A1039F -:1051F000A103A103A1035304A103A704A103A103D5 -:10520000A103A103A103A103A103A1038F04A1038F -:10521000A103A103A103A103A103A1038F04A1037F -:10522000A103A103A103A1038F04A103A103A1036F -:10523000A103A103A1035304A103A704A103A10394 -:10524000A103A103A103A103A103A103A103A1033E -:10525000A103A103A103A103A103A103A103A1032E -:10526000A103A103A103A103A103A103A103A1031E -:10527000A103A103A103A103A103A103A103A1030E -:10528000A103A103A103A103A103A103A103A103FE -:10529000A103A103A103A103A103A103A103A103EE -:1052A000A103A103A103A103A103A103A103A103DE -:1052B000A103A103A103A103A103A103A103A103CE -:1052C000A103A103A103A103A103A103A103A103BE -:1052D000A103A103A103A103A103A103A103A103AE -:1052E000A103A103A103A103A103A103A103A1039E -:1052F000A103A103A103A103A103A103A103A1038E -:10530000A103A103A103A103A103A103A103A1037D -:10531000A103A103A103A103A103A103A103A1036D -:10532000A103A103A103A103A103A103A103A1035D -:10533000A103A103A103A103A103A103A103A1034D -:1053400001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B -:10535000FF323031343131313430312D302D673836 -:1053600037656236616600426F6F74737472617084 -:1053700000000000009F1A721A471A4F1A621A7131 -:105380001AAD09A4099D099609410A390A310A2969 -:105390000A210A190A110A080AFF09F609ED09E4A7 -:1053A00009DB09D209C809BE097E0A750A490A6BD8 -:1053B0000A490A490A490A620A490A490A490A493C -:1053C0000A490A490A490A5D0A66756E6374696F7B -:1053D0006E20002C256C75005C220073636F757461 -:1053E0002E64656C6179006C65642E726564283585 -:1053F0003029000A0B040BFB0AF20AEC0AE50AD872 -:105400000AD40A5B68712D6272696467655D200069 -:10541000747275650066616C7365007B22747970C7 -:1054200065223A227265706C79222C226964223AD4 -:1054300025642C2266726F6D223A25642C227265D7 -:10544000706C79223A002C22656E64223A25737DB5 -:105450000A007B2274797065223A22257322002C7F -:10546000222573223A002C226174223A2573007B94 -:105470002274797065223A227265706F7274222CE0 -:105480002266726F6D223A25642C227265706F72EB -:1054900074223A25737D0A007B2274797065223A62 -:1054A00022616E6E6F756E6365222C2266726F6D5F -:1054B000223A25642C22616E6E6F756E6365223A06 -:1054C000006F6E2E6D6573736167652E67726F7501 -:1054D00070006F6E2E6D6573736167652E67726FF6 -:1054E00075702825642C256400256C755D007B2271 -:1054F00074797065223A22746F6B656E222C227467 -:105500006F6B656E223A222573227D0A007B22741E -:10551000797065223A227265706C79222C2266724B -:105520006F6D223A25642C226964223A25642C226C -:10553000657272223A747275652C227265706C798C -:10554000223A222573227D0A006E6F2072657370E5 -:105550006F6E7365007479706500746F007B2274E0 -:10556000797065223A227265706C79222C226672FB -:105570006F6D223A25642C226964223A256C752CC1 -:1055800022656E64223A747275652C227265706CA5 -:1055900079223A006275737900000000004B2ABB43 -:1055A00003257520646179732C20257520686F753B -:1055B00072732C202575206D696E757465732C20AF -:1055C00025642E2530366C75207365636F6E6473A9 -:1055D000005B25642C5B25642C25645D2C5B5B25BE -:1055E000642C25642C25645D2C5B25642C25642C9F -:1055F00025645D5D5D006261636B7061636B730068 -:105600005B25642C5B25645D2C5B5B0074656D70B1 -:10561000005B25642C5B25642C25642C25645D2CA3 -:105620005B25642C25642C25645D5D005B25642C62 -:105630005B25642C25642C25642C25645D2C5B255E -:10564000642C25642C25732C25735D5D00737461B7 -:105650007465005B25642C5B25642C25645D2C5BE4 -:105660005B25642C25642C25642C25642C25642C56 -:1056700025642C25642C25645D2C5B25642C256415 -:105680002C25642C25642C25642C25642C25642C65 -:1056900025645D5D5D005B25642C5B25642C2564C1 -:1056A0005D2C5B5B25642C25642C25642C25642CE7 -:1056B00025642C25642C25645D2C5B25642C2564D5 -:1056C0002C25642C25642C25642C25642C25645DF4 -:1056D0005D5D002530327825303278253032780013 -:1056E00079657320202020202020006E6F2020204C -:1056F0002020202020007265766973696F6E006239 -:1057000075696C6400736B657463680073657269B6 -:10571000616C0066616D696C7900686172647761C3 -:1057200072650076657273696F6E006C6561640006 -:105730005B25642C5B25642C25642C25642C256456 -:105740002C25642C25642C25642C25645D2C5B257C -:10575000732C25642C25642C25642C256C642C2248 -:105760002573222C256C642C222573225D5D007527 -:10577000736564006D656D6F727900726F75746525 -:10578000730074726F6F7069640073636F7574690E -:1057900064006D657368005B25642C5B25642C25B3 -:1057A000642C25642C25642C25642C25645D2C5BDD -:1057B00025752C25752C25642C25752C2200222C72 -:1057C000220072616E646F6D00746F74616C00759D -:1057D0007074696D65005B25642C5B25642C256401 -:1057E0002C25642C25645D2C5B256C642C256C6455 -:1057F0002C25642C00256C64007265706F72742017 -:105800006E616D65206D75737420626520746865C6 -:1058100020666972737420617267756D656E7400BD -:105820007265706F727420746F6F206C617267653F -:1058300000637573746F6D006E616D65005B256448 -:105840002C5B25642C25645D2C5B222573222C2582 -:10585000735D5D006C73006275696C7420636F6DBD -:105860006D616E642066726F6D20617267733A209D -:105870000075736167653A20706F7765722E736C7F -:10588000656570286D732C205B2266756E63746984 -:105890006F6E225D29004D757374206265207468F7 -:1058A00065206E616D65206F662066756E63746934 -:1058B0006F6E3A200075736167653A2073636F7588 -:1058C000742E64656C6179286D732C2266756E6325 -:1058D00074696F6E222C2E2E2E29006F6E2E6D6530 -:1058E00073736167652E73636F7574006F6E2E6DD1 -:1058F0006573736167652E73636F75742825640023 -:105900006F6E2E74656D70657261747572650025B9 -:10591000732825642C20256429006F6E2E62617423 -:10592000746572792E6368617267696E67002573AA -:1059300028256429006F6E2E626174746572792E59 -:105940006C6576656C006F6E2E612564006F6E2E3F -:105950006125642825642C20256429006F6E2E643F -:105960002564006F6E2E6425642825642C25642927 -:10597000006F6E2E6425642E6C6F77006F6E2E6440 -:1059800025642E686967680066756E6374696F6E5A -:1059900020626F6F742E2573207B25733D6B6579B4 -:1059A0002822257322293B7D006F6E2E68712E6F91 -:1059B0006E6C696E650064617665005B25642C5BC6 -:1059C00025645D2C5B22627965225D5D00726D202D -:1059D0002A0073636F75742E626F6F7400415426D2 -:1059E000460041542657300066756E6374696F6EC9 -:1059F00020737461727475702E00207B2070696E44 -:105A00002E7365746D6F6465282200222C20002996 -:105A10003B00207D00207B2070696E2E77726974B8 -:105A2000652822006F6E2E6D6573736167652E7336 -:105A300069676E616C006F6E2E6D6573736167656B -:105A40002E7369676E616C2825642C2025642900FB -:105A50007374617274757000737461727475702EF2 -:105A6000256300706F7765722E6973636861726772 -:105A7000696E6700706F7765722E6861736261741A -:105A80007465727900706F7765722E7065726365E8 -:105A90006E7400706F7765722E766F6C74616765D7 -:105AA00000706F7765722E766F6C747300706F770D -:105AB00065722E656E61626C6576636300706F77E8 -:105AC00065722E64697361626C6576636300706FE2 -:105AD0007765722E6973766363656E61626C656467 -:105AE00000706F7765722E736C65657000706F77EC -:105AF00065722E7265706F727400706F7765722EAA -:105B000077616B6575702E70696E006D6573682EB8 -:105B1000636F6E666967006D6573682E7365746385 -:105B200068616E6E656C006D6573682E7365747068 -:105B30006F776572006D6573682E73657464617448 -:105B40006172617465006D6573682E7365746B6551 -:105B500079006D6573682E6765746B6579006D6596 -:105B600073682E72657365746B6579006D65736813 -:105B70002E6A6F696E67726F7570006D6573682E3F -:105B80006C6561766567726F7570006D6573682E00 -:105B9000696E67726F7570006D6573682E766572D9 -:105BA000626F7365006D6573682E7265706F7274D5 -:105BB000006D6573682E726F7574696E67006D6530 -:105BC00073682E7369676E616C006D6573682E6C07 -:105BD0006F7373006D6573682E66726F6D006D650F -:105BE00073682E6964006D6573682E6669656C6400 -:105BF00074657374006D6573682E65616368006316 -:105C00006F6D6D616E642E73636F757400636F6D7D -:105C10006D616E642E73636F75742E61636B0063C8 -:105C20006F6D6D616E642E616C6C00636F6D6D6184 -:105C30006E642E6F746865727300636F6D6D616E54 -:105C4000642E67726F75700074656D706572617433 -:105C50007572652E630074656D706572617475721E -:105C6000652E660074656D70657261747572652E5F -:105C70007265706F72740074656D706572617475B1 -:105C800072652E7365746F66667365740074656DF6 -:105C900070657261747572652E63616C69627261A0 -:105CA00074650072616E646F6D6E756D6265720011 -:105CB0006D656D6F72792E7265706F7274007365A9 -:105CC0007269616C2E6D75746500757074696D65AF -:105CD0002E6177616B652E6D6963726F73007570ED -:105CE00074696D652E6177616B652E7365636F6E88 -:105CF000647300757074696D652E736C6565706989 -:105D00006E672E6D6963726F7300757074696D656F -:105D10002E736C656570696E672E7365636F6E6454 -:105D20007300757074696D652E7365636F6E64734F -:105D300000757074696D652E6D6963726F7300759F -:105D40007074696D652E7265706F72740075707411 -:105D5000696D652E6765746C6173747265736574C3 -:105D600000757074696D652E737461747573006C61 -:105D700065642E6F6E006C65642E6F6666006C65E0 -:105D8000642E726564006C65642E677265656E00D2 -:105D90006C65642E626C7565006C65642E63796158 -:105DA0006E006C65642E707572706C65006C656455 -:105DB0002E6265636361707572706C65006C6564FA -:105DC0002E6D6167656E7461006C65642E79656C1B -:105DD0006C6F77006C65642E6F72616E6765006C26 -:105DE00065642E7768697465006C65642E746F72E3 -:105DF0006368006C65642E626C696E6B006C656430 -:105E00002E736574686578006C65642E67657468C8 -:105E10006578006C65642E736574726762006C65EA -:105E2000642E69736F6666006C65642E73617665B7 -:105E3000746F726368006C65642E7265706F727443 -:105E40000064697361626C656400696E7075745F8B -:105E500070756C6C75700070696E2E6D616B656924 -:105E60006E7075740070696E2E6D616B656F757400 -:105E70007075740070696E2E6D616B6570776D0062 -:105E800070696E2E6D616B65646973636F6E6E65AC -:105E9000637465640070696E2E64697361626C6519 -:105EA0000070696E2E7365746D6F64650070696E45 -:105EB0002E726561640070696E2E77726974650078 -:105EC00070696E2E736176650070696E2E737461F1 -:105ED0007475730070696E2E6E756D6265720070F8 -:105EE000696E2E6F7468657273646973636F6E6E2A -:105EF00065637465640070696E2E7265706F72748C -:105F00002E6469676974616C0070696E2E726570C9 -:105F10006F72742E616E616C6F67006261636B708B -:105F200061636B2E7265706F7274006261636B7077 -:105F300061636B2E6C697374006261636B70616383 -:105F40006B2E656570726F6D006261636B7061636B -:105F50006B2E656570726F6D2E757064617465006F -:105F60006261636B7061636B2E64657461696C0060 -:105F70006261636B7061636B2E7265736F757263C0 -:105F800065730073636F75742E7265706F72740041 -:105F900073636F75742E69736C65616473636F7579 -:105FA000740073636F75742E646169737900736331 -:105FB0006F75742E6F7461626F6F740073636F75A9 -:105FC000742E696E646963617465006D6F64756CCD -:105FD000652E737461747573006D6F64756C652ED6 -:105FE000656E61626C650068712E736574746F6BA9 -:105FF000656E0068712E676574746F6B656E0068FE -:10600000712E766572626F73650068712E707269A9 -:106010006E740068712E7265706F72740068712EF4 -:106020006272696467650068712E73657461646487 -:1060300072657373006576656E74732E7374617226 -:1060400074006576656E74732E73746F7000657678 -:10605000656E74732E7365746379636C6500657621 -:10606000656E74732E766572626F7365006B657909 -:106070002E66726565006B65792E7072696E7400AC -:106080006B65792E6E756D626572006B65792E7326 -:106090006176650008200800454550524F4D207735 -:1060A00072697465206661696C65643A20004545D3 -:1060B00050524F4D2072656164206661696C656461 -:1060C0003A2000556E737570706F72746564204568 -:1060D0004550524F4D2076657273696F6E3A2000BD -:1060E0004D656D6F727920616C6C6F636174696F5F -:1060F0006E20666F7220454550524F4D2066616993 -:106100006C656400454550524F4D20636865636B74 -:1061100073756D20696E636F72726563740046619A -:10612000696C656420746F20616C6C6F6361746569 -:10613000206D656D6F727920666F722045455052F3 -:106140004F4D2075706461746500436F756C6420F9 -:106150006E6F742070617273652075706461746510 -:106160006420454550524F4D002C20736C6176657C -:10617000206572726F7220636F64653A2030780018 -:106180004F4B005354414C4C5F54494D454F55546F -:10619000004E41434B5F4E4F5F534C4156455F436A -:1061A0004F4445004E4F5F41434B5F4F525F4E415E -:1061B000434B0041434B5F414E445F4E41434B00D4 -:1061C0005041524954595F4552524F52004249542E -:1061D0005F544F4F5F4C415445004352435F45521B -:1061E000524F5200544F4F5F4D414E595F534C41F7 -:1061F000564553004261636B7061636B20656E7539 -:106200006D65726174696F6E206661696C65643A70 -:106210002000776966690068712E63610041542B24 -:10622000575345433D25640041542B575745503142 -:106230003D25730041542B575750413D2225732271 -:106240000041542B574155544F3D25642C22257352 -:10625000222C25732C2564004154265725640041C7 -:1062600054265925640041542B4E434D4155544FFB -:10627000434F4E463D25642C256400706F6F6C2E95 -:106280006E74702E6F7267006F6E2E776966692E5E -:106290006173736F63696174650041542B575300D8 -:1062A000415426560041542B4E535441543D3F0017 -:1062B00041542B4349443D3F0041542B5645523DE8 -:1062C0003F0041542B47455454494D453D3F000044 -:1062D0000000007103710320843684000000006E0A -:1062E0008479873D844F846871005B25642C5B252D -:1062F000642C25642C25642C25642C25645D2C5B82 -:1063000025732C25732C256C752C2568752C256818 -:10631000755D5D004E6F2077696669206261636B11 -:106320007061636B20666F756E6400776966692EB5 -:106330007265706F727400776966692E7374617428 -:10634000757300776966692E6C6973740077696686 -:10635000692E636F6E66696700776966692E646887 -:10636000637000776966692E73746174696300777E -:106370006966692E72656173736F63696174650024 -:10638000776966692E6469736173736F6369617499 -:106390006500776966692E636F6D6D616E64007765 -:1063A0006966692E70696E6700776966692E646E2A -:1063B000736C6F6F6B757000776966692E676574B3 -:1063C00074696D6500776966692E736C6565700028 -:1063D000776966692E77616B6575700077696669A4 -:1063E0002E766572626F736500776966692E696ED5 -:1063F00064696361746500776966692E737461749A -:10640000730000000000318F0B905489706F6F6C27 -:106410002E626173652E70696E6F63632E696F0003 -:1064200000004F564552464C4F57005B224F564591 -:1064300052464C4F57222C2270696E6F6363696F0E -:10644000222C2273636F7574222C226C6561642286 -:106450002C2276657273696F6E222C2266616D69DB -:106460006C79222C2273657269616C222C2268611E -:10647000726477617265222C226275696C64222CC9 -:10648000226D657368222C2273636F7574696422B0 -:106490002C2274726F6F706964222C22726F757473 -:1064A0006573222C2272617465222C22706F7765CD -:1064B00072222C226469676974616C222C226D6FD0 -:1064C0006465222C227374617465222C22616E61D2 -:1064D0006C6F67222C226261636B7061636B732245 -:1064E0002C226C697374222C2277696669222C2213 -:1064F000636F6E6E6563746564222C226871222C52 -:106500002274656D70222C2263757272656E74221E -:106510002C2268696768222C226C6F77222C2275E6 -:106520007074696D65222C226D696C6C6973222C04 -:106530002266726565222C2272616E646F6D222C58 -:106540002262617474657279222C22766F6C746198 -:106550006765222C226368617267696E67222C224C -:10656000766363222C226C6564222C22746F726322 -:1065700068222C226461697379222C226461766519 -:10658000222C227265736574222C22736B657463EE -:1065900068222C227265766973696F6E222C2263E1 -:1065A0007573746F6D222C226E616D65222C226DC5 -:1065B000656D6F7279222C2275736564222C226CB2 -:1065C00061726765222C22736C656570222C2263D0 -:1065D00068616E6E656C222C2266222C2263222C4E -:1065E000226F6666736574222C22746F74616C224C -:1065F0005D00656E762E74656D702E6300656E7637 -:106600002E74656D702E6600656E762E68756D69E8 -:106610006469747900656E762E6261726F2E6B709C -:106620006100656E762E6261726F2E6D626172001E -:10663000656E762E6261726F2E6D6D686700656E95 -:10664000762E6261726F2E696E686700656E762EB7 -:106650006C696768742E697200656E762E6C696766 -:1066600068742E76697369626C6500656E762E6C4F -:10667000696768742E66756C6C00656E762E6C6941 -:106680006768742E6C757800656E762E6C69676825 -:10669000742E636F6E66696700656E762E73746123 -:1066A00074757300656E7620656E61626C6564005A -:1066B00054656D70204320203A200054656D702091 -:1066C0004620203A200048756D69646974793A2043 -:1066D000005072657373757265206B50613A2000CB -:1066E0005072657373757265206D6261723A200035 -:1066F0005072657373757265206D6D48673A20003E -:106700005072657373757265206D6D496E3A200025 -:106710004C696768742049523A20004C6967687474 -:106720002056697369626C653A20004C6967687429 -:106730002046756C6C3A20004C69676874204C7573 -:10674000783A200000000000E593E493E193666C42 -:106750006173682E696E697469616C697A65006637 -:106760006C6173682E777269746500666C6173681A -:106770002E7265616400666C6173682E6572617368 -:10678000652E737562736563746F7200666C6173F6 -:10679000682E65726173652E736563746F7200662F -:1067A0006C6173682E65726173652E62756C6B0027 -:1067B00043616E207772697465206D6178696D75CB -:1067C0006D20737472696E67206C656E67746820E3 -:1067D0006F66203634206279746573000000000013 -:1067E000539A529A4F9A68656C6C6F0068656C6C2E -:1067F0006F20656E61626C656400776F726C640017 -:1068000000000000E29CE19CDE9C24475047474189 -:1068100000244750524D430024504D544B313835DD -:106820002C302A32320024504D544B3030312C3130 -:1068300038352C332A33430024504D544B313833F0 -:106840002A33380024504D544B4C4F470024504DB0 -:10685000544B3136312C302A32380024504D544BB1 -:106860003031302C3030322A3244006D6F74696F11 -:106870006E2E766572626F7365006D6F74696F6EF0 -:106880002E6770732E74696D65006D6F74696F6E1D -:106890002E6770732E7361742E666978006D6F7445 -:1068A000696F6E2E6770732E7361742E66697871CE -:1068B00075616C697479006D6F74696F6E2E6770A5 -:1068C000732E7361742E636F756E74006D6F7469CF -:1068D0006F6E2E6770732E6C6174697475646500D9 -:1068E0006D6F74696F6E2E6770732E6C6F6E676953 -:1068F00074756465006D6F74696F6E2E6770732EAA -:106900007370656564006D6F74696F6E2E67707368 -:106910002E616E676C65006D6F74696F6E2E6261BB -:10692000726F2E7072657373757265006D6F746926 -:106930006F6E2E6261726F2E616C7469747564651E -:10694000006D6F74696F6E2E6261726F2E74656D6B -:1069500070657261747572650024504D544B33310B -:10696000342C302C312C302C312C302C302C302C41 -:10697000302C302C302C302C302C302C302C302C37 -:10698000302C302C302C302A32380024504D544BCF -:106990003232302C313030302A3146004E6F207385 -:1069A0006174656C6C697465206669782E20546921 -:1069B0006D65206E6F7420617661696C61626C65D3 -:1069C000003230002D002F0000000000EA9F45A299 -:1069D000969F6F74612E70696E67006F74612E737D -:1069E00074617274006F74612E626C6F636B006F00 -:1069F00074612E636C6F6E65006F74612E656E64DA -:106A0000004E6F2061636B20726563656976656413 -:106A1000005458206661696C6564004641494C0029 -:106A20007B2773686F72745F61646472273A307891 -:106A3000253034582C2027737461747573273A30CD -:106A400078253032582C20276572726E6F273A30C5 -:106A500078253034582C276170706E616D65273A47 -:106A600020272573272C2027626F6172646E616D69 -:106A700065273A272573272C202776657273696F5F -:106A80006E273A3078253032582C202763726327DE -:106A90003A3078253034587D00206279746573204F -:106AA000726561642900000000002EA530A82BA5A6 -:106AB000706978656C732E61646400706978656CC8 -:106AC000732E73657472676200706978656C732EDB -:106AD00073657468737600706978656C732E73657E -:106AE0007468756500706978656C732E736574627F -:106AF00072696768746E65737300706978656C732A -:106B00002E6F6666000000000068AD4DAD4AAD0016 -:106B100000000099AD40AD4EADD8B0E0B147AD49F1 -:106B2000AD8730736572766F2E696E697469616CBA -:106B3000697A6500736572766F2E7365745065723D -:106B4000696F6400736572766F2E7374617274007E -:106B5000736572766F2E73746F7000736572766FE3 -:106B60002E7265737461727400736572766F2E7223 -:106B70006573756D6500736572766F2E70776D0045 -:106B8000736572766F2E73657450776D4475747982 -:106B900000736572766F2E64697361626C655077FD -:106BA0006D000000000068B467B442B4736E69669B -:106BB0006665722E737461727400534E494600000C -:106BC000000000B8B6B7B6B4B65C752530347800AE -:106BD00020280053504920307866663F00535049C2 -:106BE0002041434B2072656365697665643F0042CE -:106BF0006567696E2829206E6F742063616C6C650F -:106C00006421003C3C3D2000526563656976656403 -:106C1000206173796E6368726F6E6F757320726531 -:106C200073706F6E73652073796E6368726F6E6FC9 -:106C300075736C793A2000536F636B6574206572CD -:106C4000726F72206F6E206369642000556E6B6EE8 -:106C50006F776E206573636170652073657175650C -:106C60006E63653A203C4573633E0072785F6173E2 -:106C7000796E632069732066756C6C003C3C7C20E7 -:106C8000526561642062756C6B206461746120667A -:106C900072616D6520666F722063696420002063F5 -:106CA0006F6E7461696E696E672000496E76616C03 -:106CB0006964206573636170652073657175656EC5 -:106CC00063653A203C4553433E5A003C3C7C20528D -:106CD000656164206173796E6320686561646572C3 -:106CE0003A203C4553433E79003C3C7C2052656150 -:106CF000642062756C6B2055445020736572766514 -:106D0000722064617461206672616D6520666F72C5 -:106D10002063696420002066726F6D2000496E76E2 -:106D2000616C69642065736361706520736571755A -:106D3000656E63653A203C4553433E79003C3C7C9C -:106D40002052656164206173796E632068656164B7 -:106D500065723A203C4553433E4100496E76616C72 -:106D60006964206573636170652073657175656E14 -:106D700063653A203C4553433E41003C3C7C2052F5 -:106D8000656164206173796E6320646174613A2087 -:106D900000556E6B6E6F776E206173796E63207233 -:106DA00065706F6E73653A20737562747970653DB6 -:106DB000002C206C656E6774683D002C2064617443 -:106DC000613D00526573706F6E73652074696D6507 -:106DD0006F7574003C3C7C20536B69707065642057 -:106DE000756E696E746572657374696E67206C6F19 -:106DF0006E67206C696E6500526573706F6E7365A7 -:106E00002062756666657220746F6F20736D616CA9 -:106E10006C2C2064726F7070656420627974653ABE -:106E20002000526573706F6E7365206275666665CB -:106E30007220746F6F20736D616C6C2C2072656DA5 -:106E40006F76656420627974653A200052657370CC -:106E50006F6E7365206275666665722074696E79FF -:106E60003F2044726F7070656420627974653A20C7 -:106E7000004461746120726573706F6E7365207475 -:106E8000696D656F7574003C3C7C205265616420BF -:106E900064617461204F4B20726573706F6E73650F -:106EA000003C3C7C20526561642064617461204632 -:106EB00041494C20726573706F6E7365003E3E7C75 -:106EC0002057726974696E672062756C6B2064610B -:106ED0007461206672616D6520666F7220636964FB -:106EE00020001B5A2578253034640053656E646990 -:106EF0006E672062756C6B206461746120667261DC -:106F00006D65206661696C65640025642E25642EBC -:106F100025642E2564003E3E7C2057726974696E9C -:106F20006720554450207365727665722062756CD7 -:106F30006B2064617461206672616D6520666F729A -:106F400020636964200020746F20001B5925782578 -:106F5000733A25753A253034640053656E64696E62 -:106F60006720554450207365727665722062756C97 -:106F70006B2064617461206672616D652066616971 -:106F80006C656400436F6D6D616E64207472756E24 -:106F900063617465643A20003E3E3D2000415456D2 -:106FA0003000415445300041542B42444154413D4E -:106FB000310041542B4153594E434D5347464D5494 -:106FC0003D310072785F6461746120697320667579 -:106FD0006C6C2C2064726F707065642062797465CB -:106FE00020666F7220636964200049503A00415462 -:106FF0002B4E435443503D25732C25640041542BA4 -:107000004E435544503D25732C25640041542B4E6E -:10701000535544503D25750041542B57413D222581 -:1070200073222C25732C25642C25640041542B5786 -:10703000440041542B4E444843503D25642C2225A6 -:1070400073220041542B4E444843503D2564004177 -:10705000542B4E5345543D25732C25732C2573001A -:1070600041542B444E535345543D25732C257300F6 -:1070700041542B444E535345543D25730041542BEA -:107080004E434C4F53453D25780041542B4E5449B7 -:107090004D4553594E433D312C25732C25642C30DE -:1070A0000041542B4E54494D4553594E433D312CCC -:1070B00025732C25642C312C25640041542B444E1F -:1070C000534C4F4F4B55503D25730041542B535358 -:1070D0004C4F50454E3D25782C25730041542B5480 -:1070E000434552544144443D25732C302C25642C97 -:1070F00025640041542B4E4155544F3D302C25649E -:107100002C25732C25640041542B4E4155544F3D82 -:10711000312C25642C2C25640041542B4E434D41C9 -:1071200055544F3D25642C25642C25642C25640082 -:107130000000000023C142C158C15EC16CC139C109 -:1071400048D608D664C172C178C13AC112D60BD6EE -:107150002073796D3D0020763D006D61726B3A00C1 -:107160004000696E69743A00534B505B005D534BAD -:10717000500062616E6E6572000020210000000008 -:10718000BF01BB03D7033902FF02C30100000000A7 -:1071900027040D0A006E616E00696E66006F7666E8 -:0271A0000000ED -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/README.md b/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/README.md deleted file mode 100644 index 245d5e67..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/README.md +++ /dev/null @@ -1,7 +0,0 @@ -Here are some hex files for the Pinoccio Scout. Detailed descriptions follow: - -- **Blink.cpp.hex** - This is the standard Blink example, but blinking on pin 23. This is the green component of the onboard 'torch' LED. If you you prefer Red or Blue, you can recompile with 21 or 22. - -- **Bootstrap.cpp.hex** - This is the firmware that the Pinoccio ships with. If you are planning on using [pinoccio-io](https://github.com/soldair/pinoccio-io), this is what you'll want on the board as that module uses ScoutScript instead of Firmata. - -- **StandardFirmata.cpp.hex** - This is a Firmata compiled for the Scout. With this, the Pinoccio will behave like any other Arduino without wireless capability. It may be just what you want. To compile your own, you will need will need the latest [firmata](https://github.com/firmata/arduino). \ No newline at end of file diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/StandardFirmata.cpp.hex deleted file mode 100644 index 76bd4555..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/pinoccio/StandardFirmata.cpp.hex +++ /dev/null @@ -1,877 +0,0 @@ -:100000000C94BD010C94EE010C94EE010C94EE01E5 -:100010000C94EE010C94EE010C94EE010C94EE01A4 -:100020000C94EE010C94EE010C94EE010C94EE0194 -:100030000C94EE010C94EE010C94EE010C94EE0184 -:100040000C94EE010C94FB090C94EE010C94EE015F -:100050000C94EE010C94EE010C94EE010C94C5127C -:100060000C94EE010C9400170C9436170C94EE01CE -:100070000C94EE010C94EE010C94EE010C94EE0144 -:100080000C94EE010C94EE010C94EE010C94EE0134 -:100090000C94EE010C94EE010C94EE010C94C30D43 -:1000A0000C94EE010C94EE010C94EE010C94EE0114 -:1000B0000C94EE010C94EE010C94EE010C94EE0104 -:1000C0000C94EE010C94EE010C94EE010C94EE01F4 -:1000D0000C94EE010C94EE010C94EE010C94EE01E4 -:1000E0000C94EE010C94EE010C94EE010C94EE01D4 -:1000F0000C94EE010C94EE010C94EE010C94EE01C4 -:100100000C94EE010C94EE010C94EE010C94EE01B3 -:100110000C94EE010C94EE010C94EE010C94EE01A3 -:100120000C94EE010C94EE010C94EE010C94EE0193 -:100130000C94EE0142095E0983085E09F3085E092A -:1001400062080A085E095E095E095E095E09250704 -:100150005E09F1075E0949081E142314281432149D -:100160003C14B51446144E14561460146A147414D6 -:1001700083148D14B5149714A114AB14D714DA1486 -:10018000C914CD14D3141115DE14E214E814EC14C0 -:10019000F014F614FA14FE141115041508150C15B4 -:1001A0000C94B6120C94BA120C9412180C94C91434 -:1001B0000C9497140C9442090C94C3150C942507C5 -:1001C0000C94FA140C9474140C9485020C94F31788 -:1001D0000C9409020C94F0010C944E140C94DE144F -:1001E0000C94DA140C948B060C948D140C94EC146F -:1001F0000C9460170C9456140C9483140C940506FC -:100200000C94100C0C94C0040C94AA150C94E214D9 -:100210000C94C4020C9439160C940A080C9408151A -:100220000C94F0140C940C150C94FE140C941115F1 -:100230000C943B0C0C94D7140C94CD140C943214E5 -:100240000C94680C0C943A0C0C94B5150C942B0C73 -:100250000C94F3080C941E140C946A170C945E0909 -:100260000C9460140C9404150C94E8140C94490834 -:100270000C94F1070C9417160C9423140C94F61498 -:100280000C94E10C0C943C140C94AB140C94D3140B -:100290000C9412070C94B5140C94A1140C94180C23 -:1002A0000C94AD170C946A140C9485030C9462089A -:1002B0000C9446140C94D7150C9483080C942814B1 -:1002C000000001090A0B000000000000000000000F -:1002D0000000000000070304000000000000000010 -:1002E00001028008102004402001040802040801D3 -:1002F000021080408010204001020408102040803D -:1003000005050205050505050402020202040404B0 -:100310000404050404020202060606060606060692 -:10032000000000002300000029002C002F003200F4 -:100330000000000000000000000000000000250098 -:1003400000002B002E0031003400000000000000EF -:100350000000000000000000240000002A002D0022 -:1003600030003300000000000000000000008B0699 -:10037000E10CB612BA126A17F31711241FBECFEFA1 -:10038000D1E8DEBFCDBF00E00CBF12E0A0E0B2E0DC -:10039000E4EDF5E300E00BBF02C007900D92AC3D29 -:1003A000B107D9F725E0ACEDB2E001C01D92A13E46 -:1003B000B207E1F713E0CAE7D3E000E006C02297F6 -:1003C0000109FE010BBF0E947A19CE36D10780E0E9 -:1003D0000807A9F70E9403180C94E81A0C9400006F -:1003E0009EEF980F9F3020F098EE980F983080F491 -:1003F000E82FF0E0DF01A254BC4F9C91923040F412 -:10040000EE0FFF1FE658FC4F608371830C944B1571 -:1004100008951F93CF93DF93162F843008F071C097 -:10042000482F440F440F440F485FD82FDD0FDD0FD6 -:10043000DD0F8D2FC0E091E0841708F52EEF280F17 -:100440002F3020F028EE280F2830B0F4E82FF0E00D -:10045000DF01A254BC4F2C91223070F4C92BEE0F57 -:10046000FF1FE658FC4F21E030E0592F512311F4D3 -:1004700020E030E031832083990F8F5FDDCFC0FF14 -:1004800005C0612F61708D2F0E944B15C1FF06C002 -:10049000612F627081E08D0F0E944B15C2FF06C074 -:1004A000612F647082E08D0F0E944B15C3FF06C060 -:1004B000612F687083E08D0F0E944B15C4FF06C04A -:1004C000612F607184E08D0F0E944B15C5FF06C03F -:1004D000612F607285E08D0F0E944B15C6FF06C02C -:1004E000612F607486E08D0F0E944B15C7FF09C015 -:1004F000612F607887E08D0FDF91CF911F910C9471 -:100500004B15DF91CF911F9108950F931F93CF93B8 -:10051000DF93EB01803298F5082F10E0F801E254E8 -:10052000FC4F90819330C9F0943049F59EEF980FBD -:100530009F3018F088518830D8F4F801E551FD4F0C -:10054000208130E0C901880F991F820F931FBE01DF -:10055000855F9C4F0E949C0B0BC09EEF980F9430C0 -:1005600020F09BEE980F933018F4BE010E94F81310 -:10057000F801EE0FFF1FE658FC4FD183C083DF91D7 -:10058000CF911F910F910895CF93C82F883058F5C0 -:100590004091E6035091E70321E030E0082E02C0CD -:1005A000220F331F0A94E2F7672B49F42095309508 -:1005B000242335233093E7032093E60314C0242B30 -:1005C000352B3093E7032093E6038091DC02811101 -:1005D0000AC08C2F0E94D313AC016C2F8EEC94E0D8 -:1005E000CF910C946F10CF910895DB019A019091F7 -:1005F000DD029C30D0F54091DE02682F70E044238C -:1006000069F0E42FF0E0E252FD4F8081FB01E551FB -:10061000FD4F808341504093DE0207C0FB01E5514E -:10062000FD4F90839F5F9093DD02FB01E551FD4FED -:100630001A161B067CF41216130664F4408150E06F -:10064000CA01880F991F840F951FAD01855F9C4FCC -:100650000C94D70A208130E0C901880F991F820FBE -:10066000931F855F9C4F0C94550B6EE072E08EECEF -:1006700094E00C94FD10CF93DF93C82FD0E0C551C8 -:10068000DD4F288130E0C901880F991F820F931F29 -:10069000855F9C4F0E945B0B88819091DD028913DE -:1006A00006C0882379F081508093DD020BC0992326 -:1006B00049F0E091DE02EF5FE093DE02F0E0E2520B -:1006C000FD4F80838FEF8883DF91CF9108951F9333 -:1006D000CF93DF93162FC82FD0E0FE01E654FC4FD6 -:1006E00090811923C252DC4F411103C098819117A8 -:1006F00041F0412F50E0682F8EEC94E00E9488106A -:100700001883DF91CF911F910895EF92FF920F937D -:100710001F93CF93DF93E82E83E08E1508F4ACC0CF -:100720002E2D30E0F901EE51FC4F6083672B09F468 -:10073000A3C0F901E654FC4FF0801E2D110F110FDC -:10074000110F8EEF810F8F3068F088EE810F8830A7 -:1007500008F076C0F0FE74C088E10E948115892BF4 -:1007600009F46EC001E08FEF810F8F3008F46AC08A -:1007700089EE810F883048F4F1FE07C081E0810FD7 -:100780000E948115892B09F05DC0C12FD0E0CF30C8 -:10079000D1050CF459C08AEE810F883048F4F2FE7E -:1007A00007C082E0810F0E948115892B09F04CC09F -:1007B0008BEE810F883048F4F3FE07C083E0810F91 -:1007C0000E948115892B09F044C08CEE810F88307E -:1007D00040F4F4FE06C084E0810F0E948115892B4D -:1007E000E9F58DEE810F883040F4F5FE06C085E016 -:1007F000810F0E948115892BB1F58EEE810F883013 -:1008000040F4F6FE06C086E0810F0E948115892B18 -:1008100071F58FEE810F883040F4F7FE06C087E057 -:10082000810F0E948115892B29F541E0602F8E2DC3 -:10083000DF91CF911F910F91FF90EF900C94670380 -:1008400000E091CF0260A1CF0460CE30D1050CF062 -:10085000AFCF0860CD30D1050CF0B7CF0061CC3000 -:10086000D1050CF0BECF0062CB30D10534F6006468 -:100870002A977CF60068D9CFDF91CF911F910F9115 -:10088000FF90EF900895CF93DF938091E203882348 -:1008900029F040E06CEF80E00E9467038091E30361 -:1008A000882329F040E06FEF81E00E946703809188 -:1008B000E403882329F040E061E082E00E946703BE -:1008C0008091E503882309F452C0D091BD03D0FF85 -:1008D0003EC088E10E948115892BC9F1C1E0D1FF9A -:1008E00005C089E10E948115892B99F5D2FF05C0C9 -:1008F0008AE10E948115892B71F5D3FF05C08BE138 -:100900000E948115892B49F5D4FF05C08CE10E9416 -:100910008115892B21F5D5FF05C08DE10E94811538 -:10092000892BF9F4D6FF05C08EE10E948115892B31 -:10093000D1F4D7FF05C08FE10E948115892BA9F45E -:1009400040E06C2F83E0DF91CF910C946703C0E00F -:10095000C6CFC260CBCFC460D0CFC860D5CFC06196 -:10096000DACFC062DFCFC064E4CFC068E9CFDF91E7 -:10097000CF910895109231038FEF80930A0208956A -:10098000AF92BF92DF92EF92FF920F931F93CF939C -:10099000DF931F921F92CDB7DEB7D82E5B01E82EF2 -:1009A000F12C870102541C4FF80180818F3709F424 -:1009B0000AC1863049F480913103882329F06630DA -:1009C000710511F00E94BA045EEF5D0D48EE4D0D09 -:1009D0005F3030F04830D0F484E0A816B104B1F0B4 -:1009E000F701E551FD4F20812C3080F430E0C90142 -:1009F000880F991F820F931F855F9C4F4A835983ED -:100A00000E94010C4A8159818111BFC0483008F011 -:100A1000D6C061E070E0E2E0AE16B10411F060E033 -:100A200070E0842F4A8359830E94C40259814A810D -:100A3000ED2DE695E695E6958D2D8770F0E0E65470 -:100A4000FC4F21E030E0082E01C0220F0A94EAF7A3 -:100A5000A114B10421F48081822B808304C02095ED -:100A6000808128232083F701EE0FFF1FE658FC4FFB -:100A700011821082F2E0AF16B104A1F03CF4A1148F -:100A8000B104E9F0AA94AB2851F16EC0F4E0AF16BE -:100A9000B10409F445C094F1E6E0AE16B10409F4DE -:100AA0005BC062C0483008F08EC060E08D2D0E94AF -:100AB000121560E08D2D0E944B1582E052C05F3010 -:100AC00018F0483008F07FC060E08D2D0E941215AC -:100AD00060E08D2D0E944B15F801108274C05F30CC -:100AE00018F0483008F06FC060E08D2D0E944B1563 -:100AF00061E08D2D0E94121581E033C0543028F042 -:100B00008BEE8D0D833008F05EC061E08D2D0E946C -:100B1000121560E070E08D2D0E94F81383E021C073 -:100B20005F3018F0483008F04EC084E0F801808350 -:100B3000F701E551FD4F80818F3F79F190E09C01F5 -:100B4000220F331F280F391FC901855F9C4F0E9458 -:100B5000010C811138C021C081EF8D0D823098F5D4 -:100B600086E0F80180832FC062E272E08EEC94E0B0 -:100B70000F900F90DF91CF911F910F91FF90EF9009 -:100B8000DF90BF90AF900C94FD108D2D4A83598358 -:100B90000E943B034A81598139CF4FEF5FEF6FEFDE -:100BA0007FEF8D2D0F900F90DF91CF911F910F91BF -:100BB000FF90EF90DF90BF90AF900C94F5025F3004 -:100BC00008F436CF50CF0F900F90DF91CF911F9147 -:100BD0000F91FF90EF90DF90BF90AF900895CF936B -:100BE000C0E081EF8C0F823028F466E070E08C2F3B -:100BF0000E94C004CF5FC032A1F781E0809331032F -:100C00008EE094E0CF910C94A70C0F931F93CF9399 -:100C1000DF9381E08093DC028091310381110E9497 -:100C2000BA04E2EEF3E0CAEBD3E0AEEDB3E011922A -:100C300019921D9283E0E63EF807C9F7CBEED2E0A9 -:100C400010E00FEF88EE810F883018F462E070E05A -:100C500002C061E070E0812F0E94C00409931F5F11 -:100C6000103281F71092E7031092E6031092DE0231 -:100C70001092DD021092DC02DF91CF911F910F9153 -:100C8000089524E042E063E372E08EEC94E00E9479 -:100C9000960F45E852E060EE8EEC94E00E940B1156 -:100CA00049E052E060E98EEC94E00E940B1144ECC4 -:100CB00052E060EC8EEC94E00E940B1145E853E0AA -:100CC00060ED8EEC94E00E940B1140EC54E064EF78 -:100CD0008EEC94E00E940B1140EF51E065EF8EEC3A -:100CE00094E00E940B1142E157E060EF8EEC94E03B -:100CF0000E943B1145E056E06FEF8EEC94E00E94BD -:100D0000331140E051EE60E070E08EEC94E00E9420 -:100D10009F120C940506CF93DF93CBE0D3E0CE0176 -:100D20000E94BB0A239683E0CF32D807C1F7DF9138 -:100D3000CF910895682F8EE094E00C94680C8EE0BB -:100D400094E00E94180C0895DF92EF92FF920F93A7 -:100D50001F93CF93DF93F82EEB01D42E6F3F8FEFCD -:100D60007807A9F06F2D8EE094E00E94C10C8C2FC3 -:100D70000E949A068EE094E00E94DE0C80912F0380 -:100D800090913003009729F00E94661302C0C0E0E2 -:100D9000D0E04D2D6F2D8EE094E00E94BE0C0D2D05 -:100DA00010E08EE094E00E94100C081719071CF464 -:100DB00067E472E009C08EE094E00E94100C801796 -:100DC000910734F464E672E08EEC94E00E94FD102A -:100DD000F0923203C093330374E3E72E73E0F72EEF -:100DE000C0E0D0E0C017D10784F042E04D0D22E30F -:100DF00033E067E78EEC94E0DF91CF911F910F9184 -:100E0000FF90EF90DF900C94B6108EE094E00E947B -:100E1000100C892B51F30E949F06F70181937F01EB -:100E20002196E0CFFF920F931F93CF93DF93162F5E -:100E3000EA0190E0FC01E956F109E231F10508F020 -:100E40003DC2E656FF4F0C9469198981982F98711D -:100E500085FF03C060E872E054C08881983069F172 -:100E600048F491112BC2682F8EE094E00E94C10CCF -:100E700002E007C0903109F43EC0983109F46EC019 -:100E80001DC2011768F4FE01E00FF11D9181808100 -:100E900020E8929F801911240E949A060E5FF1CFDC -:100EA0008EE094E00E94DE0C86E490E0DF91CF912A -:100EB0001F910F91FF900C9466134A816B8116303D -:100EC00069F430E8639FB0011124640F711D9D81A6 -:100ED0004C8150E8959F4019112406C090E8699F05 -:100EE000401911246FEF7FEFDF91CF911F910F9188 -:100EF000FF900C94A406E0910A02E7305CF060EAEF -:100F000072E08EEC94E0DF91CF911F910F91FF90F2 -:100F10000C94FD109A812B81F0E8663061F42F9FCC -:100F200090011124290F311D4D819C8150E8459F6E -:100F30009019112405C02F9F901911242FEF3FEF16 -:100F4000EF5FE0930A0244E0E402F0011124EE5A5C -:100F5000FC4F8083328321839383B0C150910A0276 -:100F6000151634F440E0252F332727FD30950EC0A9 -:100F70008FEF80930A02A2C1EE0FFF1FEE0FFF1F3B -:100F8000EE5AFC4F9081981719F14F5FE42FF0E073 -:100F90002E173F078CF740E01BC04830C0F4DF013C -:100FA000AA0FBB1FAA0FBB1FAA5ABC4F8C91EE0FF2 -:100FB000FF1FEE0FFF1FEE5AFC4F808311968D919D -:100FC0009C9112979283818313968C9183834F5FB8 -:100FD000E42FF0E02E173F0704F7515050930A0218 -:100FE0006DC12881898150E8859FC0011124820F3D -:100FF000911D009721F09093300380932F038091EF -:10100000310381115BC1DF91CF911F910F91FF904F -:101010000C94EF05653008F451C1F88089810A818C -:1010200090E8099F80011124080F111D8B81CC814C -:10103000E0E8CE9FE0011124C80FD11D8EEF8F0D87 -:101040008F3028F088EE8F0D883008F037C1EF2DF3 -:10105000F0E0E551FD4F40814C3060F450E0CA01B2 -:10106000880F991F840F951F855F9C4F0E94010C6C -:10107000811120C1AE01B8018F2D0E94F50264E0FC -:1010800070E08F2DDF91CF911F910F91FF900C9405 -:10109000C004623008F412C128818981F0E88F9F72 -:1010A000C0011124820F911D90930C0280930B02BA -:1010B000892B09F003C181E090E090930C028093AA -:1010C0000B02FCC0623008F4F9C0698170E0123094 -:1010D00091F08A8120E8829FC0011124682B792B2E -:1010E000133049F08B8190E090E4899F902D882700 -:1010F0001124682B792B8881DF91CF911F910F915B -:10110000FF900C94850260EF8EEC94E00E94011138 -:101110006CE68EEC94E00E940111D8EECEEFCF3059 -:1011200010F0D83000F560E08EEC94E00E940111E0 -:1011300061E08EEC94E00E94011161E08EEC94E09D -:101140000E94011161E08EEC94E00E940111D83000 -:1011500050F462E08EEC94E00E9401116AE08EECA3 -:1011600094E00E940111C43020F08DEE8C0F83308A -:1011700050F463E08EEC94E00E94011168E08EEC84 -:1011800094E00E940111CF3010F0D83050F464E0A8 -:101190008EEC94E00E9401116EE08EEC94E00E94CF -:1011A000011183EF8C0F823050F466E08EEC94E0F6 -:1011B0000E94011161E08EEC94E00E9401116FE742 -:1011C0008EEC94E00E940111CF5FDF5FCE3109F019 -:1011D000A6CF67EF8EEC94E0DF91CF911F910F9136 -:1011E000FF900C940111662309F468C0C88160EF78 -:1011F0008EEC94E00E9401116EE68EEC94E00E9469 -:1012000001116C2F8EEC94E00E940111C03208F79E -:10121000D0E0FE01E254FC4F60818EEC94E00E942D -:101220000111CC0FDD1F8E0106581C4FF8016081A3 -:101230006F778EEC94E00E940111F801608171815A -:10124000CB018078892B49F0660F672F661F770BDB -:101250006F778EEC94E00E940111C658DC4F6881D4 -:101260007981CB018827907C892B09F4B2CF770F45 -:10127000660B770F762F661F6F778EEC94E00E94D7 -:101280000111A7CF60EF8EEC94E00E9401116AE695 -:101290008EEC94E00E940111C8EEC83010F06FE7A8 -:1012A00001C06C2F8EEC94E00E940111CF5FC8301A -:1012B000A1F78FCF8F2D0E943B03DCCEDF91CF9122 -:1012C0001F910F91FF9008958F929F92AF92BF92BE -:1012D000CF92DF92EF92FF920F931F93CF93DF9302 -:1012E0000E9443048EEC94E00E94F60F892B29F0B3 -:1012F0008EEC94E00E946611F5CF0E940F1360936C -:101300007603709377038093780390937903C0906A -:101310007203D0907303E0907403F09075034091D2 -:101320000B0250910C024A01A12CB12C8B019C01A3 -:101330000C191D092E093F0980169106A206B30655 -:1013400008F04CC0D501C4018C0D9D1DAE1DBF1D04 -:101350008093720390937303A0937403B093750307 -:10136000CEEBD3E018EE1830C0F488818230A9F4B7 -:101370002091E6033091E703012E02C035952795B1 -:101380000A94E2F720FF09C0812F0E94D313AC0119 -:10139000612F8EEC94E00E946F101F5F2196183031 -:1013A00011F780910A0287FD19C0C0E0EC2FF0E030 -:1013B00080910A02992787FD90958E179F0774F0F8 -:1013C000EE0FFF1FEE0FFF1FEE5AFC4F618172817F -:1013D000438180810E94A406CF5FE8CFDF91CF9147 -:1013E0001F910F91FF90EF90DF90CF90BF90AF9043 -:1013F0009F908F9008951F920F920FB60F92112415 -:101400000BB60F922F933F934F935F936F937F93FE -:101410008F939F93AF93BF93EF93FF938091E903D3 -:1014200087FF05C010928500109284001AC0209199 -:10143000E903332727FD30958091E80390E02817D2 -:1014400039077CF48091E903992787FD9095FC0189 -:10145000EE0FFF1FE80FF91FE651FC4F808186FD5C -:1014600015C08091E9038F5F8093E9032091E90320 -:10147000332727FD30958091E80390E0281739073E -:10148000BCF48091E9038C305CF112C08091E903D7 -:10149000992787FD9095FC01EE0FFF1FE80FF91FBC -:1014A000E651FC4F808160E08F730E944B15D9CFCD -:1014B0008091840090918500049680349C4918F4B2 -:1014C00080E49CE905C08091840090918500049699 -:1014D00090938900809388008FEF8093E90338C050 -:1014E00020918400309185008091E903992787FD40 -:1014F0009095FC01EE0FFF1FE80FF91FE651FC4F1E -:1015000081819281820F931F90938900809388003C -:101510008091E903992787FD9095FC01EE0FFF1F4D -:10152000E80FF91FE651FC4F808186FF11C08091C2 -:10153000E903992787FD9095FC01EE0FFF1FE80F47 -:10154000F91FE651FC4F808161E08F730E944B15BB -:10155000FF91EF91BF91AF919F918F917F916F918B -:101560005F914F913F912F910F900BBE0F900FBE47 -:101570000F901F9018952091E8032C30A0F431E0D3 -:10158000320F3093E803FC012083822F90E0FC01AE -:10159000EE0FFF1FE80FF91FE651FC4F88EB9BE0B1 -:1015A0009283818308952FEFFC0120830895DF92B9 -:1015B000EF92FF920F931F93CF93DF93EC01D62E00 -:1015C0007A01890188818C3008F066C061E08D2D38 -:1015D0000E9412158881A82FB0E0FD01EE0FFF1FB9 -:1015E000EA0FFB1FE651FC4F2D2D2F739081907C4D -:1015F000922B908360E272E06E197F0977FF02C040 -:101600006D5F7F4F7595679575956795698340E622 -:1016100059E0401B510B57FF02C04D5F5F4F55957E -:101620004795559547954A836CE00E941C199CE0AC -:10163000899FB001112420E030E0A901460F571F17 -:10164000FA01EE0FFF1FE40FF51FE651FC4F9081EA -:1016500096FD16C02F5F3F4F2C30310571F7811179 -:101660000FC01092800082E080938100109285006C -:1016700010928400B19A80916F00826080936F0015 -:10168000888190E0FC01EE0FFF1FE80FF91FE65183 -:10169000FC4F8081806480838881DF91CF911F918E -:1016A0000F91FF90EF90DF90089520E639E040E23F -:1016B00052E00C94D70AFC01808190E0FC01EE0F0F -:1016C000FF1FE80FF91FE651FC4F80818F7B80835D -:1016D0000895FC0180818C3070F5918128E830E01C -:1016E000291B310997FD3395220F331F220F331F1A -:1016F000621773077CF0928128E532E0291B3109DB -:1017000097FD3395220F331F220F331F6217730784 -:101710000CF49B0122503109220F331F4FB7F8946C -:1017200090E0FC01EE0FFF1FE80FF91FE651FC4FA0 -:10173000328321834FBF08954F925F926F927F92C1 -:10174000AF92BF92CF92DF92EF92FF920F931F93CF -:10175000CF93DF93EC01603282E078070CF040C059 -:1017600077FD06C0653B71052CF064EB70E002C0AC -:1017700060E070E0898128E830E0281B310987FDAE -:101780003395220F331F220F331F5901CC24B7FC8E -:10179000C094DC2C882777FD8095982F2A8148E516 -:1017A00052E0421B510927FD5395440F551F440F2A -:1017B000551F2A01662457FC6094762C7F926F9205 -:1017C0005F924F9214EBE12EF12C00E010E020E04C -:1017D00030E0A9010E94C4180F900F900F900F9055 -:1017E000CE01DF91CF911F910F91FF90EF90DF908D -:1017F000CF90BF90AF907F906F905F904F900C9480 -:10180000690BFC01808190E0FC01EE0FFF1FE80FE7 -:10181000F91FE651FC4F808186FB882780F90895E7 -:1018200080913E0490E020913F04821B910908952D -:1018300020913F0480913E04281750F4E22FF0E0FD -:10184000E05CFB4F808190E02F5F20933F04089580 -:101850008FEF9FEF0895E0913F0480913E04E817D9 -:1018600030F4F0E0E05CFB4F808190E008958FEF72 -:101870009FEF08950895CF92DF92EF92FF920F931A -:101880001F93CF93DF937C01CB018A0120911A042F -:10189000222389F0EB016B01C40ED51ECC15DD05AA -:1018A00069F06991D701ED91FC910190F081E02DF3 -:1018B000C7011995F3CF642F0E949A0DC801DF91DB -:1018C000CF911F910F91FF90EF90DF90CF900895EF -:1018D000CF93DF931F92CDB7DEB7698320911A04AF -:1018E0002223D1F020911B04203240F021E030E08F -:1018F000FC013383228380E090E015C080911C04BA -:10190000E82FF0E0E35EFB4F998190838F5F809337 -:101910001C0480931B0405C061E0CE0101960E9467 -:101920009A0D81E090E00F90DF91CF910895FC0136 -:101930001382128248EE53E060E070E044835583E6 -:101940006683778385EB92E091838083089510927C -:101950003F0410923E0410921C0410921B040C943D -:10196000E50C862F413208F040E260E474E00E940A -:10197000030D10923F0480933E04089521E00C94DF -:10198000B10C81E080931A0460933D0410921C0412 -:1019900010921B0408950F93062F21E040911B0421 -:1019A0006DE174E080913D040E94470D10921C048B -:1019B00010921B0410921A040F91089561E00C9488 -:1019C000CB0C8EE094E00C94970C1092CD0481E047 -:1019D0008093CB041092CA0461E080E10E944B1511 -:1019E00061E08FE00E944B15E9EBF0E080818E7F93 -:1019F000808380818D7F808388E48093B80085E434 -:101A00008093BC000895413208F03FC09091CD040E -:101A10009111FCCF91E09093CD042093CB042FEF54 -:101A2000209360041092A504240F2093A4049093A3 -:101A3000CC049091CC04880F892B8093CC048091A6 -:101A4000CA04813041F41092CA048091CC0480937E -:101A5000BB0085EC01C085EE8093BC008091CD0475 -:101A60008130E1F38091A504841710F44091A5041E -:101A700026EA34E0FB01D9018A2F821B841718F46F -:101A80008D918193F9CF842F089580E008950F936D -:101A9000413208F046C09091CD049111FCCF92E004 -:101AA0009093CD040093CB049FEF90936004109229 -:101AB000A5044093A404FB0166EA74E0DB019A2FBD -:101AC000961B941718F491919D93F9CF1092CC0422 -:101AD0009091CC04880F892B8093CC048091CA0408 -:101AE000813041F41092CA048091CC048093BB00F1 -:101AF00085EC01C085EE8093BC00222321F080910B -:101B0000CD048230E1F3809160048F3F61F08091D9 -:101B10006004803251F080916004803341F483E0AE -:101B200007C081E005C080E003C082E001C084E01E -:101B30000F910895613298F42091CD04243089F4F6 -:101B400060938204FC0184E894E0DC012A2F281BC6 -:101B5000261718F421912D93F9CF80E0089581E0A4 -:101B6000089582E0089585ED8093BC008091BC00CB -:101B700084FDFCCF1092CD04089585EC8093BC00C9 -:101B80001092CD0408951F920F920FB60F92112458 -:101B90000BB60F922F933F934F935F936F937F9367 -:101BA0008F939F93AF93BF93EF93FF938091B9006F -:101BB000887F803609F49CC068F5883209F45BC0E0 -:101BC00090F4803109F454C038F4882309F4F5C046 -:101BD000883009F44DC0F5C0883109F44CC080321A -:101BE00009F45DC0EEC0803409F468C048F4803365 -:101BF00009F455C0883309F0E4C080936004A8C09C -:101C0000803509F44FC0883509F45DC0883409F087 -:101C1000D8C0D5C0883909F4C6C0A8F4883709F4FB -:101C200067C038F4883609F463C0803709F460C0AF -:101C3000C8C0883809F4B7C0803909F45FC080385B -:101C400009F0BFC05BC0803B09F485C038F4803A1E -:101C500009F466C0883A09F47EC0B3C0803C09F438 -:101C6000A6C0883C09F4A3C0883B09F489C0A9C078 -:101C70008091CC0410C09091A5048091A404981781 -:101C800070F5E091A50481E08E0F8093A504F0E04B -:101C9000EA55FB4F80818093BB0085EC85C0809323 -:101CA00060048DC0E091A50481E08E0F8093A504AF -:101CB0008091BB00F0E0EA55FB4F80839091A50432 -:101CC0008091A4046DC0E091A50481E08E0F809303 -:101CD000A5048091BB00F0E0EA55FB4F8083809122 -:101CE000CB0481116CC081E08093CA0484EA60C097 -:101CF00083E08093CD0410926104CFCF8091610482 -:101D0000803208F050C0E091610481E08E0F809332 -:101D100061048091BB00F0E0EE59FB4F8083BDCFA2 -:101D200080916104803230F4E0916104F0E0EE597A -:101D3000FB4F10820E94B30D6091610470E0E0914E -:101D4000C604F091C70482E694E0199510926104EC -:101D50000E94BD0D36C084E08093CD0410928304B0 -:101D600010928204E091C804F091C9041995809101 -:101D70008204811105C081E0809382041092840462 -:101D8000E091830481E08E0F80938304F0E0EC57B0 -:101D9000FB4F80818093BB009091830480918204EB -:101DA000981708F47ACF85E88093BC000AC085ECC8 -:101DB0008093BC001092CD0404C0109260040E9475 -:101DC000B30DFF91EF91BF91AF919F918F917F9153 -:101DD0006F915F914F913F912F910F900BBE0F909C -:101DE0000FBE0F901F9018950F931F93CF93DF9303 -:101DF000EC018B0188819981DC01ED91FC916F7779 -:101E00000190F081E02D199588819981DC01ED9197 -:101E1000FC91B801660F672F661F770B6F770190F3 -:101E2000F081E02DDF91CF911F910F911994DC018A -:101E30008D919C91DC01ED91FC910190F081E02D60 -:101E400060EF1994DC018D919C91DC01ED91FC9186 -:101E50000190F081E02D67EF1994CF93DF93EC01AF -:101E600088819981DC01ED91FC910190F081E02D58 -:101E700069EF199588819981DC01ED91FC910190C0 -:101E8000F081E02D62E0199588819981DC01ED9166 -:101E9000FC910190F081E02D64E0DF91CF911994E5 -:101EA0001F93CF93DF93EC018A818823D9F1CE0170 -:101EB0000E94170F88819981DC01ED91FC910190BE -:101EC000F081E02D69E7199588819981DC01ED9118 -:101ED000FC91AB81BC810190F081E02D6C91199552 -:101EE00088819981DC01ED91FC91AB81BC810190ED -:101EF000F081E02D11966C91199512E08A811817E6 -:101F000058F4EB81FC81E10FF11D608170E0CE019E -:101F10000E94F40E1F5FF2CFCE01DF91CF911F918F -:101F20000C94220FDF91CF911F910895CF92DF92F1 -:101F3000EF92FF920F931F93CF93DF938C01EB01EE -:101F4000C42ED22E61EC72E0CE010E94CE1A7C012A -:101F50006FE270E0CE010E94C31A009739F46CE57D -:101F600070E0CE010E94C31A009711F0EC01219697 -:101F7000E114F10451F4FE0101900020E9F7EC1B9B -:101F8000EF5FD8011296EC9306C0EC1AFD0AE394B9 -:101F9000E394F801E282D80113968D919C911497F5 -:101FA0000E94251AF801E280F12CC70101960E94D7 -:101FB0008D19D80114969C938E931397FC01EE0D06 -:101FC000FF1D1082FC01C082D18212964C9150E01C -:101FD00042505109BE010296DF91CF911F910F919E -:101FE000FF90EF90DF90CF900C94B41ADC018D91AC -:101FF0009C91DC01ED91FC910480F581E02D199418 -:102000000F931F93CF93DF93FC012085213749F075 -:10201000293709F049C0DF91CF911F910F910C949E -:10202000500FFC01E75AFF4F0190F081E02D3097EF -:1020300009F450C0DC01A75BBF4F4D915C919A0140 -:102040002150310937FD9A01B90175956795062F21 -:1020500040E050E020E030E04E5F5F4F2017A0F4FA -:10206000EC01C40FD51F1F81DC01A20FB31F18960E -:102070001C931897C885D0E8CD9F10191124189685 -:102080001C932F5F3F4FE8CFDC01A60FB11D1796C1 -:102090002C911797222311F018961C920896DF9125 -:1020A000CF911F910F911994FC01E55AFF4F0190B8 -:1020B000F081E02D309771F0AC01475F5F4FDC019C -:1020C000A75BBF4F6C916150822FDF91CF911F9121 -:1020D0000F911994DF91CF911F910F9108950F9354 -:1020E0001F93CF93DF93EC018A0188819981DC01F2 -:1020F000ED91FC916F70606E0190F081E02D19956B -:10210000B801CE01DF91CF911F910F910C94F40E85 -:102110000F931F93CF93DF93EC018A0188819981FC -:10212000DC01ED91FC916F7060690190F081E02D10 -:10213000199588819981DC01ED91FC91602F6F7771 -:102140000190F081E02D199588819981DC01ED9154 -:10215000FC91B801660F672F661F770B0190F08125 -:10216000E02DDF91CF911F910F911994CF92DF92C3 -:10217000EF92FF920F931F93CF93DF9300D0CDB7D1 -:10218000DEB78C01F42E2A833B8369830E94170FEC -:10219000D8018D919C91DC01ED91FC910190F08131 -:1021A000E02D698119952A81E22EC22E3B81D32E22 -:1021B0008C2D8E198F1540F4F60161916F0170E03E -:1021C000C8010E94F40EF4CFC8010F900F900F9039 -:1021D000DF91CF911F910F91FF90EF90DF90CF9003 -:1021E0000C94220F9A01FA0101900020E9F731972F -:1021F000E41BF50B4E2F0C94B610AB0161E70C9469 -:10220000F210DC018D919C91DC01ED91FC9101902B -:10221000F081E02D1994603DC1F028F4603969F037 -:10222000603C79F00895643FA1F0653FB1F0603EF5 -:10223000C9F4FC01E55BFF4F13C0FC01E35BFF4FFA -:102240000FC0FC01E15BFF4F0BC0FC01EF5AFF4FD9 -:1022500007C0FC01ED5AFF4F03C0FC01EB5AFF4FD2 -:102260005183408308956F3F29F4FC01E95AFF4FE1 -:10227000518340830895855A9F4FFC0151834083C9 -:102280000895FC0115821682178280E090E0DF013C -:10229000A80FB91F18961C92019680349105B9F7C2 -:1022A000DF01A85BBF4F1C9211961D921C92E95A48 -:1022B000FF4F0190F081E02D309709F019940895B7 -:1022C000FC011282148213820C944111CF93DF938C -:1022D000EC0188819981DC01ED91FC910680F78108 -:1022E000E02D1995FE01E85BFF4F20812223B1F01C -:1022F000873F910531F41082CE01DF91CF910C948C -:102300000010FE01E75BFF4F20813181C20FD31F18 -:1023100088872F5F3F4F31832083A9C02D812223DF -:1023200009F464C0803891050CF060C09FEF920FF3 -:102330009D83FE01E90FF11D8087911198C08E8168 -:10234000882309F494C0803D09F442C048F48039E0 -:10235000F1F0803C09F048C0FE01E15BFF4F3BC05B -:10236000843F31F1853F41F1803EF1F5FE01E55BAF -:10237000FF4F0190F081E02D3097B1F1888569859C -:1023800070E0B0E88B9F600D711D11242BC0FE0121 -:10239000E35BFF4F0190F081E02D309729F18885B4 -:1023A000698570E090E8899F600D711D11241AC045 -:1023B000FE01ED5AFF4F03C0FE01EB5AFF4F0190A3 -:1023C000F081E02D309781F0688570E089850BC041 -:1023D000FE01EF5AFF4F0190F081E02D309721F080 -:1023E000688570E08F8119951E8241C0803F9105FC -:1023F0002CF4282F2F702F83807F9927803F910501 -:1024000049F17CF4803C910509F124F4803991056F -:10241000D9F02DC0803D9105C9F0803E9105A1F015 -:1024200026C0893F9105E9F03CF49C01245F310905 -:102430002230310548F01BC08F3F9105C1F4CE0119 -:10244000DF91CF910C94411192E001C091E09D8306 -:102450008E830DC081E08083C75BDF4F19821882B5 -:1024600006C08EEC94E0DF91CF910C942D0FDF919C -:10247000CF9108958F929F92AF92BF92CF92DF92A9 -:10248000EF92FF921F93CF93DF93EB014A01690113 -:1024900061E087E10E94121510E0EE24D7FCE09481 -:1024A000FE2CAA2497FCA094BA2C812F90E08C17C4 -:1024B0009D0794F4C701B6010E943E1361E087E1D5 -:1024C0000E944B15C501B4010E943E1360E087E1F4 -:1024D0000E944B151F5FE9CFDF91CF911F91FF90B5 -:1024E000EF90DF90CF90BF90AF909F908F90089526 -:1024F000CF93DF93EC0161E087E10E94121522ED9A -:1025000030E048E250E062E070E0CE010E943A1212 -:102510006AEF70E080E090E00E943E1322ED30E030 -:1025200048E250E064E070E0CE010E943A126DE7AC -:1025300070E080E090E0DF91CF910C943E13CF9358 -:10254000DF93EC0126E08AE395E00E949E168AE381 -:1025500095E099838883CE010E947812CE010E9473 -:102560002D0FCE01DF91CF910C94500F8EEC94E0A3 -:102570000C9460110F9300E020E040E060E08BE2FB -:1025800095E00E94E7170F9108951F920F920FB6E2 -:102590000F9211242F933F938F939F93AF93BF93E9 -:1025A0008091320590913305A0913405B0913505A5 -:1025B0003091310523E0230F2D3720F40196A11D22 -:1025C000B11D05C026E8230F0296A11DB11D209361 -:1025D00031058093320590933305A0933405B09371 -:1025E00035058091360590913705A0913805B09159 -:1025F00039050196A11DB11D8093360590933705CD -:10260000A0933805B0933905BF91AF919F918F91F9 -:102610003F912F910F900FBE0F901F9018952FB7DD -:10262000F894609132057091330580913405909152 -:1026300035052FBF08953FB7F894809136059091E6 -:102640003705A0913805B091390526B5A89B05C07E -:102650002F3F19F00196A11DB11D3FBF6627782FAE -:10266000892F9A2F620F711D811D911D42E0660F07 -:10267000771F881F991F4A95D1F70895CF92DF924F -:10268000EF92FF92CF93DF936B017C010E941B13AB -:10269000EB01C114D104E104F10489F00E940B198B -:1026A0000E941B136C1B7D0B683E734090F381E00E -:1026B000C81AD108E108F108C851DC4FEACFDF9110 -:1026C000CF91FF90EF90DF90CF90089582309105E9 -:1026D00038F0880F991F880F991F05970197F1F718 -:1026E0000895789484B5826084BD84B5816084BD8A -:1026F00085B5826085BD85B5816085BDEEE6F0E07B -:10270000808181608083E1E8F0E0108280818260D6 -:102710008083808181608083E0E8F0E08081816057 -:102720008083E1EBF0E0808184608083E0EBF0E087 -:10273000808181608083E1E9F0E080818260808334 -:10274000808181608083E0E9F0E080818160808326 -:10275000E1EAF0E080818260808380818160808313 -:10276000E0EAF0E0808181608083E1E2F1E0808155 -:1027700082608083808181608083E0E2F1E08081FB -:1027800081608083EAE7F0E08081846080838081DB -:102790008260808380818160808380818068808383 -:1027A0001092C10008958E3008F08E5020917B0069 -:1027B000982F9870277F922B90937B0087702091A1 -:1027C0000D0290E4299F90011124822B80937C00BC -:1027D00080917A00806480937A0080917A0086FDEF -:1027E000FCCF809178002091790090E0922B0895A1 -:1027F0001F93CF93DF93182FEB0161E00E94121516 -:10280000209711F460E004C0CF3FD10539F461E0B6 -:10281000812FDF91CF911F910C944B15E12FF0E0A8 -:10282000E054FD4F449150E0FA013197E231F10557 -:1028300008F09BC0E455FF4F0C94691984B580687B -:1028400084BDC7BD97C084B5806284BDC8BD92C039 -:1028500080918000806880938000D0938900C0932D -:10286000880088C080918000806280938000D0932F -:102870008B00C0938A007EC0809180008860809326 -:102880008000D0938D00C0938C0074C08091B00004 -:1028900080688093B000C093B3006CC08091B0009A -:1028A00080628093B000C093B40064C080919000B7 -:1028B000806880939000D0939900C09398005AC08C -:1028C00080919000806280939000D0939B00C09391 -:1028D0009A0050C080919000886080939000D093BF -:1028E0009D00C0939C0046C08091A00080688093AA -:1028F000A0008091A0008F7B8093A000D093A900BE -:10290000C093A80037C08091A00080628093A0008F -:10291000D093AB00C093AA002DC08091A000886026 -:102920008093A000D093AD00C093AC0023C08091F1 -:102930002001806880932001D0932901C093280151 -:1029400019C080912001806280932001D0932B01D7 -:10295000C0932A010FC080912001886080932001DC -:10296000D0932D01C0932C0105C0C038D1050CF0C7 -:102970004ECF48CFDF91CF911F91089590E0FC0199 -:102980003197E231F10508F04CC0E254FF4F0C944E -:102990006919809180008F7703C0809180008F7DBE -:1029A00080938000089580918000877FF9CF84B55F -:1029B0008F7702C084B58F7D84BD08958091B0006B -:1029C0008F7703C08091B0008F7D8093B000089511 -:1029D000809190008F7707C0809190008F7D03C019 -:1029E00080919000877F8093900008958091A0004F -:1029F0008F7707C08091A0008F7D03C08091A000D9 -:102A0000877F8093A0000895809120018F7707C071 -:102A1000809120018F7D03C080912001877F80936A -:102A200020010895CF93DF9390E0FC01E052FD4F29 -:102A30002491FC01E050FD4F8491882349F190E0FE -:102A4000880F991FFC01EC5AFC4FA591B491865C4C -:102A50009C4FFC01C591D4919FB7611108C0F894B7 -:102A60008C91209582238C93888182230AC06230C6 -:102A700051F4F8948C91322F309583238C93888174 -:102A8000822B888304C0F8948C91822B8C939FBFF7 -:102A9000DF91CF9108950F931F93CF93DF931F92F0 -:102AA000CDB7DEB7282F30E0F901E054FD4F849117 -:102AB000F901E052FD4F1491F901E050FD4F0491EE -:102AC0000023C9F0882321F069830E94BE14698124 -:102AD000E02FF0E0EE0FFF1FE65CFC4FA591B491F4 -:102AE0009FB7F8948C91611103C01095812301C0A8 -:102AF000812B8C939FBF0F90DF91CF911F910F91EE -:102B00000895CF93DF93282F30E0F901E054FD4F73 -:102B10008491F901E052FD4FD491F901E050FD4F4D -:102B2000C491CC2391F081110E94BE14EC2FF0E0EF -:102B3000EE0FFF1FE05EFC4FA591B4912C912D2369 -:102B400081E090E021F480E002C080E090E0DF913D -:102B5000CF910895FC01818D228D90E0805C9F4F84 -:102B6000821B91098F7399270895FC01918D828DA5 -:102B7000981731F0828DE80FF11D858D90E0089552 -:102B80008FEF9FEF0895FC01918D828D981761F072 -:102B9000828DDF01A80FB11D5D968C91928D9F5F94 -:102BA0009F73928F90E008958FEF9FEF089580E6D6 -:102BB00097E1892B41F080E090E0892B21F00E9481 -:102BC000601781110DC080E090E0892B71F080E0EA -:102BD00090E0892B51F00E940000811104C00895FB -:102BE0000E940000F0CF0C9400000895FC01848D39 -:102BF000DF01A80FB11DA35ABF4F2C91848D90E027 -:102C000001968F739927848FA689B7892C93A08901 -:102C1000B1898C9180648C93938D848D981306C0B8 -:102C20000288F389E02D80818F7D80830895CF9382 -:102C3000DF93EC01888D8823C9F0EA89FB898081C4 -:102C400085FD05C0A889B9898C9186FD0FC00FB696 -:102C500007FCF5CF808185FFF2CFA889B9898C91D7 -:102C600085FFEDCFCE010E94F615E7CFDF91CF9122 -:102C70000895CF92DF92FF920F931F93CF93DF932C -:102C80001F92CDB7DEB76C0181E0D60158968C93C8 -:102C900058975B969C915B975C968C915C97981388 -:102CA00007C05096ED91FC915197808185FD2EC013 -:102CB000F601038D10E00F5F1F4F0F731127F02EE9 -:102CC000F601848DF81211C00FB607FCF9CFD601BA -:102CD0005096ED91FC915197808185FFF1CFC6010F -:102CE00069830E94F6156981EBCF838DE80FF11D92 -:102CF000E35AFF4F6083D6015B960C935B97529625 -:102D0000ED91FC915397808180620CC0D60156965C -:102D1000ED91FC91579760835096ED91FC915197FE -:102D200080818064808381E090E00F90DF91CF917B -:102D30001F910F91FF90DF90CF900895BF92CF9297 -:102D4000DF92EF92FF92CF93DF93EC016A017B0158 -:102D5000B22EE889F98982E08083411581EE580717 -:102D600061057105A1F060E079E08DE390E0A701D5 -:102D700096010E942819215031094109510956959F -:102D8000479537952795211580E1380798F0E88910 -:102D9000F989108260E874E88EE190E0A70196015D -:102DA0000E9428192150310941095109569547952A -:102DB00037952795EC85FD853083EE85FF8520834B -:102DC000188EEC89FD89B082EA89FB898081806157 -:102DD0008083EA89FB89808188608083EA89FB8916 -:102DE000808180688083EA89FB8980818F7D8083F0 -:102DF000DF91CF91FF90EF90DF90CF90BF9008953B -:102E00001F920F920FB60F9211240BB60F922F93B1 -:102E10008F939F93EF93FF93E0914A05F0914B05B9 -:102E20008081E0915005F091510582FD12C09081A2 -:102E3000809153058F5F8F7320915405821751F055 -:102E4000E0915305F0E0E65CFA4F958F80935305CF -:102E500001C08081FF91EF919F918F912F910F90F1 -:102E60000BBE0F900FBE0F901F9018951F920F92E0 -:102E70000FB60F9211240BB60F922F933F934F93DF -:102E80005F936F937F938F939F93AF93BF93EF93D2 -:102E9000FF938AE395E00E94F615FF91EF91BF91B1 -:102EA000AF919F918F917F916F915F914F913F91E2 -:102EB0002F910F900BBE0F900FBE0F901F90189583 -:102EC0008AE395E00E94AA1521E0892B09F420E00D -:102ED000822F089510923D0510923C0588EE93E0F4 -:102EE000A0E0B0E080933E0590933F05A09340059D -:102EF000B09341058AEC92E090933B0580933A05AC -:102F000085EC90E0909347058093460584EC90E033 -:102F1000909349058093480580EC90E090934B0591 -:102F200080934A0581EC90E090934D0580934C0589 -:102F300082EC90E090934F0580934E0586EC90E0F4 -:102F400090935105809350051092530510925405AB -:102F500010925505109256050895AF92BF92CF92E8 -:102F6000DF92EF92FF920F931F93CF93DF936C0149 -:102F70007B01C0E0D0E000E010E0F601EC0FFD1FA7 -:102F80004AE050E06281C7010E94BD185C016EE218 -:102F9000C7010E9450188A0D9B1D080F191F21960A -:102FA000C330D10551F74AE050E0F6016581C70111 -:102FB0000E94BD18800F911FDF91CF911F910F913B -:102FC000FF90EF90DF90CF90BF90AF9008950F9358 -:102FD000FC018AED92E091838083628343832483A2 -:102FE00005830F9108958AED92E09093D805809320 -:102FF000D7051092D9051092DA051092DB051092D0 -:10300000DC05089508950E9471130E9402180E9421 -:103010004106C7EDD5E10E9464092097E1F30E94C3 -:10302000D715F9CFCF92DF92EF92FF920F931F93B4 -:10303000CF93DF936C017A01EB01E60EF71E00E0FF -:1030400010E0CE15DF0561F06991D601ED91FC919C -:103050000190F081E02DC6011995080F191FF1CFDD -:10306000C801DF91CF911F910F91FF90EF90DF90FA -:10307000CF9008956115710581F0DB010D9000205E -:10308000E9F7AD0141505109461B570BDC01ED91A9 -:10309000FC910280F381E02D199480E090E0089586 -:1030A000DC01ED91FC910190F081E02D19948F925B -:1030B0009F92AF92BF92CF92DF92EF92FF920F93C7 -:1030C0001F93CF93DF93CDB7DEB7A1970FB6F894D8 -:1030D000DEBF0FBECDBF7C01C42EE52FCB01D22EAB -:1030E00019A221E02D1510F02AE0D22E8E010F5DDD -:1030F0001F4F8D2C912CA12CB12C6C2D7E2FA50156 -:1031000094010E9428198C2DD29E801911240150FF -:1031100011098A3014F4805D01C0895CF801808354 -:10312000211531054105510521F0C22EE32FCA01B9 -:10313000E4CFB801C7010E943A18A1960FB6F894DF -:10314000DEBF0FBECDBFDF91CF911F910F91FF90DA -:10315000EF90DF90CF90BF90AF909F908F900895A9 -:103160002115310541F4DC01ED91FC910190F081D4 -:10317000E02D642F19940C9457189A01462F50E0B3 -:1031800060E070E00C94B0184F925F926F927F9263 -:10319000AF92BF92CF92DF92EF92FF920F931F9365 -:1031A000CF93DF93CDB7DEB729013A01621B730BD2 -:1031B000840B950B2A893B894C895D892A193B0927 -:1031C0004C095D092A8B3B8B4C8B5D8B9B01AC01C1 -:1031D0006A897B898C899D890E940C19E418F508FD -:1031E00006091709A80197010E944A192A0D3B1DDB -:1031F0004C1D5D1DCA01B901DF91CF911F910F9147 -:10320000FF90EF90DF90CF90BF90AF907F906F9046 -:103210005F904F9008950895DB018F939F930E94D4 -:103220006F19BF91AF91A29F800D911DA39F900D2B -:10323000B29F900D11240895991B79E004C0991F45 -:10324000961708F0961B881F7A95C9F78095089500 -:10325000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F9A -:10326000EE1FFF1FA217B307E407F50720F0A21B0C -:10327000B30BE40BF50B661F771F881F991F1A9479 -:1032800069F760957095809590959B01AC01BD01A3 -:10329000CF010895052E97FB1EF400940E9461193A -:1032A00057FD07D00E94281907FC03D04EF40C9458 -:1032B000611950954095309521953F4F4F4F5F4F85 -:1032C000089590958095709561957F4F8F4F9F4F92 -:1032D0000895EE0FFF1F0590F491E02D19940E94C0 -:1032E0007E19A59F900DB49F900DA49F800D911DF8 -:1032F000112408950790F691E02D1994A29FB00132 -:10330000B39FC001A39F700D811D1124911DB29F19 -:10331000700D811D1124911D0895CF93DF9382308C -:10332000910510F482E090E0E091DF05F091E00576 -:1033300020E030E0A0E0B0E0309739F140815181E9 -:1033400048175907B8F04817590771F482819381DB -:10335000109729F013969C938E9312972CC09093FC -:10336000E0058093DF0527C02115310531F04217B4 -:10337000530718F0A901DB0101C0EF019A01BD015B -:10338000DF010280F381E02DD7CF21153105F9F05F -:10339000281B390B2430310580F48A819B8161150B -:1033A000710521F0FB019383828304C09093E005B3 -:1033B0008093DF05FE01329644C0FE01E20FF31F49 -:1033C0008193919322503109398328833AC0209107 -:1033D000DD053091DE05232B41F42091020230916E -:1033E00003023093DE052093DD0520910002309129 -:1033F00001022115310541F42DB73EB74091040279 -:1034000050910502241B350BE091DD05F091DE059E -:10341000E217F307A0F42E1B3F0B2817390778F0AB -:10342000AC014E5F5F4F2417350748F04E0F5F1F0A -:103430005093DE054093DD058193919302C0E0E057 -:10344000F0E0CF01DF91CF910895CF93DF93009704 -:1034500009F487C0FC01329713821282C091DF0504 -:10346000D091E005209781F420813181280F391F08 -:103470008091DD059091DE058217930779F5F09331 -:10348000DE05E093DD056DC0DE0120E030E0AE1723 -:10349000BF0750F412964D915C9113979D01411511 -:1034A000510509F1DA01F3CFB383A2834081518141 -:1034B000840F951F8A179B0771F48D919C9111972A -:1034C000840F951F02969183808312968D919C9113 -:1034D0001397938382832115310529F4F093E00536 -:1034E000E093DF053EC0D9011396FC93EE9312974B -:1034F0004D915D91A40FB51FEA17FB0779F4808108 -:103500009181840F951F0296D90111969C938E93F9 -:103510008281938113969C938E931297E0E0F0E062 -:103520008A819B81009719F0FE01EC01F9CFCE0151 -:10353000029628813981820F931F2091DD053091F9 -:10354000DE052817390769F4309729F41092E00551 -:103550001092DF0502C013821282D093DE05C09361 -:10356000DD05DF91CF910895FB01DC014150504012 -:1035700048F001900D920020C9F701C01D92415002 -:103580005040E0F70895FC0181E090E001900616BC -:1035900009F4CF010020D1F701970895FB01519163 -:1035A0005523A9F0BF01DC014D9145174111E1F709 -:1035B00059F4CD010190002049F04D914015411181 -:1035C000C9F3FB014111EFCF81E090E0019708952D -:0435D000F894FFCF9D -:1035D4000000E105800001000000FF1300014D61BF -:1035E4007820736572766F732061747461636865A3 -:1035F4006400556E6B6E6F776E2070696E206D6F10 -:103604006465005374616E646172644669726D61CD -:1036140074612E696E6F004932433A20546F6F20F3 -:103624006D616E7920627974657320726563656972 -:10363400766564004932433A20546F6F206665779B -:1036440020627974657320726563656976656400C8 -:1036540031302D6269742061646472657373696EBC -:1036640067206E6F7420737570706F727465640078 -:10367400746F6F206D616E79207175657269657301 -:103684000000000000680C3B0C100C180C2B0C3ACA -:103694000C2E637070000000000039161218AA1571 -:0C36A400C315B515171600000000AD1787 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/pro-mini/Blink-3v.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/pro-mini/Blink-3v.cpp.hex deleted file mode 100644 index 895c181f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/pro-mini/Blink-3v.cpp.hex +++ /dev/null @@ -1,66 +0,0 @@ -:100000000C945C000C946E000C946E000C946E00CA -:100010000C946E000C946E000C946E000C946E00A8 -:100020000C946E000C946E000C946E000C946E0098 -:100030000C946E000C946E000C946E000C946E0088 -:100040000C9488000C946E000C946E000C946E005E -:100050000C946E000C946E000C946E000C946E0068 -:100060000C946E000C946E00000000080002010069 -:100070000003040700000000000000000102040863 -:100080001020408001020408102001020408102002 -:10009000040404040404040402020202020203032E -:1000A0000303030300000000250028002B000000CC -:1000B0000000240027002A0011241FBECFEFD8E043 -:1000C000DEBFCDBF21E0A0E0B1E001C01D92A930AC -:1000D000B207E1F70E94F1010C9401020C940000B8 -:1000E00061E08DE00C94810161E08DE00E94BA0135 -:1000F00068EE73E080E090E00E94F50060E08DE043 -:100100000E94BA0168EE73E080E090E00C94F50084 -:100110001F920F920FB60F9211242F933F938F933C -:100120009F93AF93BF938091010190910201A091A1 -:100130000301B09104013091000126E0230F2D3717 -:1001400020F40296A11DB11D05C029E8230F0396D6 -:10015000A11DB11D20930001809301019093020124 -:10016000A0930301B09304018091050190910601D1 -:10017000A0910701B09108010196A11DB11D8093C6 -:10018000050190930601A0930701B0930801BF9168 -:10019000AF919F918F913F912F910F900FBE0F9034 -:1001A0001F9018953FB7F894809105019091060132 -:1001B000A0910701B091080126B5A89B05C02F3F6B -:1001C00019F00196A11DB11D3FBF6627782F892F19 -:1001D0009A2F620F711D811D911D43E0660F771FDD -:1001E000881F991F4A95D1F70895CF92DF92EF9219 -:1001F000FF92CF93DF936B017C010E94D200EB0151 -:10020000C114D104E104F10489F00E9400020E94AB -:10021000D2006C1B7D0B683E734090F381E0C81ADE -:10022000D108E108F108C851DC4FEACFDF91CF9146 -:10023000FF90EF90DF90CF900895789484B582601E -:1002400084BD84B5816084BD85B5826085BD85B57A -:10025000816085BDEEE6F0E0808181608083E1E829 -:10026000F0E0108280818260808380818160808361 -:10027000E0E8F0E0808181608083E1EBF0E0808164 -:1002800084608083E0EBF0E0808181608083EAE736 -:10029000F0E08081846080838081826080838081BF -:1002A0008E7F80838081806880831092C100089552 -:1002B000833081F028F4813099F08230A1F00895E4 -:1002C0008730A9F08830B9F08430D1F48091800073 -:1002D0008F7D03C0809180008F7780938000089588 -:1002E00084B58F7702C084B58F7D84BD08958091D9 -:1002F000B0008F7703C08091B0008F7D8093B000F5 -:100300000895CF93DF9390E0FC01E458FF4F2491D0 -:10031000FC01E057FF4F8491882349F190E0880F5A -:10032000991FFC01E255FF4FA591B4918C559F4F49 -:10033000FC01C591D4919FB7611108C0F8948C91CC -:10034000209582238C93888182230AC0623051F4E5 -:10035000F8948C91322F309583238C938881822B53 -:10036000888304C0F8948C91822B8C939FBFDF917B -:10037000CF9108950F931F93CF93DF931F92CDB723 -:10038000DEB7282F30E0F901E859FF4F8491F901D9 -:10039000E458FF4F1491F901E057FF4F04910023F7 -:1003A000C9F0882321F069830E9458016981E02FF8 -:1003B000F0E0EE0FFF1FEC55FF4FA591B4919FB7F2 -:1003C000F8948C91611103C01095812301C0812B99 -:1003D0008C939FBF0F90DF91CF911F910F91089544 -:1003E00008950E941D010E94F0010E947000C0E06B -:1003F000D0E00E9474002097E1F30E940000F9CF42 -:060400000895F894FFCFFF -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/pro-mini/StandardFirmata-3v.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/pro-mini/StandardFirmata-3v.cpp.hex deleted file mode 100644 index 56a3ba44..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/pro-mini/StandardFirmata-3v.cpp.hex +++ /dev/null @@ -1,763 +0,0 @@ -:100000000C9474000C949C000C949C000C949C0028 -:100010000C949C000C949C000C949C000C949C00F0 -:100020000C949C000C949C000C949C000C949307E2 -:100030000C949C000C949C000C949C000C949C00D0 -:100040000C9443100C949C000C947B130C94AD13F3 -:100050000C949C000C949C000C949C000C949C00B0 -:100060000C94550B0C949C00D906F5061706F50662 -:100070008006F506F505A205F506F506F506F50672 -:10008000F506B904F5068805F506DC05000000084C -:10009000000201000003040700000000000000004F -:1000A000010204081020408001020408102001020F -:1000B00004081020040404040404040402020202DC -:1000C00002020303030303030000000025002800CD -:1000D0002B0000000000240027002A001E04730AE1 -:1000E00034103810DD13661411241FBECFEFD8E092 -:1000F000DEBFCDBF11E0A0E0B1E0E2EBFEE202C066 -:1001000005900D92AC3DB107D9F724E0ACEDB1E01C -:1001100001C01D92A43BB207E1F710E0C8EED0E0A9 -:1001200004C02297FE010E94DE15CC3DD107C9F71D -:100130000E9476140C9457170C940000833008F03A -:1001400062C0482F440F440F440F485F473108F006 -:1001500046E1582F550F550F550F90E071E0541799 -:10016000E8F42EEF250F2231B0F4E52FF0E0DF01A7 -:10017000A156BD4F2C91223070F4972BEE0FFF1F2C -:10018000E059FD4F21E030E0A72FA62311F420E035 -:1001900030E031832083770F5F5FE1CF81110AC0A8 -:1001A0009C7FF8942BB1892F809582239623892BED -:1001B0008BB928C08130C9F46923F89425B1892FFF -:1001C0008F7380958223262F2F73822B85B988B158 -:1001D00062956695669563709295969596959370DF -:1001E00090959823692B68B90DC09F70F89428B139 -:1001F000892F880F880F809582236923660F660FE9 -:10020000862B88B9789408950F931F93CF93DF932B -:10021000EB01863180F5082F10E0F801E156FD4F23 -:1002200090819330A1F0943031F582508231E0F426 -:10023000F801E551FE4F208130E0C901880F991F78 -:10024000820F931F8F5F9D4F0E942E090DC0833038 -:1002500041F09BEF980F923020F097EF980F93307A -:1002600018F4BE010E944511F801EE0FFF1FE0597E -:10027000FD4FD183C083DF91CF911F910F910895DE -:10028000CF93C82F883058F54091BB025091BC02E3 -:1002900021E030E0082E02C0220F331F0A94E2F75B -:1002A000672B49F420953095242335233093BC02E5 -:1002B0002093BB0214C0242B352B3093BC02209317 -:1002C000BB028091DC0181110AC08C2F0E94281191 -:1002D000AC016C2F83EA93E0CF910C94FD0DCF918C -:1002E0000895DB019A019091DD019C30D0F5409199 -:1002F000DE01682F70E0442369F0E42FF0E0E25261 -:10030000FE4F8081FB01E551FE4F808341504093B9 -:10031000DE0107C0FB01E551FE4F90839F5F909384 -:10032000DD01FB01E551FE4F1A161B067CF4121687 -:10033000130664F4408150E0CA01880F991F840FAE -:10034000951FAD018F5F9D4F0C946B08208130E0AD -:10035000C901880F991F820F931F8F5F9D4F0C94C7 -:10036000E9086EE071E083EA93E00C948C0ECF9381 -:10037000DF93C82FD0E0C551DE4F288130E0C9019E -:10038000880F991F820F931F8F5F9D4F0E94EF0868 -:1003900088819091DD01891306C0882379F081500E -:1003A0008093DD010BC0992349F0E091DE01EF5FFE -:1003B000E093DE01F0E0E252FE4F80838FEF88830E -:1003C000DF91CF9108951F93CF93DF93162FC82FFE -:1003D000D0E0FE01E456FD4F90811923CB54DD4F50 -:1003E000411103C09881911741F0412F50E0682FCF -:1003F00083EA93E00E94160E1883DF91CF911F913C -:100400000895833020F5282F30E0F901E854FD4F9E -:100410006083672BE1F0F901E456FD4F9081811173 -:1004200003C069B16C7F0FC0813049F463B126B15C -:1004300040E4249F900111246F73622B04C066B1C5 -:100440006C7366956695692341E00C94E301089509 -:100450008091B802882349F069B180919C02682399 -:100460006C7F40E080E00E94E3018091B902882324 -:1004700079F063B186B120E4829FC00111246F73CB -:10048000682B80919D02682340E081E00E94E30197 -:100490008091BA02882359F066B16C7366956695AF -:1004A00080919E02682340E082E00C94E30108956D -:1004B000109227028FEF80930A010895AF92BF92A6 -:1004C000DF92EF92FF920F931F93CF93DF9300D0B1 -:1004D000CDB7DEB7D82E5B01E82EF12C870101568F -:1004E0001D4FF80180818F3709F402C1863049F42D -:1004F00080912702882329F06630710511F00E944F -:1005000058024EEF4D0D4231C0F484E0A816B104FC -:10051000A1F0F701E551FE4F20812C3070F430E05E -:10052000C901880F991F820F931F8F5F9D4F4A83C8 -:100530000E9493094A818111C3C092EF9D0D9830AA -:1005400078F461E070E0E2E0AE16B10411F060E032 -:1005500070E0892F4A8399830E94400199814A81E2 -:100560004231D8F4ED2DE695E695E6958D2D877010 -:10057000F0E0E456FD4F21E030E0082E01C0220FEC -:100580000A94EAF7A114B10421F48081822B8083BC -:1005900004C02095808128232083F701EE0FFF1FE0 -:1005A000E059FD4F11821082F2E0AF16B104A1F0C4 -:1005B0003CF4A114B104F9F0AA94AB2851F16FC036 -:1005C000F4E0AF16B10409F448C084F1E6E0AE16D9 -:1005D000B10409F45CC063C0983008F089C04231AE -:1005E00040F460E08D2D0E94CD1160E08D2D0E94C1 -:1005F000061282E051C0423108F07AC060E08D2DD1 -:100600000E94CD1160E08D2D0E940612F80110822B -:100610006FC0423108F06CC060E08D2D0E94061260 -:1006200061E08D2D0E94CD1181E036C0F3E0DF1630 -:1006300049F08BEF8D0D823028F087EF8D0D8330E0 -:1006400008F056C061E08D2D0E94CD1160E070E091 -:100650008D2D0E94451183E01FC0423108F048C033 -:1006600084E0F8018083F701E551FE4F80818F3FE0 -:1006700069F190E09C01220F331F280F391FC90137 -:100680008F5F9D4F0E949309811132C01FC08EEE73 -:100690008D0D823068F586E0F801808329C062E222 -:1006A00071E083EA93E00F900F90DF91CF911F915B -:1006B0000F91FF90EF90DF90BF90AF900C948C0E55 -:1006C0008D2D4A830E94B7014A8137CF4FEF5FEFEC -:1006D0006FEF7FEF8D2D0F900F90DF91CF911F91D6 -:1006E0000F91FF90EF90DF90BF90AF900C9471014D -:1006F0000F900F90DF91CF911F910F91FF90EF908E -:10070000DF90BF90AF900895CF93C0E08EEE8C0F36 -:10071000823028F466E070E08C2F0E945E02CF5F8A -:10072000C631A1F781E08093270283EE92E0CF915A -:100730000C94390A0F931F93CF93DF9381E080933A -:10074000DC018091270281110E9458021092B802A8 -:1007500010929C021092B5021092B90210929D0262 -:100760001092B6021092BA0210929E021092B70234 -:10077000CBEED1E010E00FEF82EF810F883018F45C -:1007800062E070E002C061E070E0812F0E945E02D2 -:1007900009931F5F163181F71092BC021092BB02C1 -:1007A0001092DE011092DD011092DC01DF91CF91F9 -:1007B0001F910F91089524E042E063E371E083EA22 -:1007C00093E00E94240D44E051E060EE83EA93E060 -:1007D0000E949A0E4EE950E060E983EA93E00E949D -:1007E0009A0E40E451E060EC83EA93E00E949A0E96 -:1007F00041E052E060ED83EA93E00E949A0E4EE5FC -:1008000052E064EF83EA93E00E949A0E45EA54E0D6 -:1008100060EF83EA93E00E94C50E4AE953E06FEF70 -:1008200083EA93E00E94BD0E40E051EE60E070E08C -:1008300083EA93E00E941D100C949A03CF93DF93F8 -:10084000C1E0D2E0CE010E944F08239682E0C5327B -:10085000D807C1F7DF91CF910895682F83EE92E01A -:100860000C94FA0983EE92E00E94AA090895DF929F -:10087000EF92FF920F931F93CF93DF93F82EEB012C -:10088000D42E6F3F8FEF7807A9F06F2D83EE92E0A3 -:100890000E94530A8C2F0E942D0483EE92E00E9446 -:1008A000700A8091250290912602009729F00E94FB -:1008B000E41002C0C0E0D0E04D2D6F2D83EE92E039 -:1008C0000E94500A0D2D10E083EE92E00E94A209D2 -:1008D000081719071CF467E471E009C083EE92E081 -:1008E0000E94A2098017910734F464E671E083EA5C -:1008F00093E00E948C0EF0922802C09329026AE2D3 -:10090000E62E62E0F62EC0E0D0E0C017D10784F0FA -:1009100042E04D0D28E232E067E783EA93E0DF91A1 -:10092000CF911F910F91FF90EF90DF900C94440EA8 -:1009300083EE92E00E94A209892B51F30E943204B7 -:10094000F70181937F012196E0CFEF92FF920F9301 -:100950001F93CF93DF93162FEA0190E0FC01E95635 -:10096000F109E231F10508F040C2EC5CFF4F0C9454 -:10097000DC158981982F987185FF03C060E871E0CC -:1009800056C08881983071F148F491112EC2682FB9 -:1009900083EE92E00E94530A02E007C0903109F40E -:1009A00040C0983109F471C020C2011768F4FE01FB -:1009B000E00FF11D9181808120E8929F8019112420 -:1009C0000E942D040E5FF1CF83EE92E00E94700A28 -:1009D00086E490E0DF91CF911F910F91FF90EF900F -:1009E0000C94E4104A816B81163069F430E8639FFF -:1009F000B0011124640F711D9D814C8150E8959FB9 -:100A00004019112406C090E8699F401911246FEF26 -:100A10007FEFDF91CF911F910F91FF90EF900C949A -:100A20003704E0910A01E73064F060EA71E083EA9C -:100A300093E0DF91CF911F910F91FF90EF900C9475 -:100A40008C0E9A812B81F0E8663061F42F9F900123 -:100A50001124290F311D4D819C8150E8459F90192B -:100A6000112405C02F9F901911242FEF3FEFEF5F46 -:100A7000E0930A0144E0E402F0011124E85BFD4F39 -:100A80008083328321839383B0C150910A0115166C -:100A900034F440E0252F332727FD30950EC08FEF2B -:100AA00080930A01A2C1EE0FFF1FEE0FFF1FE85B4C -:100AB000FD4F9081981719F14F5FE42FF0E02E174A -:100AC0003F078CF740E01BC04830C0F4DF01AA0F9D -:100AD000BB1FAA0FBB1FA45BBD4F8C91EE0FFF1F66 -:100AE000EE0FFF1FE85BFD4F808311968D919C9167 -:100AF00012979283818313968C9183834F5FE42FA7 -:100B0000F0E02E173F0704F7515050930A016DC1D2 -:100B10002881898150E8859FC0011124820F911D91 -:100B2000009721F09093260280932502809127025E -:100B300081115BC1DF91CF911F910F91FF90EF90D9 -:100B40000C948403653008F450C118810981FA803F -:100B5000EB80CC818EEF810F823108F046C1E12F0E -:100B6000F0E0E551FE4FE081EC3060F4F0E0CF01C1 -:100B7000880F991F8E0F9F1F8F5F9D4F0E949309B3 -:100B800081112FC180E8C89FA00111244E0D511D75 -:100B900090E8F99EB0011124600F711D812F0E9411 -:100BA000710164E070E0812FDF91CF911F910F916F -:100BB000FF90EF900C945E02623008F416C1288119 -:100BC0008981E0E88E9FC0011124820F911D9093CE -:100BD0000C0180930B010A9708F007C18AE090E0AE -:100BE00090930C0180930B0100C1623008F4FDC0AA -:100BF000698170E0123091F08A81F0E88F9FC00126 -:100C00001124682B792B133049F08B8190E090E40C -:100C1000899F902D88271124682B792B8881DF915B -:100C2000CF911F910F91FF90EF900C94040160EF12 -:100C300083EA93E00E94900E6CE683EA93E00E94C0 -:100C4000900ECEEF84EF8C0F883058F462E083EA88 -:100C500093E00E94900E6AE083EA93E00E94900E77 -:100C60000DC0C13059F463E083EA93E00E94900E16 -:100C700068E083EA93E00E94900E08C08DEF8C0F2D -:100C8000823088F389EF8C0F833068F3C23150F4DF -:100C900064E083EA93E00E94900E6EE083EA93E0C2 -:100CA0000E94900E80EF8C0F823050F466E083EA51 -:100CB00093E00E94900E61E083EA93E00E94900E20 -:100CC0006FE783EA93E00E94900ECF5FC43169F131 -:100CD000C23108F0B7CF60E083EA93E00E94900E43 -:100CE00061E083EA93E00E94900E61E083EA93E082 -:100CF0000E94900E61E083EA93E00E94900EA2CFE2 -:100D0000662309F472C0C88160EF83EA93E00E9411 -:100D1000900E6EE683EA93E00E94900E6C2F83EAB9 -:100D200093E00E94900EC63158F067EF83EA93E09B -:100D3000DF91CF911F910F91FF90EF900C94900E47 -:100D4000D0E0FE01E156FD4F608183EA93E00E940E -:100D5000900ECC0FDD1F8E0100591D4FF8016081F0 -:100D60006F7783EA93E00E94900EF80160817181B1 -:100D7000CB018078892B49F0660F672F661F770BB0 -:100D80006F7783EA93E00E94900EC059DD4F68812F -:100D90007981CB018827907C892B39F2770F660BFC -:100DA000770F762F661F6F7783EA93E00E94900E8D -:100DB000BCCF60EF83EA93E00E94900E6AE683EA7C -:100DC00093E00E94900EC2EFC83010F06FE701C0B0 -:100DD0006C2F83EA93E00E94900ECF5FC830A1F79A -:100DE000A4CF812F0E94B701CDCEDF91CF911F916B -:100DF0000F91FF90EF9008958F929F92AF92BF92C4 -:100E0000CF92DF92EF92FF920F931F93CF93DF93D6 -:100E10000E94280283EA93E00E94840D892B29F026 -:100E200083EA93E00E94F00EF5CF0E948D1060934C -:100E30006C0270936D0280936E0290936F02C0906B -:100E40006802D0906902E0906A02F0906B024091D3 -:100E50000B0150910C014A01A12CB12C8B019C017A -:100E60000C191D092E093F0980169106A206B3062A -:100E700008F04CC0D501C4018C0D9D1DAE1DBF1DD9 -:100E80008093680290936902A0936A02B0936B0208 -:100E9000CFE9D2E012EF1830C0F488818230A9F493 -:100EA0002091BB023091BC02012E02C035952795DE -:100EB0000A94E2F720FF09C0812F0E942811AC019B -:100EC000612F83EA93E00E94FD0D1F5F2196183089 -:100ED00011F780910A0187FD19C0C0E0EC2FF0E006 -:100EE00080910A01992787FD90958E179F0774F0CE -:100EF000EE0FFF1FEE0FFF1FE85BFD4F6181728158 -:100F0000438180810E943704CF5FE8CFDF91CF918A -:100F10001F910F91FF90EF90DF90CF90BF90AF9017 -:100F20009F908F9008951F920F920FB60F921124E9 -:100F30002F933F934F935F936F937F938F939F93E1 -:100F4000AF93BF93EF93FF938091BE0287FF05C0DD -:100F500010928500109284001AC02091BE0233279F -:100F600027FD30958091BD0290E0281739077CF469 -:100F70008091BE02992787FD9095FC01EE0FFF1F1F -:100F8000E80FF91FE154FD4F808186FD15C0809167 -:100F9000BE028F5F8093BE022091BE02332727FDE1 -:100FA00030958091BD0290E028173907BCF48091FC -:100FB000BE028C305CF112C08091BE02992787FD81 -:100FC0009095FC01EE0FFF1FE80FF91FE154FD4F54 -:100FD000808160E08F730E940612D9CF80918400D7 -:100FE00090918500049680329E4418F480E29EE43D -:100FF00005C08091840090918500049690938900AB -:10100000809388008FEF8093BE0238C020918400C7 -:10101000309185008091BE02992787FD9095FC0153 -:10102000EE0FFF1FE80FF91FE154FD4F8181928100 -:10103000820F931F90938900809388008091BE0255 -:10104000992787FD9095FC01EE0FFF1FE80FF91F10 -:10105000E154FD4F808186FF11C08091BE02992727 -:1010600087FD9095FC01EE0FFF1FE80FF91FE1547B -:10107000FD4F808161E08F730E940612FF91EF9116 -:10108000BF91AF919F918F917F916F915F914F91A0 -:101090003F912F910F900FBE0F901F9018952091A8 -:1010A000BD022C30A0F431E0320F3093BD02FC01C0 -:1010B0002083822F90E0FC01EE0FFF1FE80FF91F45 -:1010C000E154FD4F8CED95E09283818308952FEFDD -:1010D000FC0120830895DF92EF92FF920F931F93FC -:1010E000CF93DF93EC01D62E7A01890188818C3071 -:1010F00008F066C061E08D2D0E94CD118881A82F77 -:10110000B0E0FD01EE0FFF1FEA0FFB1FE154FD4FA2 -:101110002D2D2F739081907C922B908360E272E052 -:101120006E197F0977FF02C06D5F7F4F75956795D8 -:1011300075956795698340E659E0401B510B57FF51 -:1011400002C04D5F5F4F55954795559547954A832A -:101150006CE00E948F159CE0899FB001112420E073 -:1011600030E0A901460F571FFA01EE0FFF1FE40FF1 -:10117000F51FE154FD4F908196FD16C02F5F3F4F44 -:101180002C30310571F781110FC01092800082E080 -:10119000809381001092850010928400B19A809112 -:1011A0006F00826080936F00888190E0FC01EE0FF9 -:1011B000FF1FE80FF91FE154FD4F80818064808399 -:1011C0008881DF91CF911F910F91FF90EF90DF9079 -:1011D000089520E639E040E252E00C946B08FC01EF -:1011E000808190E0FC01EE0FFF1FE80FF91FE15432 -:1011F000FD4F80818F7B80830895FC0180818C303E -:1012000060F5918128E830E0291B310997FD33957D -:10121000220F331F220F331F621773077CF0928156 -:1012200028E532E0291B310997FD3395220F331F42 -:10123000220F331F621773070CF49B014FB7F8940A -:1012400090E022503109FC01EE0FFF1FE80FF91F5B -:10125000E154FD4F328321834FBF08954F925F9237 -:101260006F927F92AF92BF92CF92DF92EF92FF92F6 -:101270000F931F93CF93DF93EC01603282E07807E6 -:101280000CF040C077FD06C0653B71052CF064EBA7 -:1012900070E002C060E070E0898128E830E0281B3F -:1012A000310987FD3395220F331F220F331F590158 -:1012B000CC24B7FCC094DC2C882777FD8095982F30 -:1012C0002A8148E552E0421B510927FD5395440FFE -:1012D000551F440F551F2A01662457FC6094762C35 -:1012E0007F926F925F924F9214EBE12EF12C00E00F -:1012F00010E020E030E0A9010E9437150F900F9018 -:101300000F900F90CE01DF91CF911F910F91FF9021 -:10131000EF90DF90CF90BF90AF907F906F905F90F5 -:101320004F900C94FD08FC01808190E0FC01EE0FD1 -:10133000FF1FE80FF91FE154FD4F808186FB8827CE -:1013400080F908958091130390E020911403821B8B -:10135000910908952091140380911303281750F4E4 -:10136000E22FF0E0EB5EFC4F808190E02F5F209356 -:10137000140308958FEF9FEF0895E0911403809177 -:101380001303E81730F4F0E0EB5EFC4F808190E04F -:1013900008958FEF9FEF08950895CF92DF92EF9217 -:1013A000FF920F931F93CF93DF937C01CB018A01B0 -:1013B0002091EF02222389F0EB016B01C40ED51EB0 -:1013C000CC15DD0569F06991D701ED91FC91019093 -:1013D000F081E02DC7010995F3CF642F0E942C0BFB -:1013E000C801DF91CF911F910F91FF90EF90DF9097 -:1013F000CF900895CF93DF931F92CDB7DEB7698367 -:101400002091EF022223D1F02091F002203240F00F -:1014100021E030E0FC013383228380E090E015C0BE -:101420008091F102E82FF0E0EE50FD4F998190831A -:101430008F5F8093F1028093F00205C061E0CE01DE -:1014400001960E942C0B81E090E00F90DF91CF91EC -:101450000895FC011382128248EE53E060E070E0D0 -:10146000448355836683778385EB91E09183808302 -:10147000089510921403109213031092F102109227 -:10148000F0020C94770A862F413208F040E265E1C1 -:1014900073E00E94950A1092140380931303089539 -:1014A00021E00C94430A81E08093EF0260931203E1 -:1014B0001092F1021092F00208950F93062F21E08E -:1014C0004091F00262EF72E0809112030E94D90A0B -:1014D0001092F1021092F0021092EF020F91089513 -:1014E00061E00C945D0A83EE92E00C94290A10925C -:1014F000A20381E08093A00310929F0361E082E148 -:101500000E94061261E083E10E940612E9EBF0E01E -:1015100080818E7F808380818D7F808380E2809335 -:10152000B80085E48093BC000895413208F03FC0C4 -:101530009091A2039111FCCF91E09093A20320938C -:10154000A0032FEF2093350310927A03240F2093EA -:1015500079039093A1039091A103880F892B809325 -:10156000A10380919F03813041F410929F038091E9 -:10157000A1038093BB0085EC01C085EE8093BC0085 -:101580008091A2038130E1F380917A03841710F4F3 -:1015900040917A032BE733E0FB01D9018A2F821BAC -:1015A000841718F48D918193F9CF842F089580E0EA -:1015B00008950F93413208F046C09091A203911113 -:1015C000FCCF92E09093A2030093A0039FEF90932F -:1015D000350310927A0340937903FB016BE773E0C4 -:1015E000DB019A2F961B941718F491919D93F9CFD4 -:1015F0001092A1039091A103880F892B8093A103DE -:1016000080919F03813041F410929F038091A10348 -:101610008093BB0085EC01C085EE8093BC00222343 -:1016200021F08091A2038230E1F3809135038F3F56 -:1016300061F080913503803251F080913503803321 -:1016400041F483E007C081E005C080E003C082E090 -:1016500001C084E00F910895613298F42091A203B3 -:10166000243089F460935703FC0189E593E0DC01A1 -:101670002A2F281B261718F421912D93F9CF80E0EB -:10168000089581E0089582E0089585ED8093BC007F -:101690008091BC0084FDFCCF1092A203089585ECDC -:1016A0008093BC001092A20308951F920F920FB670 -:1016B0000F9211242F933F934F935F936F937F93D8 -:1016C0008F939F93AF93BF93EF93FF938091B90054 -:1016D000887F803609F49CC068F5883209F45BC0C5 -:1016E00090F4803109F454C038F4882309F4F5C02B -:1016F000883009F44DC0F5C0883109F44CC08032FF -:1017000009F45DC0EEC0803409F468C048F4803349 -:1017100009F455C0883309F0E4C080933503A8C0AC -:10172000803509F44FC0883509F45DC0883409F06C -:10173000D8C0D5C0883909F4C6C0A8F4883709F4E0 -:1017400067C038F4883609F463C0803709F460C094 -:10175000C8C0883809F4B7C0803909F45FC0803840 -:1017600009F0BFC05BC0803B09F485C038F4803A03 -:1017700009F466C0883A09F47EC0B3C0803C09F41D -:10178000A6C0883C09F4A3C0883B09F489C0A9C05D -:101790008091A10310C090917A03809179039817EA -:1017A00070F5E0917A0381E08E0F80937A03F0E088 -:1017B000E558FC4F80818093BB0085EC85C0809309 -:1017C00035038DC0E0917A0381E08E0F80937A0318 -:1017D0008091BB00F0E0E558FC4F808390917A0344 -:1017E000809179036DC0E0917A0381E08E0F809340 -:1017F0007A038091BB00F0E0E558FC4F8083809134 -:10180000A00381116CC081E080939F0384EA60C0D3 -:1018100083E08093A20310923603CFCF80913603EA -:10182000803208F050C0E091360381E08E0F809343 -:1018300036038091BB00F0E0E95CFC4F8083BDCFB4 -:1018400080913603803230F4E0913603F0E0E95CB9 -:10185000FC4F10820E94450B6091360370E0E091CE -:101860009B03F0919C0387E393E009951092360364 -:101870000E944F0B36C084E08093A203109258035D -:1018800010925703E0919D03F0919E03099580917A -:101890005703811105C081E08093570310925903CB -:1018A000E091580381E08E0F80935803F0E0E75AEF -:1018B000FC4F80818093BB00909158038091570327 -:1018C000981708F47ACF85E88093BC000AC085ECAD -:1018D0008093BC001092A20304C0109235030E94B2 -:1018E000450BFF91EF91BF91AF919F918F917F91A8 -:1018F0006F915F914F913F912F910F900FBE0F907D -:101900001F9018950F931F93CF93DF93EC018B01DA -:1019100088819981DC01ED91FC916F770190F081D4 -:10192000E02D099588819981DC01ED91FC91B80148 -:10193000660F672F661F770B6F770190F081E02DA0 -:10194000DF91CF911F910F910994DC018D919C91B2 -:10195000DC01ED91FC910190F081E02D60EF0994A4 -:10196000DC018D919C91DC01ED91FC910190F08165 -:10197000E02D67EF0994CF93DF93EC018881998183 -:10198000DC01ED91FC910190F081E02D69EF09956A -:1019900088819981DC01ED91FC910190F081E02D2D -:1019A00062E0099588819981DC01ED91FC910190BB -:1019B000F081E02D64E0DF91CF9109941F93CF93E4 -:1019C000DF93EC018A818823D9F1CE010E94A50C16 -:1019D00088819981DC01ED91FC910190F081E02DED -:1019E00069E7099588819981DC01ED91FC91AB81D2 -:1019F000BC810190F081E02D6C91099588819981DD -:101A0000DC01ED91FC91AB81BC810190F081E02D76 -:101A100011966C91099512E08A81181758F4EB81A0 -:101A2000FC81E10FF11D608170E0CE010E94820C0B -:101A30001F5FF2CFCE01DF91CF911F910C94B00CBC -:101A4000DF91CF911F910895CF92DF92EF92FF9295 -:101A50000F931F93CF93DF938C01EB01C42ED22EF3 -:101A600061EC71E0CE010E943D177C016FE270E0F5 -:101A7000CE010E943217009739F46CE570E0CE0178 -:101A80000E943217009711F0EC012196E114F10445 -:101A900051F4FE0101900020E9F7EC1BEF5FD80143 -:101AA0001296EC9306C0EC1AFD0AE394E394F80155 -:101AB000E282D80113968D919C9114970E949416FE -:101AC000F801E280F12CC70101960E94FC15D801B3 -:101AD00014969C938E931397FC01EE0DFF1D1082BC -:101AE000FC01C082D18212964C9150E042505109C3 -:101AF000BE010296DF91CF911F910F91FF90EF9061 -:101B0000DF90CF900C942317DC018D919C91DC0128 -:101B1000ED91FC910480F581E02D09940F931F93C2 -:101B2000CF93DF93FC012085213749F0293709F055 -:101B300049C0DF91CF911F910F910C94DE0CFC01F5 -:101B4000E95AFF4F0190F081E02D309709F450C021 -:101B5000DC01A75BBF4F4D915C919A012150310987 -:101B600037FD9A01B90175956795062F40E050E061 -:101B700020E030E04E5F5F4F2017A0F4EC01C40F6F -:101B8000D51F1F81DC01A20FB31F18961C93189755 -:101B9000C885D0E8CD9F1019112418961C932F5F8B -:101BA0003F4FE8CFDC01A60FB11D17962C91179778 -:101BB000222311F018961C920896DF91CF911F9165 -:101BC0000F910994FC01E75AFF4F0190F081E02D3D -:101BD000309771F0AC01475F5F4FDC01A75BBF4FEF -:101BE0006C916150822FDF91CF911F910F910994D9 -:101BF000DF91CF911F910F9108950F931F93CF9372 -:101C0000DF93EC018A0188819981DC01ED91FC91DF -:101C10006F70606E0190F081E02D0995B801CE01E2 -:101C2000DF91CF911F910F910C94820C0F931F9312 -:101C3000CF93DF93EC018A0188819981DC01ED91DA -:101C4000FC916F7060690190F081E02D09958881A9 -:101C50009981DC01ED91FC91602F6F770190F0810B -:101C6000E02D099588819981DC01ED91FC91B80105 -:101C7000660F672F661F770B0190F081E02DDF91D3 -:101C8000CF911F910F910994CF92DF92EF92FF9223 -:101C90000F931F93CF93DF9300D01F92CDB7DEB782 -:101CA0008C01F42E2A833B8369830E94A50CD80102 -:101CB0008D919C91DC01ED91FC910190F081E02DE2 -:101CC000698109952A81E22EC22E3B81D32E8C2D6B -:101CD0008E198F1540F4F60161916F0170E0C80113 -:101CE0000E94820CF4CFC8010F900F900F90DF91EB -:101CF000CF911F910F91FF90EF90DF90CF900C94B8 -:101D0000B00C9A01FA0101900020E9F73197E41B29 -:101D1000F50B4E2F0C94440EAB0161E70C94810E31 -:101D2000DC018D919C91DC01ED91FC910190F081A1 -:101D3000E02D0994603DB9F028F4603961F0603C11 -:101D400071F00895603E19F0643F89F00895FC0138 -:101D5000E55BFF4F0FC0FC01E35BFF4F0BC0FC01D5 -:101D6000E15BFF4F07C0FC01EF5AFF4F03C0FC01CE -:101D7000ED5AFF4F5183408308956F3F29F4FC01D2 -:101D8000EB5AFF4F518340830895875A9F4FFC01C0 -:101D9000518340830895FC0115821682178280E0EA -:101DA00090E0DF01A80FB91F18961C9201968034AD -:101DB0009105B9F7DF01A85BBF4F1C9211961D92E8 -:101DC0001C92EB5AFF4F0190F081E02D309709F003 -:101DD00009940895FC011282148213820C94CB0E94 -:101DE000CF93DF93EC0188819981DC01ED91FC9127 -:101DF0000680F781E02D0995FE01E85BFF4F208109 -:101E00002223B1F0873F910531F41082CE01DF919A -:101E1000CF910C948E0DFE01E75BFF4F2081318145 -:101E2000C20FD31F88872F5F3F4F318320839DC010 -:101E30002D81222309F45EC0803891050CF05AC030 -:101E40009FEF920F9D83FE01E90FF11D8087911195 -:101E50008CC08E81882309F488C0803DE9F148F464 -:101E60008039E9F0803C09F043C0FE01E15BFF4F9F -:101E700036C0803E19F0843F19F13AC0FE01E55B9F -:101E8000FF4F0190F081E02D309791F188856985B1 -:101E900070E0B0E88B9F600D711D112427C0FE011A -:101EA000E35BFF4F0190F081E02D309709F18885C9 -:101EB000698570E090E8899F600D711D112416C03E -:101EC000FE01ED5AFF4F0190F081E02D309781F037 -:101ED000688570E089850BC0FE01EF5AFF4F0190C5 -:101EE000F081E02D309721F0688570E08F810995B1 -:101EF0001E823BC0803F91052CF4282F2F702F832A -:101F0000807F9927803E910521F154F4803C910512 -:101F100011F1803D9105F9F08039910531F519C035 -:101F2000843F9105B1F054F4803F9105F1F481E0D4 -:101F30008083C75BDF4F1982188217C0893F9105E4 -:101F400071F08F3F910589F4CE01DF91CF910C9410 -:101F5000CB0E92E001C091E09D838E8306C083EAA0 -:101F600093E0DF91CF910C94BB0CDF91CF9108955A -:101F70008F929F92AF92BF92CF92DF92EF92FF9299 -:101F80001F93CF93DF93EB014A01690161E08DE07C -:101F90000E94CD1110E0EE24D7FCE094FE2CAA2480 -:101FA00097FCA094BA2C812F90E08C179D0794F495 -:101FB000C701B6010E94BC1061E08DE00E940612CC -:101FC000C501B4010E94BC1060E08DE00E940612C1 -:101FD0001F5FE9CFDF91CF911F91FF90EF90DF90CE -:101FE000CF90BF90AF909F908F900895CF93DF9345 -:101FF000EC0161E08DE00E94CD1122ED30E048E27D -:1020000050E062E070E0CE010E94B80F6AEF70E02D -:1020100080E090E00E94BC1022ED30E048E250E009 -:1020200064E070E0CE010E94B80F6DE770E080E0E0 -:1020300090E0DF91CF910C94BC10CF93DF93EC0133 -:1020400026E08DE094E00E941F138DE094E09983D8 -:102050008883CE010E94F60FCE010E94BB0CCE01F8 -:10206000DF91CF910C94DE0C83EA93E00C94EA0E9E -:102070000F9300E020E040E060E08EEF93E00E94EC -:102080005A140F9108951F920F920FB60F921124B8 -:102090002F933F938F939F93AF93BF9380910504AA -:1020A00090910604A0910704B091080430910404B3 -:1020B00026E0230F2D3720F40296A11DB11D05C087 -:1020C00029E8230F0396A11DB11D209304048093DA -:1020D000050490930604A0930704B093080480912C -:1020E000090490910A04A0910B04B0910C0401968C -:1020F000A11DB11D8093090490930A04A0930B04C1 -:10210000B0930C04BF91AF919F918F913F912F910C -:102110000F900FBE0F901F9018952FB7F8946091F5 -:1021200005047091060480910704909108042FBF64 -:1021300008953FB7F8948091090490910A04A09102 -:102140000B04B0910C0426B5A89B05C02F3F19F0D5 -:102150000196A11DB11D3FBF6627782F892F9A2FA9 -:10216000620F711D811D911D43E0660F771F881F4F -:10217000991F4A95D1F70895CF92DF92EF92FF927F -:10218000CF93DF936B017C010E949910EB01C11486 -:10219000D104E104F10489F00E947E150E94991097 -:1021A0006C1B7D0B683E734090F381E0C81AD10828 -:1021B000E108F108C851DC4FEACFDF91CF91FF90E1 -:1021C000EF90DF90CF9008958330910528F0880F2D -:1021D000991F04970197F1F70895789484B5826068 -:1021E00084BD84B5816084BD85B5826085BD85B5BB -:1021F000816085BDEEE6F0E0808181608083E1E86A -:10220000F0E01082808182608083808181608083A1 -:10221000E0E8F0E0808181608083E1EBF0E08081A4 -:1022200084608083E0EBF0E0808181608083EAE776 -:10223000F0E08081846080838081826080838081FF -:102240008E7F80838081806880831092C100089592 -:102250008E3008F08E50877020910D0190E4299FF8 -:1022600090011124822B80937C0080917A008064FD -:1022700080937A0080917A0086FDFCCF809178006F -:102280002091790090E0922B08951F93CF93DF93D4 -:10229000182FEB0161E00E94CD11209711F460E04E -:1022A00004C0CF3FD10539F461E0812FDF91CF9198 -:1022B0001F910C940612E12FF0E0E457FF4FE491D8 -:1022C000E330F9F048F4E130B9F0E230A1F584B53B -:1022D000806284BDC8BD34C0E730E9F0E83019F150 -:1022E000E43049F580918000806280938000D09333 -:1022F0008B00C0938A0024C084B5806884BDC7BDAC -:102300001FC080918000806880938000D0938900F6 -:10231000C093880015C08091B00080688093B000A1 -:10232000C093B3000DC08091B00080628093B00074 -:10233000C093B40005C0C038D1050CF0B5CFAFCF05 -:10234000DF91CF911F910895833081F028F481307F -:1023500099F08230A1F008958730A9F08830B9F063 -:102360008430D1F4809180008F7D03C08091800003 -:102370008F7780938000089584B58F7702C084B5ED -:102380008F7D84BD08958091B0008F7703C08091C8 -:10239000B0008F7D8093B0000895CF93DF9390E0DD -:1023A000FC01E056FF4F2491FC01EC54FF4F849157 -:1023B000882349F190E0880F991FFC01EE52FF4FEE -:1023C000A591B49188539F4FFC01C591D4919FB7BB -:1023D000611108C0F8948C91209582238C93888198 -:1023E00082230AC0623051F4F8948C91322F3095D8 -:1023F00083238C938881822B888304C0F8948C91EA -:10240000822B8C939FBFDF91CF9108950F931F93E1 -:10241000CF93DF931F92CDB7DEB7282F30E0F901BD -:10242000E457FF4F8491F901E056FF4F1491F901F1 -:10243000EC54FF4F04910023C9F0882321F06983F5 -:102440000E94A4116981E02FF0E0EE0FFF1FE85316 -:10245000FF4FA591B4919FB7F8948C91611103C07F -:102460001095812301C0812B8C939FBF0F90DF912A -:10247000CF911F910F910895FC01818D228D90E0E5 -:10248000805C9F4F821B91098F7399270895FC01EF -:10249000918D828D981731F0828DE80FF11D858D19 -:1024A00090E008958FEF9FEF0895FC01918D828D4C -:1024B000981761F0828DDF01A80FB11D5D968C9198 -:1024C000928D9F5F9F73928F90E008958FEF9FEFA3 -:1024D000089583ED93E1892B49F080E090E0892B0A -:1024E00029F00E94D31381110C9400000895FC017F -:1024F000848DDF01A80FB11DA35ABF4F2C91848D8D -:1025000090E001968F739927848FA689B7892C93C1 -:10251000A089B1898C9180648C93938D848D98135C -:1025200006C00288F389E02D80818F7D8083089525 -:10253000CF93DF93EC01888D8823C9F0EA89FB896A -:10254000808185FD05C0A889B9898C9186FD0FC061 -:102550000FB607FCF5CF808185FFF2CFA889B98936 -:102560008C9185FFEDCFCE010E947712E7CFDF91EE -:10257000CF910895CF92DF92FF920F931F93CF9345 -:10258000DF931F92CDB7DEB76C0181E0D60158967C -:102590008C9358975B969C915B975C968C915C971B -:1025A000981307C05096ED91FC915197808185FD5D -:1025B0002EC0F601038D10E00F5F1F4F0F73112720 -:1025C000F02EF601848DF81211C00FB607FCF9CF7A -:1025D000D6015096ED91FC915197808185FFF1CF06 -:1025E000C60169830E9477126981EBCF838DE80F62 -:1025F000F11DE35AFF4F6083D6015B960C935B9706 -:102600005296ED91FC915397808180620CC0D60167 -:102610005696ED91FC91579760835096ED91FC9101 -:10262000519780818064808381E090E00F90DF91FA -:10263000CF911F910F91FF90DF90CF900895BF929F -:10264000CF92DF92EF92FF92CF93DF93EC016A017A -:102650007B01B22E60E874E88EE190E0A70196015C -:102660000E949B1521503109410951095695479502 -:1026700037952795E889F98982E08083211580E1E3 -:10268000380798F0E889F989108260E472E48FE0F5 -:1026900090E0A70196010E949B1521503109410944 -:1026A00051095695479537952795EC85FD853083DB -:1026B000EE85FF852083188EEC89FD89B082EA893A -:1026C000FB89808180618083EA89FB8980818860C1 -:1026D0008083EA89FB89808180688083EA89FB891D -:1026E00080818F7D8083DF91CF91FF90EF90DF908D -:1026F000CF90BF9008951F920F920FB60F921124A2 -:102700002F938F939F93EF93FF93E0911D04F0918C -:102710001E048081E0912304F091240482FD12C004 -:102720009081809126048F5F8F73209127048217F8 -:1027300051F0E0912604F0E0E35FFB4F958F80932A -:10274000260401C08081FF91EF919F918F912F917D -:102750000F900FBE0F901F9018951F920F920FB6FB -:102760000F9211242F933F934F935F936F937F9317 -:102770008F939F93AF93BF93EF93FF938DE094E07C -:102780000E947712FF91EF91BF91AF919F918F912E -:102790007F916F915F914F913F912F910F900FBE5D -:1027A0000F901F9018958DE094E00E943C1221E05C -:1027B000892B09F420E0822F0895109210041092C2 -:1027C0000F0488EE93E0A0E0B0E0809311049093B2 -:1027D0001204A0931304B09314048AEC91E0909334 -:1027E0000E0480930D0485EC90E090931A0480937E -:1027F000190484EC90E090931C0480931B0480ECFB -:1028000090E090931E0480931D0481EC90E09093DF -:10281000200480931F0482EC90E090932204809324 -:10282000210486EC90E0909324048093230410927A -:102830002604109227041092280410922904089567 -:10284000AF92BF92CF92DF92EF92FF920F931F93BE -:10285000CF93DF936C017B01C0E0D0E000E010E09B -:10286000F601EC0FFD1F4AE050E06281C7010E94B3 -:1028700030155C016EE2C7010E94C3148A0D9B1DD6 -:10288000080F191F2196C330D10551F74AE050E0D7 -:10289000F6016581C7010E943015800F911FDF91FD -:1028A000CF911F910F91FF90EF90DF90CF90BF904D -:1028B000AF9008950F93FC018AED91E0918380839E -:1028C00062834383248305830F9108958AED91E009 -:1028D0009093AB048093AA041092AC041092AD04C0 -:1028E0001092AE041092AF04089508950E94ED1066 -:1028F0000E9475140E94DB03C9E6D2E10E94FC0627 -:102900002097E1F30E946912F9CFCF92DF92EF9204 -:10291000FF920F931F93CF93DF936C017A01EB012A -:10292000E60EF71E00E010E0CE15DF0561F06991BC -:10293000D601ED91FC910190F081E02DC601099541 -:10294000080F191FF1CFC801DF91CF911F910F918F -:10295000FF90EF90DF90CF9008956115710581F0A1 -:10296000DB010D900020E9F7AD0141505109461BF4 -:10297000570BDC01ED91FC910280F381E02D09946D -:1029800080E090E00895DC01ED91FC910190F081F0 -:10299000E02D09948F929F92AF92BF92CF92DF92D7 -:1029A000EF92FF920F931F93CF93DF93CDB7DEB7D4 -:1029B000A1970FB6F894DEBF0FBECDBF7C01C42E29 -:1029C000E52FCB01D22E19A221E02D1510F02AE01F -:1029D000D22E8E010F5D1F4F8D2C912CA12CB12C6E -:1029E0006C2D7E2FA50194010E949B158C2DD29EEB -:1029F00080191124015011098A3014F4805D01C03E -:102A0000895CF8018083211531054105510521F0CC -:102A1000C22EE32FCA01E4CFB801C7010E94AD1452 -:102A2000A1960FB6F894DEBF0FBECDBFDF91CF9158 -:102A30001F910F91FF90EF90DF90CF90BF90AF90DC -:102A40009F908F9008952115310541F4DC01ED919F -:102A5000FC910190F081E02D642F09940C94CA142C -:102A60009A01462F50E060E070E00C9423154F92DD -:102A70005F926F927F92AF92BF92CF92DF92EF926E -:102A8000FF920F931F93CF93DF93CDB7DEB729014A -:102A90003A01621B730B840B950B29893A894B8988 -:102AA0005C892A193B094C095D09298B3A8B4B8BB0 -:102AB0005C8B9B01AC0169897A898B899C890E9416 -:102AC0007F15E418F50806091709A80197010E9467 -:102AD000BD152A0D3B1D4C1D5D1DCA01B901DF91BD -:102AE000CF911F910F91FF90EF90DF90CF90BF900B -:102AF000AF907F906F905F904F9008950895DB01A5 -:102B00008F939F930E94E215BF91AF91A29F800D7A -:102B1000911DA39F900DB29F900D11240895991BB4 -:102B200079E004C0991F961708F0961B881F7A95C4 -:102B3000C9F780950895A1E21A2EAA1BBB1BFD01BF -:102B40000DC0AA1FBB1FEE1FFF1FA217B307E4078C -:102B5000F50720F0A21BB30BE40BF50B661F771FE4 -:102B6000881F991F1A9469F76095709580959095C4 -:102B70009B01AC01BD01CF010895052E97FB1EF40A -:102B800000940E94D41557FD07D00E949B1507FCA6 -:102B900003D04EF40C94D415509540953095219562 -:102BA0003F4F4F4F5F4F0895909580957095619579 -:102BB0007F4F8F4F9F4F0895EE0FFF1F0590F491A9 -:102BC000E02D09940E94ED15A59F900DB49F900DE6 -:102BD000A49F800D911D11240895A29FB001B39F61 -:102BE000C001A39F700D811D1124911DB29F700D16 -:102BF000811D1124911D0895CF93DF93823091059B -:102C000010F482E090E0E091B204F091B30420E08F -:102C100030E0A0E0B0E0309739F1408151814817B1 -:102C20005907B8F04817590771F4828193811097BA -:102C300029F013969C938E9312972CC09093B30413 -:102C40008093B20427C02115310531F04217530794 -:102C500018F0A901DB0101C0EF019A01BD01DF01FC -:102C60000280F381E02DD7CF21153105F9F0281B23 -:102C7000390B2430310580F48A819B8161157105FF -:102C800021F0FB019383828304C09093B30480936B -:102C9000B204FE01329644C0FE01E20FF31F81939D -:102CA000919322503109398328833AC02091B0048E -:102CB0003091B104232B41F42091020130910301A2 -:102CC0003093B1042093B0042091000130910101B0 -:102CD0002115310541F42DB73EB7409104015091C3 -:102CE0000501241B350BE091B004F091B104E2170B -:102CF000F307A0F42E1B3F0B2817390778F0AC011F -:102D00004E5F5F4F2417350748F04E0F5F1F5093FB -:102D1000B1044093B0048193919302C0E0E0F0E0ED -:102D2000CF01DF91CF910895CF93DF93009709F4FE -:102D300087C0FC01329713821282C091B204D091F5 -:102D4000B304209781F420813181280F391F8091AD -:102D5000B0049091B1048217930779F5F093B10410 -:102D6000E093B0046DC0DE0120E030E0AE17BF0795 -:102D700050F412964D915C9113979D0141155105A8 -:102D800009F1DA01F3CFB383A28340815181840F2B -:102D9000951F8A179B0771F48D919C911197840F51 -:102DA000951F02969183808312968D919C91139723 -:102DB000938382832115310529F4F093B304E093C2 -:102DC000B2043EC0D9011396FC93EE9312974D9135 -:102DD0005D91A40FB51FEA17FB0779F480819181FB -:102DE000840F951F0296D90111969C938E93828130 -:102DF000938113969C938E931297E0E0F0E08A8182 -:102E00009B81009719F0FE01EC01F9CFCE010296EB -:102E100028813981820F931F2091B0043091B10431 -:102E20002817390769F4309729F41092B3041092E7 -:102E3000B20402C013821282D093B104C093B004D2 -:102E4000DF91CF910895FB01DC014150504048F0E3 -:102E500001900D920020C9F701C01D9241505040D1 -:102E6000E0F70895FC0181E090E00190061609F476 -:102E7000CF010020D1F701970895FB01519155230F -:102E8000A9F0BF01DC014D9145174111E1F759F45B -:102E9000CD010190002049F04D9140154111C9F339 -:102EA000FB014111EFCF81E090E001970895F89484 -:022EB000FFCF52 -:102EB2000000B404800001000000FF1300014D6116 -:102EC2007820736572766F732061747461636865CC -:102ED2006400556E6B6E6F776E2070696E206D6F39 -:102EE2006465005374616E646172644669726D61F7 -:102EF20074612E696E6F004932433A20546F6F201D -:102F02006D616E792062797465732072656365699B -:102F1200766564004932433A20546F6F20666577C4 -:102F220020627974657320726563656976656400F1 -:102F320031302D6269742061646472657373696EE5 -:102F420067206E6F7420737570706F7274656400A1 -:102F5200746F6F206D616E7920717565726965732A -:102F62000000000000FA09CD09A209AA09BD09CC96 -:102F7200092E6370700000000000BA1285143C1222 -:0C2F8200551247129812000000002014A5 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/qduino/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/qduino/StandardFirmata.cpp.hex deleted file mode 100644 index cc02da3f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/qduino/StandardFirmata.cpp.hex +++ /dev/null @@ -1,994 +0,0 @@ -:100000000C9494010C94BC010C94BC010C94BC01A4 -:100010000C94BC010C94BC010C94BC010C94BC016C -:100020000C94BC010C94BC010C94AE1A0C947A197B -:100030000C94BC010C94BC010C94BC010C94BC014C -:100040000C94BC010C94370A0C94BC010C94BC01B8 -:100050000C94BC010C94BC010C94BC010C94E612F1 -:100060000C94BC010C94BC010C94BC010C94BC011C -:100070000C94BC010C94BC010C94BC010C94BC010C -:100080000C94BC010C94BC010C94BC010C94BC01FC -:100090000C94F90D0C94BC010C94BC010C94BC01A3 -:1000A0000C94BC010C94BC010C94BC017D09990911 -:1000B000BD0899092E0999099B084A0899099909C7 -:1000C00099099909990961079909300899098208DC -:1000D0003D144214471451145B14A514A514A5141F -:1000E00065146F14791483149014A5149814C6140D -:1000F000C914B814BC14C214EA14EA14EA14CD14D6 -:10010000D114D514DB14DF14EA14E5140706050432 -:100110000100080A0B0C0D090000000200090F0085 -:1001200000030401000C000004080201104080409C -:10013000102040804080080204018040201002010D -:10014000108010204040040404040403040502024B -:100150000202040302020202060606060606040460 -:1001600002020204000000002300260029002C00E7 -:100170002F0000000000250028002B002E00310079 -:1001800000000000240027002A002D003000080B8A -:100190000002020201000904000001020200000541 -:1001A000240010010524010101042402060524068F -:1001B00000010705810310004009040100020A0044 -:1001C000000007050202400000070583024000000E -:1001D00000C18081C112010002020000404F1B6D6E -:1001E0005100010102000112010002000000404F15 -:1001F0001B6D51000101020001537061726B467565 -:100200006E0051746563686B6E6F77205164756919 -:100210006E6F204D696E6900040309040000000040 -:10022000000000002A2B2800000000000000000051 -:100230000000000000000000000000002C9EB4A0A0 -:10024000A1A2A434A6A7A5AE362D3738271E1F209D -:10025000212223242526B333B62EB7B89F84858662 -:100260008788898A8B8C8D8E8F90919293949596A6 -:100270009798999A9B9C9D2F3130A3AD3504050624 -:100280000708090A0B0C0D0E0F1011121314151686 -:100290001718191A1B1C1DAFB1B0B50009040200D4 -:1002A000010300000009210101000122650007058A -:1002B000840340000105010902A1010901A1008593 -:1002C000010509190129031500250195037501810F -:1002D00002950175058103050109300931093815B9 -:1002E00081257F750895038106C0C005010906A117 -:1002F000018502050719E029E7150025017501951B -:100300000881029501750881039506750815002579 -:10031000650507190029658100C0C606170DD712AB -:10032000DB124616A916A01C11241FBECFEFDAE07F -:10033000DEBFCDBF11E0A0E0B1E0EEE0FDE302C022 -:1003400005900D92A43FB107D9F724E0A4EFB1E0E6 -:1003500001C01D92A83BB207E1F713E0C8E2D3E069 -:1003600004C02297FE010E940C1DCA31D107C9F7B3 -:100370000E94B9160C94851E0C9400001F93CF9315 -:10038000DF93162F843008F06CC0982F990F990FC7 -:10039000990F985F9F3108F09EE1D82FDD0FDD0F98 -:1003A000DD0F8D2FC0E041E08917C8F4E82FF0E0A1 -:1003B000DF01A053BD4F2C91223070F4C42BEE0FFF -:1003C000FF1FE057FD4F21E030E0542F512311F47F -:1003D00020E030E031832083440F8F5FE5CFC0FF02 -:1003E00005C0612F61708D2F0E942415C1FF06C0CA -:1003F000612F627081E08D0F0E942415C2FF06C03C -:10040000612F647082E08D0F0E942415C3FF06C027 -:10041000612F687083E08D0F0E942415C4FF06C011 -:10042000612F607184E08D0F0E942415C5FF06C006 -:10043000612F607285E08D0F0E942415C6FF06C0F3 -:10044000612F607486E08D0F0E942415C7FF09C0DC -:10045000612F607887E08D0FDF91CF911F910C9411 -:100460002415DF91CF911F9108950F931F93CF9380 -:10047000DF93EB018E3178F5082F10E0F801E0539F -:10048000FD4F9081933089F0943029F5F801ED5FAC -:10049000FD4F208130E0C901880F991F820F931F03 -:1004A0008F5D9D4F0E94D20B0FC0833051F09BEFA8 -:1004B000980F923030F097EF980F933010F08D3006 -:1004C00019F4BE010E941714F801EE0FFF1FE05748 -:1004D000FD4FD183C083DF91CF911F910F9108957C -:1004E000CF93C82F8C3058F54091F6025091F70207 -:1004F00021E030E0082E02C0220F331F0A94E2F7F9 -:10050000672B49F420953095242335233093F70247 -:100510002093F60214C0242B352B3093F70220933E -:10052000F6028091F40181110AC08C2F0E94E6131B -:10053000AC016C2F8EED93E0CF910C94A110CF9174 -:100540000895DB019A019091F5019C30D0F540911E -:10055000F601682F70E0442369F0E42FF0E0EA50E0 -:10056000FE4F8081FB01ED5FFD4F80834150409342 -:10057000F60107C0FB01ED5FFD4F90839F5F9093F5 -:10058000F501FB01ED5FFD4F1A161B067CF41216F8 -:10059000130664F4408150E0CA01880F991F840F4C -:1005A000951FAD018F5D9D4F0C940F0B208130E0A6 -:1005B000C901880F991F820F931F8F5D9D4F0C9467 -:1005C0008D0B68E171E08EED93E00C943011CF93C8 -:1005D000DF93C82FD0E0CD5FDD4F288130E0C90127 -:1005E000880F991F820F931F8F5D9D4F0E94930B61 -:1005F00088819091F501891306C0882379F0815094 -:100600008093F5010BC0992349F0E091F601EF5F6B -:10061000E093F601F0E0EA50FE4F80838FEF88838D -:10062000DF91CF9108951F93CF93DF93162FC82F9B -:10063000D0E0FE01E453FD4F90811923C251DD4FFC -:10064000411103C09881911741F0412F50E0682F6C -:100650008EED93E00E94BA101883DF91CF911F9125 -:100660000895EF92FF920F931F93CF93DF93E82E9D -:1006700083E08E1508F475C02E2D30E0F901EE50A0 -:10068000FD4F6083672B09F46CC0F901E453FD4F03 -:10069000F0800E2D000F000F000FF0FE52C0802FD3 -:1006A0000E945A15892B09F44CC011E0C02FD0E0EC -:1006B000F1FE07C081E0800F0E945A15892B09F0D6 -:1006C00042C0F2FE06C082E0800F0E945A15892BBC -:1006D000E1F5F3FE06C083E0800F0E945A15892BD6 -:1006E000B1F5F4FE06C084E0800F0E945A15892BF4 -:1006F00081F5F5FE06C085E0800F0E945A15892B12 -:1007000051F5C831D10541F0F6FE06C086E0800FF4 -:100710000E945A15892B09F5679744F4F7FE06C025 -:1007200087E0800F0E945A15892BC9F441E0612FA0 -:100730008E2DDF91CF911F910F91FF90EF900C9430 -:10074000130310E0B3CF1260BCCF1460C2CF1860A7 -:10075000C8CF1061CECF1062D4CF1064DDCF106847 -:10076000E5CFDF91CF911F910F91FF90EF9008950A -:10077000CF93DF938091F202882309F448C0D0918F -:10078000CC02D0FF1DC180E00E945A15892B09F4CC -:1007900017C1C1E0D1FF06C081E00E945A15892B24 -:1007A00009F010C1D2FF06C082E00E945A15892BC1 -:1007B00009F00AC1D3FF06C083E00E945A15892BB5 -:1007C00009F004C1D4FF06C084E00E945A15892BA9 -:1007D00009F0FEC0D5FF06C085E00E945A15892B9E -:1007E00009F0F8C0D6FF06C086E00E945A15892B92 -:1007F00009F0F2C0D7FF06C087E00E945A15892B86 -:1008000009F0ECC040E06C2F80E00E94130380915F -:10081000F302882309F448C0D091CD02D0FFE0C094 -:1008200088E00E945A15892B09F4DAC0C1E0D1FF93 -:1008300006C089E00E945A15892B09F0D3C0D2FF67 -:1008400006C08AE00E945A15892B09F0CDC0D3FF5B -:1008500006C08BE00E945A15892B09F0C7C0D4FF4F -:1008600006C08CE00E945A15892B09F0C1C0D5FF43 -:1008700006C08DE00E945A15892B09F0BBC0D6FF37 -:1008800006C08EE00E945A15892B09F0B5C0D7FF2B -:1008900006C08FE00E945A15892B09F0AFC040E0D6 -:1008A0006C2F81E00E9413038091F402882309F4E5 -:1008B00048C0D091CE02D0FFA3C080E10E945A155B -:1008C000892B09F49DC0C1E0D1FF06C081E10E94DF -:1008D0005A15892B09F096C0D2FF06C082E10E940A -:1008E0005A15892B09F090C0D3FF06C083E10E94FE -:1008F0005A15892B09F08AC0D4FF06C084E10E94F2 -:100900005A15892B09F084C0D5FF06C085E10E94E5 -:100910005A15892B09F07EC0D6FF06C086E10E94D9 -:100920005A15892B09F078C0D7FF06C087E10E94CD -:100930005A15892B09F072C040E06C2F82E00E94AA -:1009400013038091F502882309F476C0D091CF0279 -:10095000D0FF66C088E10E945A15892B09F460C057 -:10096000C1E0D1FF06C089E10E945A15892B09F028 -:1009700059C0D2FF06C08AE10E945A15892B09F09E -:1009800053C0D3FF06C08BE10E945A15892B09F092 -:100990004DC0D4FF06C08CE10E945A15892B09F086 -:1009A00047C0D5FF06C08DE10E945A15892B09F07A -:1009B00041C040E06C2F83E0DF91CF910C94130392 -:1009C000C0E0E8CEC260EECEC460F4CEC860FACE1D -:1009D000C06100CFC06206CFC0640CCFC06812CF28 -:1009E000C0E025CFC2602BCFC46031CFC86037CF05 -:1009F000C0613DCFC06243CFC06449CFC0684FCF14 -:100A0000C0E062CFC26068CFC4606ECFC86074CFF0 -:100A1000C0617ACFC06280CFC06486CFC0688CCFFF -:100A2000C0E09FCFC260A5CFC460ABCFC860B1CFDC -:100A3000C061B7CFC062BDCFDF91CF910895109252 -:100A400047028FEF80930A010895CF92DF92EF92D1 -:100A5000FF920F931F93CF93DF93182FEB01E82E94 -:100A6000F12CC70180539D4F6C01FC0180818F37B1 -:100A700009F4EEC0863051F480914702882331F0AA -:100A80006630710509F4E0C00E941F051E31A8F40C -:100A9000C430D10591F0F701ED5FFD4F20812C307E -:100AA00060F430E0C901880F991F820F931F8F5D9A -:100AB0009D4F0E94370C8111B4C00EEE010F0C3017 -:100AC00058F461E070E0C230D10511F060E070E0F0 -:100AD000802F0E94700202C01E31D0F4E12FE695F3 -:100AE000E695E695812F8770F0E0E453FD4F21E015 -:100AF00030E0082E01C0220F0A94EAF7209721F473 -:100B00008081822B808304C02095808128232083CC -:100B1000F701EE0FFF1FE057FD4F11821082C23028 -:100B2000D10579F02CF42097C9F0219729F16BC0F9 -:100B3000C430D10509F445C064F1269709F45BC0BF -:100B400062C00C3008F084C060E0812F0E94EB147A -:100B500060E0812F0E94241582E052C01E3108F00F -:100B600077C060E0812F0E94EB1460E0812F0E942B -:100B70002415F60110826CC01E3108F069C060E0D7 -:100B8000812F0E94241561E0812F0E94EB1481E0E7 -:100B900037C0133059F08BEF810F823038F087EF78 -:100BA000810F833018F01D3009F052C061E0812FB1 -:100BB0000E94EB1460E070E0812F0E94171483E024 -:100BC0001FC01E3108F044C084E0F6018083F701A5 -:100BD000ED5FFD4F80818F3F41F190E09C01220F3E -:100BE000331F280F391FC9018F5D9D4F0E94370C9D -:100BF00081112EC01AC08EEF810F823048F586E039 -:100C0000F601808325C06CE271E08EED93E0DF9108 -:100C1000CF911F910F91FF90EF90DF90CF900C94A8 -:100C20003011812F0E94E70248CF4FEF5FEF6FEF47 -:100C30007FEF812FDF91CF911F910F91FF90EF9068 -:100C4000DF90CF900C94A1021E3108F424CF35CF51 -:100C5000DF91CF911F910F91FF90EF90DF90CF9098 -:100C60000895CF93C0E08EEF8C0F823028F466E0B9 -:100C700070E08C2F0E942505CF5FCE31A1F781E077 -:100C8000809347028EE193E0CF910C94DD0C0F939B -:100C90001F93CF93DF9381E08093F401809147020B -:100CA00081110E941F05E2EFF2E0CCECD2E0AEEE43 -:100CB000B2E0119219921D9282E0E63FF807C9F75F -:100CC000C3E0D2E010E00FEF8EEE810F8C3018F40D -:100CD00062E070E002C061E070E0812F0E942505B3 -:100CE00009931F5F1E3181F71092F7021092F602EE -:100CF0001092F6011092F5011092F401DF91CF915C -:100D00001F910F91089524E042E06DE371E08EEDB4 -:100D100093E00E94C80F45E352E060EE8EED93E051 -:100D20000E943E114EEB51E060E98EED93E00E948F -:100D30003E1140E752E060EC8EED93E00E943E11E0 -:100D400041E353E060ED8EED93E00E943E1145E2F9 -:100D500055E064EF8EED93E00E943E114DE457E0C4 -:100D600060EF8EED93E00E94691147E456E06FEF6B -:100D70008EED93E00E94611140E051EE60E070E082 -:100D80008EED93E00E94C1120C944706CF93DF933F -:100D9000C1E2D2E0CE010E94F30A239682E0C5347C -:100DA000D807C1F7DF91CF910895682F8EE193E0C6 -:100DB0000C949E0C8EE193E00E944E0C0895DF92FD -:100DC000EF92FF920F931F93CF93DF93F82EEB01D7 -:100DD000D42E6F3F8FEF7807A9F06F2D8EE193E04F -:100DE0000E94F70C8C2F0E94D5068EE193E00E94A2 -:100DF000140D8091450290914602009729F00E94BF -:100E0000871302C0C0E0D0E04D2D6F2D8EE193E03E -:100E10000E94F40C0D2D10E08EE193E00E94460C30 -:100E2000081719071CF461E571E009C08EE193E031 -:100E30000E94460C8017910734F46EE671E08EED47 -:100E400093E00E943011F0924802C09349028AE474 -:100E5000E82E82E0F82EC0E0D0E0C017D10784F081 -:100E600042E04D0D28E432E067E78EED93E0DF913C -:100E7000CF911F910F91FF90EF90DF900C94E810AD -:100E80008EE193E00E94460C892B51F30E94DA0612 -:100E9000F70181937F012196E0CFEF92FF920F93AC -:100EA0001F93CF93DF93162FEA0190E0FC01E956E0 -:100EB000F109E231F10508F03CC2EA5AFF4F0C9407 -:100EC0000A1D8981982F987185FF03C06AE871E037 -:100ED00056C08881983071F148F491112AC2682F68 -:100EE0008EE193E00E94F70C02E007C0903109F414 -:100EF00040C0983109F471C01CC2011768F4FE01AA -:100F0000E00FF11D9181808120E8929F80191124CA -:100F10000E94D5060E5FF1CF8EE193E00E94140D82 -:100F200086E490E0DF91CF911F910F91FF90EF90B9 -:100F30000C9487134A816B81163069F430E8639F03 -:100F4000B0011124640F711D9D814C8150E8959F63 -:100F50004019112406C090E8699F401911246FEFD1 -:100F60007FEFDF91CF911F910F91FF90EF900C9445 -:100F7000DF06E0910A01E73064F06AEA71E08EED85 -:100F800093E0DF91CF911F910F91FF90EF900C9420 -:100F900030119A812B81F0E8663061F42F9F900127 -:100FA0001124290F311D4D819C8150E8459F9019D6 -:100FB000112405C02F9F901911242FEF3FEFEF5FF1 -:100FC000E0930A0144E0E402F0011124E859FD4FE6 -:100FD0008083328321839383ACC150910A0115161B -:100FE00034F440E0252F332727FD30950EC08FEFD6 -:100FF00080930A019EC1EE0FFF1FEE0FFF1FE859FD -:10100000FD4F9081981719F14F5FE42FF0E02E17F4 -:101010003F078CF740E01BC04830C0F4DF01AA0F47 -:10102000BB1FAA0FBB1FA459BD4F8C91EE0FFF1F12 -:10103000EE0FFF1FE859FD4F808311968D919C9113 -:1010400012979283818313968C9183834F5FE42F51 -:10105000F0E02E173F0704F7515050930A0169C181 -:101060002881898150E8859FC0011124820F911D3C -:10107000009721F0909346028093450280914702A9 -:10108000811157C1DF91CF911F910F91FF90EF9088 -:101090000C943106653008F44CC118810981FA803E -:1010A000EB80CC811E3108F044C1E12FF0E0ED5F10 -:1010B000FD4FE081EC3060F4F0E0CF01880F991F24 -:1010C0008E0F9F1F8F5D9D4F0E94370C81112DC188 -:1010D00080E8C89FA00111244E0D511D90E8F99E93 -:1010E000B0011124600F711D812F0E94A10264E0E4 -:1010F00070E0812FDF91CF911F910F91FF90EF90C2 -:101100000C942505623008F414C128818981E0E837 -:101110008E9FC0011124820F911D90930C0180932A -:101120000B010A9708F005C18AE090E090930C014A -:1011300080930B01FEC0623008F4FBC0698170E04F -:10114000123091F08A81F0E88F9FC0011124682B42 -:10115000792B133049F08B8190E090E4899F902D9A -:1011600088271124682B792B8881DF91CF911F91DB -:101170000F91FF90EF900C94350260EF8EED93E0AD -:101180000E9434116CE68EED93E00E943411C0E0B1 -:1011900060E08EED93E00E94341161E08EED93E00B -:1011A0000E94341161E08EED93E00E94341161E001 -:1011B0008EED93E00E9434118EEE8C0F8C3058F43B -:1011C00062E08EED93E00E9434116AE08EED93E0D0 -:1011D0000E9434110DC0C33059F463E08EED93E0EA -:1011E0000E94341168E08EED93E00E9434110AC031 -:1011F0008BEF8C0F823088F387EF8C0F833068F38E -:10120000CD3059F364E08EED93E00E9434116EE02E -:101210008EED93E00E9434118EEF8C0F823050F4EB -:1012200066E08EED93E00E94341161E08EED93E074 -:101230000E9434116FE78EED93E00E943411CF5F6E -:10124000CE3109F0A5CF67EF8EED93E0DF91CF911E -:101250001F910F91FF90EF900C943411662309F4C5 -:1012600068C0C88160EF8EED93E00E9434116EE695 -:101270008EED93E00E9434116C2F8EED93E00E946E -:101280003411CE3100F7D0E0FE01E053FD4F608114 -:101290008EED93E00E943411CC0FDD1F8E010057BC -:1012A0001D4FF80160816F778EED93E00E9434113D -:1012B000F80160817181CB018078892B49F0660F3C -:1012C000672F661F770B6F778EED93E00E943411C6 -:1012D000C057DD4F68817981CB018827907C892BAD -:1012E00009F4B1CF770F660B770F762F661F6F77F4 -:1012F0008EED93E00E943411A6CF60EF8EED93E067 -:101300000E9434116AE68EED93E00E943411CEEE15 -:10131000CC3010F06FE701C06C2F8EED93E00E948F -:101320003411CF5FCC30A1F78ECF812F0E94E7021E -:10133000CFCEDF91CF911F910F91FF90EF90089545 -:101340008F929F92AF92BF92CF92DF92EF92FF92D5 -:101350000F931F93CF93DF930E94B8038EED93E01A -:101360000E942810892B29F08EED93E00E949411A1 -:10137000F5CF0E94301360938C0270938D0280939E -:101380008E0290938F02C0908802D0908902E090E4 -:101390008A02F0908B0240910B0150910C014A019E -:1013A000A12CB12C8B019C010C191D092E093F09A0 -:1013B00080169106A206B30608F04CC0D501C40100 -:1013C0008C0D9D1DAE1DBF1D8093880290938902D8 -:1013D000A0938A02B0938B02C0EDD2E01EEE1C30C7 -:1013E000C0F488818230A9F42091F6023091F7028E -:1013F000012E02C0359527950A94E2F720FF09C017 -:10140000812F0E94E613AC01612F8EED93E00E94C4 -:10141000A1101F5F21961C3011F780910A0187FDF2 -:1014200019C0C0E0EC2FF0E080910A01992787FDF8 -:1014300090958E179F0774F0EE0FFF1FEE0FFF1FA2 -:10144000E859FD4F61817281438180810E94DF06EE -:10145000CF5FE8CFDF91CF911F910F91FF90EF9079 -:10146000DF90CF90BF90AF909F908F9008951F9284 -:101470000F920FB60F9211242F933F934F935F93C8 -:101480006F937F938F939F93AF93BF93EF93FF934C -:101490008091F90287FF05C01092850010928400A8 -:1014A0001AC02091F902332727FD30958091F80268 -:1014B00090E0281739077CF48091F902992787FD7D -:1014C0009095FC01EE0FFF1FE80FF91FE650FD4F4E -:1014D000808186FD15C08091F9028F5F8093F902AB -:1014E0002091F902332727FD30958091F80290E092 -:1014F00028173907BCF48091F9028C305CF112C0D6 -:101500008091F902992787FD9095FC01EE0FFF1F4E -:10151000E80FF91FE650FD4F808160E08F730E9455 -:101520002415D9CF80918400909185000496803253 -:101530009E4418F480E29EE405C08091840090915E -:101540008500049690938900809388008FEF8093A4 -:10155000F90238C020918400309185008091F90211 -:10156000992787FD9095FC01EE0FFF1FE80FF91FEB -:10157000E650FD4F81819281820F931F90938900E5 -:10158000809388008091F902992787FD9095FC014E -:10159000EE0FFF1FE80FF91FE650FD4F808186FF19 -:1015A00011C08091F902992787FD9095FC01EE0FFB -:1015B000FF1FE80FF91FE650FD4F808161E08F7338 -:1015C0000E942415FF91EF91BF91AF919F918F9150 -:1015D0007F916F915F914F913F912F910F900FBE2F -:1015E0000F901F9018952091F8022C30A0F431E054 -:1015F000320F3093F802FC012083822F90E0FC012F -:10160000EE0FFF1FE80FF91FE650FD4F8CED95E040 -:101610009283818308952FEFFC0120830895DF9248 -:10162000EF92FF920F931F93CF93DF93EC01D62E8F -:101630007A01890188818C3008F066C061E08D2DC7 -:101640000E94EB148881A82FB0E0FD01EE0FFF1F70 -:10165000EA0FFB1FE650FD4F2D2D2F739081907CDC -:10166000922B908360E272E06E197F0977FF02C0CF -:101670006D5F7F4F7595679575956795698340E6B2 -:1016800059E0401B510B57FF02C04D5F5F4F55950E -:101690004795559547954A836CE00E94BD1C9CE098 -:1016A000899FB001112420E030E0A901460F571FA7 -:1016B000FA01EE0FFF1FE40FF51FE650FD4F90817A -:1016C00096FD16C02F5F3F4F2C30310571F7811109 -:1016D0000FC01092800082E08093810010928500FC -:1016E00010928400B19A80916F00826080936F00A5 -:1016F000888190E0FC01EE0FFF1FE80FF91FE65014 -:10170000FD4F8081806480838881DF91CF911F911C -:101710000F91FF90EF90DF90089520E639E040E2CE -:1017200052E00C940F0BFC01808190E0FC01EE0F65 -:10173000FF1FE80FF91FE650FD4F80818F7B8083EC -:101740000895FC0180818C3060F5918128E830E0BB -:10175000291B310997FD3395220F331F220F331FA9 -:10176000621773077CF0928128E532E0291B31096A -:1017700097FD3395220F331F220F331F6217730714 -:101780000CF49B014FB7F89490E022503109FC0112 -:10179000EE0FFF1FE80FF91FE650FD4F3283218344 -:1017A0004FBF08954F925F926F927F92AF92BF9218 -:1017B000CF92DF92EF92FF920F931F93CF93DF931D -:1017C000EC01603282E078070CF040C077FD06C083 -:1017D000653B71052CF064EB70E002C060E070E0E6 -:1017E000898128E830E0281B310987FD3395220FD5 -:1017F000331F220F331F5901CC24B7FCC094DC2CBB -:10180000882777FD8095982F2A8148E552E0421B72 -:10181000510927FD5395440F551F440F551F2A01A9 -:10182000662457FC6094762C7F926F925F924F9261 -:1018300014EBE12EF12C00E010E020E030E0A901F3 -:101840000E94221B0F900F900F900F90CE01DF91FE -:10185000CF911F910F91FF90EF90DF90CF90BF90AD -:10186000AF907F906F905F904F900C94A10BFC0114 -:10187000808190E0FC01EE0FFF1FE80FF91FE6509A -:10188000FD4F808186FB882780F9089580914E0363 -:1018900090E020914F03821B9109089520914F03FE -:1018A00080914E03281750F4E22FF0E0E05BFC4FEC -:1018B000808190E02F5F20934F0308958FEF9FEF7B -:1018C0000895E0914F0380914E03E81730F4F0E063 -:1018D000E05BFC4F808190E008958FEF9FEF0895CB -:1018E0000895CF92DF92EF92FF920F931F93CF93C1 -:1018F000DF937C01CB018A0120912A03222389F006 -:10190000EB016B01C40ED51ECC15DD0569F06991A4 -:10191000D701ED91FC910190F081E02DC70109956F -:10192000F3CF642F0E94D00DC801DF91CF911F919A -:101930000F91FF90EF90DF90CF900895CF93DF93BA -:101940001F92CDB7DEB7698320912A032223D1F0FD -:1019500020912B03203240F021E030E0FC01338362 -:10196000228380E090E015C080912C03E82FF0E006 -:10197000E35DFC4F998190838F5F80932C0380936C -:101980002B0305C061E0CE0101960E94D00D81E0DD -:1019900090E00F90DF91CF910895FC0113821282A5 -:1019A00048EE53E060E070E04483558366837783BC -:1019B0008FEB91E091838083089510924F031092F2 -:1019C0004E0310922C0310922B030C941B0D862FA8 -:1019D000413208F040E260E573E00E94390D109258 -:1019E0004F0380934E03089521E00C94E70C81E0AF -:1019F00080932A0360934D0310922C0310922B03C3 -:101A000008950F93062F21E040912B036DE273E0C0 -:101A100080914D030E947D0D10922C0310922B0398 -:101A200010922A030F91089561E00C94010D8EE14C -:101A300093E00C94CD0C1092DD0381E08093DB03E6 -:101A40001092DA0361E082E00E94241561E083E0F5 -:101A50000E942415E9EBF0E080818E7F80838081F5 -:101A60008D7F808380E28093B80085E48093BC0002 -:101A70000895413208F03FC09091DD039111FCCFF1 -:101A800091E09093DD032093DB032FEF209370030D -:101A90001092B503240F2093B4039093DC0390912C -:101AA000DC03880F892B8093DC038091DA0381307B -:101AB00041F41092DA038091DC038093BB0085EC43 -:101AC00001C085EE8093BC008091DD038130E1F39D -:101AD0008091B503841710F44091B50326EB33E0F1 -:101AE000FB01D9018A2F821B841718F48D918193F1 -:101AF000F9CF842F089580E008950F93413208F0C4 -:101B000046C09091DD039111FCCF92E09093DD03EC -:101B10000093DB039FEF909370031092B503409303 -:101B2000B403FB0166EB73E0DB019A2F961B94175D -:101B300018F491919D93F9CF1092DC039091DC03FE -:101B4000880F892B8093DC038091DA03813041F484 -:101B50001092DA038091DC038093BB0085EC01C016 -:101B600085EE8093BC00222321F08091DD0382303A -:101B7000E1F3809170038F3F61F0809170038032B8 -:101B800051F080917003803341F483E007C081E01D -:101B900005C080E003C082E001C084E00F91089599 -:101BA000613298F42091DD03243089F4609392032C -:101BB000FC0184E993E0DC012A2F281B261718F486 -:101BC00021912D93F9CF80E0089581E0089582E07E -:101BD000089585ED8093BC008091BC0084FDFCCF0E -:101BE0001092DD03089585EC8093BC001092DD0314 -:101BF00008951F920F920FB60F9211242F933F93C7 -:101C00004F935F936F937F938F939F93AF93BF9304 -:101C1000EF93FF938091B900887F803609F49CC0D0 -:101C200068F5883209F45BC090F4803109F454C03F -:101C300038F4882309F4F5C0883009F44DC0F5C0A4 -:101C4000883109F44CC0803209F45DC0EEC08034A4 -:101C500009F468C048F4803309F455C0883309F0AA -:101C6000E4C080937003A8C0803509F44FC0883564 -:101C700009F45DC0883409F0D8C0D5C0883909F4AA -:101C8000C6C0A8F4883709F467C038F4883609F468 -:101C900063C0803709F460C0C8C0883809F4B7C091 -:101CA000803909F45FC0803809F0BFC05BC0803B59 -:101CB00009F485C038F4803A09F466C0883A09F41A -:101CC0007EC0B3C0803C09F4A6C0883C09F4A3C020 -:101CD000883B09F489C0A9C08091DC0310C09091B1 -:101CE000B5038091B403981770F5E091B50381E0D6 -:101CF0008E0F8093B503F0E0EA54FC4F808180930F -:101D0000BB0085EC85C0809370038DC0E091B50366 -:101D100081E08E0F8093B5038091BB00F0E0EA5420 -:101D2000FC4F80839091B5038091B4036DC0E09126 -:101D3000B50381E08E0F8093B5038091BB00F0E086 -:101D4000EA54FC4F80838091DB0381116CC081E0F9 -:101D50008093DA0384EA60C083E08093DD0310920D -:101D60007103CFCF80917103803208F050C0E091B1 -:101D7000710381E08E0F809371038091BB00F0E0CE -:101D8000EE58FC4F8083BDCF80917103803230F4D8 -:101D9000E0917103F0E0EE58FC4F10820E94E90DD3 -:101DA0006091710370E0E091D603F091D70382E770 -:101DB00093E00995109271030E94F30D36C084E000 -:101DC0008093DD031092930310929203E091D80365 -:101DD000F091D903099580919203811105C081E0AA -:101DE0008093920310929403E091930381E08E0F0D -:101DF00080939303F0E0EC56FC4F80818093BB000E -:101E00009091930380919203981708F47ACF85E814 -:101E10008093BC000AC085EC8093BC001092DD0367 -:101E200004C0109270030E94E90DFF91EF91BF91E1 -:101E3000AF919F918F917F916F915F914F913F9162 -:101E40002F910F900FBE0F901F9018950F931F9317 -:101E5000CF93DF93EC018B0188819981DC01ED91B7 -:101E6000FC916F770190F081E02D0995888199812F -:101E7000DC01ED91FC91B801660F672F661F770BAF -:101E80006F770190F081E02DDF91CF911F910F913D -:101E90000994DC018D919C91DC01ED91FC91019004 -:101EA000F081E02D60EF0994DC018D919C91DC01C3 -:101EB000ED91FC910190F081E02D67EF0994CF93B3 -:101EC000DF93EC0188819981DC01ED91FC91019017 -:101ED000F081E02D69EF099588819981DC01ED9110 -:101EE000FC910190F081E02D62E009958881998153 -:101EF000DC01ED91FC910190F081E02D64E0DF9137 -:101F0000CF9109941F93CF93DF93EC018A818823AB -:101F1000D9F1CE010E94490F88819981DC01ED91B0 -:101F2000FC910190F081E02D69E709958881998104 -:101F3000DC01ED91FC91AB81BC810190F081E02D41 -:101F40006C91099588819981DC01ED91FC91AB81BF -:101F5000BC810190F081E02D11966C91099512E001 -:101F60008A81181758F4EB81FC81E10FF11D608123 -:101F700070E0CE010E94260F1F5FF2CFCE01DF91ED -:101F8000CF911F910C94540FDF91CF911F91089521 -:101F9000CF92DF92EF92FF920F931F93CF93DF9335 -:101FA0008C01EB01C42ED22E6BEC71E0CE010E94AD -:101FB0006B1E7C016FE270E0CE010E94601E0097F4 -:101FC00039F46CE570E0CE010E94601E009711F0BC -:101FD000EC012196E114F10451F4FE01019000207E -:101FE000E9F7EC1BEF5FD8011296EC9306C0EC1AF0 -:101FF000FD0AE394E394F801E282D80113968D91EF -:102000009C9114970E94C21DF801E280F12CC70137 -:1020100001960E942A1DD80114969C938E931397C3 -:10202000FC01EE0DFF1D1082FC01C082D1821296D0 -:102030004C9150E042505109BE010296DF91CF9180 -:102040001F910F91FF90EF90DF90CF900C94511E55 -:10205000DC018D919C91DC01ED91FC910480F58176 -:10206000E02D09940F931F93CF93DF93FC012085FC -:10207000213749F0293709F049C0DF91CF911F91ED -:102080000F910C94820FFC01E95AFF4F0190F081EF -:10209000E02D309709F450C0DC01A75BBF4F4D9194 -:1020A0005C919A012150310937FD9A01B90175956A -:1020B0006795062F40E050E020E030E04E5F5F4F34 -:1020C0002017A0F4EC01C40FD51F1F81DC01A20F63 -:1020D000B31F18961C931897C885D0E8CD9F101988 -:1020E000112418961C932F5F3F4FE8CFDC01A60FF9 -:1020F000B11D17962C911797222311F018961C9258 -:102100000896DF91CF911F910F910994FC01E75A36 -:10211000FF4F0190F081E02D309771F0AC01475FE7 -:102120005F4FDC01A75BBF4F6C916150822FDF9145 -:10213000CF911F910F910994DF91CF911F910F9132 -:1021400008950F931F93CF93DF93EC018A01888149 -:102150009981DC01ED91FC916F70606E0190F081CE -:10216000E02D0995B801CE01DF91CF911F910F911C -:102170000C94260F0F931F93CF93DF93EC018A01EA -:1021800088819981DC01ED91FC916F70606901900B -:10219000F081E02D099588819981DC01ED91FC9118 -:1021A000602F6F770190F081E02D099588819981EA -:1021B000DC01ED91FC91B801660F672F661F770B6C -:1021C0000190F081E02DDF91CF911F910F91099443 -:1021D000CF92DF92EF92FF920F931F93CF93DF93F3 -:1021E00000D01F92CDB7DEB78C01F42E2A833B833B -:1021F00069830E94490FD8018D919C91DC01ED917A -:10220000FC910190F081E02D698109952A81E22EEF -:10221000C22E3B81D32E8C2D8E198F1540F4F601E2 -:1022200061916F0170E0C8010E94260FF4CFC801D0 -:102230000F900F900F90DF91CF911F910F91FF9012 -:10224000EF90DF90CF900C94540F9A01FA01019017 -:102250000020E9F73197E41BF50B4E2F0C94E810A2 -:10226000AB0161E70C942511DC018D919C91DC019F -:10227000ED91FC910190F081E02D0994603DB9F061 -:1022800028F4603961F0603C71F00895603E19F007 -:10229000643F89F00895FC01E55BFF4F0FC0FC012E -:1022A000E35BFF4F0BC0FC01E15BFF4F07C0FC018C -:1022B000EF5AFF4F03C0FC01ED5AFF4F518340839B -:1022C00008956F3F29F4FC01EB5AFF4F518340837F -:1022D0000895875A9F4FFC01518340830895FC0164 -:1022E00015821682178280E090E0DF01A80FB91FE7 -:1022F00018961C92019680349105B9F7DF01A85B0E -:10230000BF4F1C9211961D921C92EB5AFF4F0190E9 -:10231000F081E02D309709F009940895FC011282B4 -:10232000148213820C946F11CF93DF93EC01888198 -:102330009981DC01ED91FC910680F781E02D0995F2 -:10234000FE01E85BFF4F20812223B1F0873F91051A -:1023500031F41082CE01DF91CF910C943210FE0146 -:10236000E75BFF4F20813181C20FD31F88872F5F2A -:102370003F4F318320839DC02D81222309F45EC00D -:10238000803891050CF05AC09FEF920F9D83FE019B -:10239000E90FF11D808791118CC08E81882309F48B -:1023A00088C0803DE9F148F48039E9F0803C09F0CB -:1023B00043C0FE01E15BFF4F36C0803E19F0843F11 -:1023C00019F13AC0FE01E55BFF4F0190F081E02D6D -:1023D000309791F18885698570E0B0E88B9F600D3A -:1023E000711D112427C0FE01E35BFF4F0190F081B6 -:1023F000E02D309709F18885698570E090E8899F24 -:10240000600D711D112416C0FE01ED5AFF4F0190A1 -:10241000F081E02D309781F0688570E089850BC0F0 -:10242000FE01EF5AFF4F0190F081E02D309721F02F -:10243000688570E08F8109951E823BC0803F9105C1 -:102440002CF4282F2F702F83807F9927803E9105B1 -:1024500021F154F4803C910511F1803D9105F9F092 -:102460008039910531F519C0843F9105B1F054F4DC -:10247000803F9105F1F481E08083C75BDF4F1982D3 -:10248000188217C0893F910571F08F3F910589F43B -:10249000CE01DF91CF910C946F1192E001C091E0D9 -:1024A0009D838E8306C08EED93E0DF91CF910C94D7 -:1024B0005F0FDF91CF9108958F929F92AF92BF925D -:1024C000CF92DF92EF92FF921F93CF93DF93EB01B6 -:1024D0004A01690161E08DE00E94EB1410E0EE24F6 -:1024E000D7FCE094FE2CAA2497FCA094BA2C812F50 -:1024F00090E08C179D0794F4C701B6010E945F130A -:1025000061E08DE00E942415C501B4010E945F13B3 -:1025100060E08DE00E9424151F5FE9CFDF91CF912D -:102520001F91FF90EF90DF90CF90BF90AF909F9062 -:102530008F900895CF93DF93EC0161E08DE00E94CE -:10254000EB1422ED30E048E250E062E070E0CE01B2 -:102550000E945C126AEF70E080E090E00E945F13DE -:1025600022ED30E048E250E064E070E0CE010E94ED -:102570005C126DE770E080E090E0DF91CF910C9409 -:102580005F13CF93DF93EC0188E494E00E94401640 -:1025900088E494E099838883CE010E949A12CE0148 -:1025A0000E945F0FCE01DF91CF910C94820F8EEDD0 -:1025B00093E00C948E110F9300E020E040E060E087 -:1025C00089E394E00E949D160F9108951F920F9247 -:1025D0000FB60F9211242F933F938F939F93AF9336 -:1025E000BF938091400490914104A0914204B09126 -:1025F000430430913F0426E0230F2D3720F4029648 -:10260000A11DB11D05C029E8230F0396A11DB11D11 -:1026100020933F048093400490934104A09342048C -:10262000B09343048091440490914504A0914604E2 -:10263000B09147040196A11DB11D8093440490936D -:102640004504A0934604B0934704BF91AF919F9176 -:102650008F913F912F910F900FBE0F901F90189563 -:102660002FB7F89460914004709141048091420426 -:10267000909143042FBF08953FB7F894809144048C -:1026800090914504A0914604B091470426B5A89BBB -:1026900005C02F3F19F00196A11DB11D3FBF662750 -:1026A000782F892F9A2F620F711D811D911D43E094 -:1026B000660F771F881F991F4A95D1F70895CF920B -:1026C000DF92EF92FF92CF93DF936B017C010E9428 -:1026D0003C13EB01C114D104E104F10489F00E9420 -:1026E000691B0E943C136C1B7D0B683E734090F38A -:1026F00081E0C81AD108E108F108C851DC4FEACFDF -:10270000DF91CF91FF90EF90DF90CF9008958330CD -:10271000910528F0880F991F04970197F1F7089504 -:10272000789484B5826084BD84B5816084BD85B5AC -:10273000826085BD85B5816085BDEEE6F0E0808173 -:1027400081608083E1E8F0E0108280818260808394 -:10275000808181608083E0E8F0E080818160808317 -:10276000E1E9F0E080818260808380818160808304 -:10277000E0E9F0E0808181608083E1ECF0E080813D -:102780008460808380818260808380818160808397 -:10279000E3ECF0E0808181608083E0ECF0E0808118 -:1027A00082608083E2ECF0E0808181608083EAE7F0 -:1027B000F0E080818460808380818260808380817A -:1027C0008E7F80838081806880830895823108F0C5 -:1027D0008251E82FF0E0E45FFE4FE49180917B00AE -:1027E000E3FB222720F930E095E0220F331F9A9572 -:1027F000E1F78F7D822B80937B00E77080910D0144 -:1028000020E4829FC0011124E82BE0937C0080919A -:102810007A00806480937A0080917A0086FDFCCFF4 -:10282000809178002091790090E0922B08951F9379 -:10283000CF93DF93182FEB0161E00E94EB142097F8 -:1028400011F460E004C0CF3FD10539F461E0812F7D -:10285000DF91CF911F910C942415E12FF0E0E85EF9 -:10286000FE4F449150E0FA013197EF30F10508F046 -:102870006CC0E859FF4F0C940A1D84B5806884BD74 -:10288000C7BD68C084B5806284BDC8BD63C0809187 -:102890008000806880938000D0938900C093880076 -:1028A00059C080918000806280938000D0938B001B -:1028B000C0938A004FC08091800088608093800020 -:1028C000D0938D00C0938C0045C0809190008068AB -:1028D00080939000D0939900C09398003BC0809162 -:1028E0009000806280939000D0939B00C0939A00E8 -:1028F00031C080919000886080939000D0939D00BB -:10290000C0939C0027C08091C00080688093C00065 -:102910008091C0008F7B8093C000C093CF001AC00D -:102920008091C00080628093C000C093D00012C02C -:102930008091C20088608093C2008091C2008B7F2A -:102940008093C200C093D20005C0C038D1050CF0FE -:102950007DCF77CFDF91CF911F91089590E0FC015B -:102960003197EF30F105B0F5E958FF4F0C940A1D8F -:10297000809180008F7703C0809180008F7D80934D -:102980008000089580918000877FF9CF84B58F778C -:1029900002C084B58F7D84BD0895809190008F77AB -:1029A00007C0809190008F7D03C080919000877F49 -:1029B0008093900008958091C0008F7703C080912C -:1029C000C0008F7D8093C00008958091C200877FF2 -:1029D0008093C2000895CF93DF9390E0FC01E85DFF -:1029E000FE4F2491FC01EA5BFE4F8491882349F15C -:1029F00090E0880F991FFC01E058FE4FA591B4911B -:102A00008E589E4FFC01C591D4919FB7611108C0AB -:102A1000F8948C91209582238C93888182230AC01C -:102A2000623051F4F8948C91322F309583238C933B -:102A30008881822B888304C0F8948C91822B8C939C -:102A40009FBFDF91CF9108950F931F93CF93DF9393 -:102A50001F92CDB7DEB7282F30E0F901E85EFE4FB8 -:102A60008491F901E85DFE4F1491F901EA5BFE4F94 -:102A700004910023C9F0882321F069830E94AE14D9 -:102A80006981E02FF0E0EE0FFF1FEE58FE4FA59199 -:102A9000B4919FB7F8948C91611103C01095812374 -:102AA00001C0812B8C939FBF0F90DF91CF911F911D -:102AB0000F910895CF93DF93282F30E0F901E85E5E -:102AC000FE4F8491F901E85DFE4FD491F901EA5B74 -:102AD000FE4FC491CC2391F081110E94AE14EC2FD3 -:102AE000F0E0EE0FFF1FEC59FE4FA591B4912C9131 -:102AF0002D2381E090E021F480E002C080E090E0AE -:102B0000DF91CF910895CF93DF931F92CDB7DEB7BA -:102B10006983DC01ED91FC910280F381E02D41E0BD -:102B200050E0BE016F5F7F4F09950F90DF91CF910D -:102B30000895CF93DF93EC018C859D8597FF05C0A9 -:102B400082E00E944F189D878C878C859D85DF9140 -:102B5000CF91089583E00C94A41AFC018485958597 -:102B600097FD06C082E00E94F71790E00196089555 -:102B700082E00E94F71790E00895FC018485958516 -:102B800097FD05C02FEF3FEF35872487089582E03A -:102B90000C944F18CF93DF93EC018091150188239B -:102BA00031F083E00E9480181816190634F081E095 -:102BB00090E09B838A8380E090E0DF91CF9108953D -:102BC000FC0120812E5F208342E450E06EE871E03A -:102BD00080E80C941B19FC0181819081913A59F491 -:102BE000813209F03CC047E050E06EE071E080E0E7 -:102BF0000E941B1943C0913291F5803239F467E08D -:102C000070E08EE091E00E944C1906C0823209F01B -:102C100035C082818093150180910E0190910F0142 -:102C2000A0911001B0911101803B9440A105B10524 -:102C3000C1F48091150180FD14C087E797E7909358 -:102C40000108809300082BE088E190E00FB6F8942B -:102C5000A895809360000FBE209360000FC080E0B5 -:102C6000089588E10FB6F894809360001092600098 -:102C70000FBEA895109201081092000881E00895F7 -:102C80002FEF3FEFFC0135872487089510924B0406 -:102C900010924A0488EE93E0A0E0B0E080934C04E8 -:102CA00090934D04A0934E04B0934F0484ED91E0B3 -:102CB00090934904809348048FEF9FEF90935504BD -:102CC000809354040895AF92BF92CF92DF92EF9217 -:102CD000FF920F931F93CF93DF936C017B01C0E0B2 -:102CE000D0E000E010E0F601EC0FFD1F4AE050E0FC -:102CF0006281C7010E9477175C016EE2C7010E94E2 -:102D00000A178A0D9B1D080F191F2196C330D10584 -:102D100051F74AE050E0F6016581C7010E9477173C -:102D2000800F911FDF91CF911F910F91FF90EF9036 -:102D3000DF90CF90BF90AF9008950F93FC0184EE89 -:102D400091E09183808362834383248305830F9181 -:102D5000089584EE91E090939904809398041092E2 -:102D60009A0410929B0410929C0410929D04089562 -:102D700008950E9490130E94B8168EE994E00E9474 -:102D8000041B0E948306C0E0D0E00E94A0092097A7 -:102D9000E1F30E940000F9CFCF92DF92EF92FF9211 -:102DA0000F931F93CF93DF936C017A01EB01E60E33 -:102DB000F71E00E010E0CE15DF0561F06991D60145 -:102DC000ED91FC910190F081E02DC6010995080F6D -:102DD000191FF1CFC801DF91CF911F910F91FF9083 -:102DE000EF90DF90CF9008956115710581F0DB01C0 -:102DF0000D900020E9F7AD0141505109461B570BDA -:102E0000DC01ED91FC910280F381E02D099480E0DA -:102E100090E00895DC01ED91FC910190F081E02DAE -:102E200009948F929F92AF92BF92CF92DF92EF92CE -:102E3000FF920F931F93CF93DF93CDB7DEB7A19788 -:102E40000FB6F894DEBF0FBECDBF7C01C42EE52FB8 -:102E5000CB01D22E19A221E02D1510F02AE0D22E9E -:102E60008E010F5D1F4F8D2C912CA12CB12C6C2D40 -:102E70007E2FA50194010E94C91C8C2DD29E801921 -:102E80001124015011098A3014F4805D01C0895C5D -:102E9000F8018083211531054105510521F0C22E2D -:102EA000E32FCA01E4CFB801C7010E94F416A1962E -:102EB0000FB6F894DEBF0FBECDBFDF91CF911F914B -:102EC0000F91FF90EF90DF90CF90BF90AF909F90C9 -:102ED0008F9008952115310541F4DC01ED91FC91AD -:102EE0000190F081E02D642F09940C9411179A0140 -:102EF000462F50E060E070E00C946A174091A20405 -:102F00005091A3042091A0043091A10442175307CB -:102F1000B4F49091E8009570E1F39091E80092FD8F -:102F200019C08093F1008091A2049091A3040196AE -:102F30008F739927892B19F48EEF8093E800809185 -:102F4000A2049091A30401969093A3048093A204F9 -:102F500081E0089580E00895CF92DF92FF920F9371 -:102F60001F93CF93DF931F92CDB7DEB7082F162F95 -:102F7000862F880F8E5F99830E947E1783E00E94C0 -:102F80007E17F02EC02E9981D92E8C2D8F19811786 -:102F900078F4F60184910E947E17082F80E00E9449 -:102FA0007E178023FFEFCF1ADF0A8111EECF01C019 -:102FB00081E00F90DF91CF911F910F91FF90DF90F3 -:102FC000CF900895615030F02091F100FC012083F2 -:102FD0000196F8CF289884E68093A50408952FB72A -:102FE000FC012083F89467706093E9000895CF9303 -:102FF000DF931F92CDB7DEB7682FCE0101960E94F6 -:10300000EF178091F20099819FBF0F90DF91CF91D0 -:103010000895FF920F931F93CF93DF9300D0CDB706 -:10302000DEB7F62E8A019091A404992311F057FF80 -:1030300003C08FEF9FEF2BC0682FCE0101967A83DC -:103040000E94EF178091F20090E0A8017A8180172A -:1030500091070CF4AC01EF2DF72FF40E84E6FE1669 -:1030600039F028988093A5049091F1009193F7CFBF -:103070004115510521F08091F200882321F08981CA -:103080008FBFCA0104C08BE68093E800F8CF0F9091 -:103090000F90DF91CF911F910F91FF900895CF93E3 -:1030A000DF931F92CDB7DEB741E050E0BE016F5F06 -:1030B0007F4F0E940918019719F4898190E002C09E -:1030C0008FEF9FEF0F90DF91CF910895CF93DF9314 -:1030D0001F92CDB7DEB7682FCE0101960E94EF1781 -:1030E0009091E800892F807295FF04C09091F200C2 -:1030F00080E4891B99819FBF0F90DF91CF91089544 -:103100006F927F928F929F92AF92BF92CF92DF92F7 -:10311000EF92FF920F931F93CF93DF931F92CDB740 -:10312000DEB7782E7B01C42EB52E8091A4048823AF -:1031300069F0042F152F8AEFD82E872D8072982ED4 -:103140009AE3A92E872D8074882E11C08FEF9FEFF0 -:1031500057C0872D0E946618682E81110CC0DA9422 -:10316000A9F361E070E080E090E00E945F13011538 -:10317000110579F73BC0282F30E0021713070CF434 -:10318000602E672DCE0101960E94EF178091E80016 -:1031900085FF29C0262D30E0021B130B992039F042 -:1031A0006A948FEF6816B1F01092F100F9CFF70131 -:1031B000862D77FE07C0815058F094919093F100CE -:1031C0003196F9CF815020F091919093F100FACF90 -:1031D000E20EF31E8091E80085FF0FC00115110576 -:1031E00011F481100AC089818FBFC1CF5D9884E638 -:1031F0008093A6048C2D9B2D03C0A092E800F3CFF2 -:103200000F90DF91CF911F910F91FF90EF90DF9082 -:10321000CF90BF90AF909F908F907F906F900895C8 -:103220001092E9001092A3041092A2049093A104BA -:103230008093A0040895CF92DF92FF920F931F9383 -:10324000CF93DF9300D0CDB7DEB7F82E8A016B01A4 -:1032500001151105B1F0F601F7FE02C0849101C01D -:10326000808149835A830E947E1701501109FFEF24 -:10327000CF1ADF0A49815A818111EACF8FEF9FEF80 -:1032800001C0CA010F900F90DF91CF911F910F9154 -:10329000FF90DF90CF9008951F93CF93DF931F92FD -:1032A000CDB7DEB7162F2091E80022FFFCCF612FAB -:1032B00079830E94E2178BEF8093E800812F798158 -:1032C000972F0F90DF91CF911F910895CF93DF93A8 -:1032D0001F92CDB7DEB71982CE0101960E94E0158C -:1032E000CE0101960E94881B898190E00F90DF91AA -:1032F000CF9108951F920F920FB60F921124EF9263 -:10330000FF920F931F932F933F934F935F936F936E -:103310007F938F939F93AF93BF93EF93FF93CF933D -:10332000DF93CDB7DEB76297DEBFCDBF1092E90065 -:103330008091E80083FFEBC068E0CE010A960E940E -:10334000E21782EF8093E8009A8597FF05C080918D -:10335000E80080FFFCCF03C08EEF8093E800892F48 -:10336000807609F0B9C08B85811105C01092F100FB -:103370001092F100C5C0282F2D7F213009F4C0C064 -:10338000853049F48091E80080FFFCCF8C8580680F -:103390008093E300B5C0863009F076C02D85E888BB -:1033A000F988223071F580E090E02A8B0E94101994 -:1033B0000E94661999E08E010F5F1F4FF801392FA7 -:1033C00011923A95E9F799832A892A8391E09E839D -:1033D00090E898879AEF99872091A2043091A304EE -:1033E000275F3F4F3C832B838D83C7010E941019B9 -:1033F00049E050E0B80180E00E941B190E94661964 -:103400007FC0C7012A8B0E9410192A89223241F4F9 -:1034100082E290E00E94931B892B09F071C074C076 -:10342000213069F488899989089711F420939F04C1 -:1034300080919F04811118C067EE71E01AC023309B -:1034400009F062C08C85882391F0823021F465E117 -:1034500082E092E006C0813009F056C068E089EF52 -:1034600091E00E94AC174AC065ED71E002C068E1CE -:1034700072E06115710509F447C0FB01449150E009 -:1034800080E80E941B193CC0873009F43DC0883099 -:1034900021F481E08093F10033C0893089F5937085 -:1034A00099F5E1EDF1E081E021E096E38093E90018 -:1034B0002093EB0034913093EC009093ED008F5FFC -:1034C0003196853099F78EE78093EA001092EA00F2 -:1034D0008C858093A40414C0888999890E9410194E -:1034E0008E85811105C0CE010A960E94EB1506C09B -:1034F000823051F4CE010A960E94BB1B882321F032 -:103500008EEF8093E80003C081E28093EB00629627 -:103510000FB6F894DEBF0FBECDBFDF91CF91FF9104 -:10352000EF91BF91AF919F918F917F916F915F913B -:103530004F913F912F911F910F91FF90EF900F901E -:103540000FBE0F901F9018958093E9008091F200B4 -:10355000882319F08AE38093E80008951F920F9260 -:103560000FB60F9211242F933F934F935F936F9356 -:103570007F938F939F93AF93BF93EF93FF9380912C -:10358000E1001092E10083FF0FC01092E90091E08A -:103590009093EB001092EC0092E39093ED00109268 -:1035A000A40498E09093F00082FF1DC083E00E9485 -:1035B000A41A8091A604882339F08091A604815032 -:1035C0008093A604882369F08091A504882359F08C -:1035D0008091A50481508093A504811104C0289A8C -:1035E00002C05D9AF1CFFF91EF91BF91AF919F9192 -:1035F0008F917F916F915F914F913F912F910F909C -:103600000FBE0F901F9018951092A40481E0809334 -:10361000D70080EA8093D80082E089BD09B400FE1B -:10362000FDCF61E070E080E090E00E945F1380E9F0 -:103630008093D8008CE08093E2001092E000559ACD -:10364000209A08954F925F926F927F92AF92BF92AD -:10365000CF92DF92EF92FF920F931F93CF93DF935E -:10366000CDB7DEB729013A01621B730B840B950BB2 -:1036700029893A894B895C892A193B094C095D09DA -:10368000298B3A8B4B8B5C8B9B01AC0169897A89C6 -:103690008B899C890E94AD1CE418F508060917095E -:1036A000A80197010E94EB1C2A0D3B1D4C1D5D1DBE -:1036B000CA01B901DF91CF911F910F91FF90EF9057 -:1036C000DF90CF90BF90AF907F906F905F904F90C2 -:1036D00008950895FF920F931F93CF93DF93EC010A -:1036E000F62EE881F9810480F581E02D09958C01A1 -:1036F000E881F9810680F781E02D6F2DCE010995D3 -:10370000C8019927DF91CF911F910F91FF900895E4 -:10371000FC0120812F5F208349E150E06CE972E0D9 -:1037200080E80C941B1945E650E065EB72E080E8F8 -:103730000C941B19EF92FF920F931F93CF93DF937B -:103740001F92CDB7DEB789838B017A0141E050E04B -:10375000BE016F5F7F4F84E00E948018A701B8010F -:1037600084E40E9480180F90DF91CF911F910F91F8 -:10377000FF90EF900895FC0191818081813A31F4AE -:1037800081E0913091F0933089F411C0813271F46D -:103790009B3021F482818093170105C09A3031F467 -:1037A00082818093160181E00895089580E0089554 -:1037B00048E050E082E00C949A1BCF93DF93DC0149 -:1037C000683818F0E8E7E60F25C0E62FF0E067FF5D -:1037D00011C0E058F10981E090E001C0880FEA953E -:1037E000EAF714969C911497982B14969C9314972F -:1037F000E0E010C0E45EFD4FE491EE2309F440C028 -:10380000E7FF08C014968C911497826014968C93ED -:103810001497EF7716968C9116978E1741F117969D -:103820008C9117978E1719F118968C9118978E17FF -:10383000F1F019968C9119978E17C9F01A968C9100 -:103840001A978E17A1F01B968C911B978E1779F003 -:1038500080E090E0ED01C80FD91F2E81211102C038 -:10386000EE8305C0019686309105A1F709C0BD0120 -:103870006C5F7F4FCD010E94D81B81E090E008C0B3 -:1038800081E090E013969C938E93129780E090E0F5 -:10389000DF91CF910895683818F0E8E7E60F25C06A -:1038A000E62FF0E067FF12C0E058F10921E030E0B8 -:1038B00001C0220FEA95EAF72095DC0114963C91AD -:1038C0001497322314963C93E0E00FC0E45EFD4F62 -:1038D000E491EE2329F1E7FF08C0DC0114962C9156 -:1038E00014972D7F14962C93EF7720E030E0EE2391 -:1038F00051F0DC01A20FB31F16964C9116974E1390 -:1039000002C016961C922F5F3F4F2630310579F783 -:10391000BC016C5F7F4F0E94D81B81E090E008954E -:1039200080E090E00895FC011682178210861186CF -:10393000128613861482BC016C5F7F4F0C94D81BD7 -:103940001092B3041092AA041092A9048AEE91E096 -:103950009093A8048093A7040895DB018F939F930D -:103960000E94101DBF91AF91A29F800D911DA39F3A -:10397000900DB29F900D11240895991B79E004C019 -:10398000991F961708F0961B881F7A95C9F780959E -:103990000895A1E21A2EAA1BBB1BFD010DC0AA1F90 -:1039A000BB1FEE1FFF1FA217B307E407F50720F0A8 -:1039B000A21BB30BE40BF50B661F771F881F991F23 -:1039C0001A9469F760957095809590959B01AC016C -:1039D000BD01CF010895052E97FB1EF400940E94AF -:1039E000021D57FD07D00E94C91C07FC03D04EF4EE -:1039F0000C94021D50954095309521953F4F4F4FA7 -:103A00005F4F089590958095709561957F4F8F4F8A -:103A10009F4F0895EE0FFF1F0590F491E02D09943C -:103A20000E941B1DA59F900DB49F900DA49F800D1B -:103A3000911D11240895A29FB001B39FC001A39FBF -:103A4000700D811D1124911DB29F700D811D1124D7 -:103A5000911D0895CF93DF938230910510F482E099 -:103A600090E0E091B604F091B70420E030E0A0E0EF -:103A7000B0E0309739F14081518148175907B8F0CB -:103A80004817590771F482819381109729F0139692 -:103A90009C938E9312972CC09093B7048093B60496 -:103AA00027C02115310531F04217530718F0A9013D -:103AB000DB0101C0EF019A01BD01DF010280F3814A -:103AC000E02DD7CF21153105F9F0281B390B243013 -:103AD000310580F48A819B816115710521F0FB011C -:103AE0009383828304C09093B7048093B604FE014D -:103AF000329644C0FE01E20FF31F8193919322504E -:103B00003109398328833AC02091B4043091B50437 -:103B1000232B41F420910201309103013093B5042D -:103B20002093B40420910001309101012115310549 -:103B300041F42DB73EB74091040150910501241B7B -:103B4000350BE091B404F091B504E217F307A0F44B -:103B50002E1B3F0B2817390778F0AC014E5F5F4FE3 -:103B60002417350748F04E0F5F1F5093B50440935C -:103B7000B4048193919302C0E0E0F0E0CF01DF91C3 -:103B8000CF910895CF93DF93009709F487C0FC018C -:103B9000329713821282C091B604D091B704209755 -:103BA00081F420813181280F391F8091B4049091D4 -:103BB000B5048217930779F5F093B504E093B40444 -:103BC0006DC0DE0120E030E0AE17BF0750F4129662 -:103BD0004D915C9113979D014115510509F1DA0151 -:103BE000F3CFB383A28340815181840F951F8A173D -:103BF0009B0771F48D919C911197840F951F0296EC -:103C00009183808312968D919C91139793838283E5 -:103C10002115310529F4F093B704E093B6043EC0B2 -:103C2000D9011396FC93EE9312974D915D91A40FD9 -:103C3000B51FEA17FB0779F480819181840F951FE6 -:103C40000296D90111969C938E938281938113964B -:103C50009C938E931297E0E0F0E08A819B8100971D -:103C600019F0FE01EC01F9CFCE01029628813981CD -:103C7000820F931F2091B4043091B504281739079F -:103C800069F4309729F41092B7041092B60402C078 -:103C900013821282D093B504C093B404DF91CF9104 -:103CA0000895FB01DC014150504048F001900D9215 -:103CB0000020C9F701C01D9241505040E0F708951F -:103CC000FC0181E090E00190061609F4CF0100208C -:103CD000D1F701970895FB0151915523A9F0BF0138 -:103CE000DC014D9145174111E1F759F4CD010190E7 -:103CF000002049F04D9140154111C9F3FB014111DC -:0E3D0000EFCF81E090E001970895F894FFCF97 -:103D0E000000B804800001000000FF13000100E174 -:103D1E0000000000000001014D617820736572768D -:103D2E006F7320617474616368656400556E6B6EA9 -:103D3E006F776E2070696E206D6F646500537461CD -:103D4E006E646172644669726D6174612E696E6F24 -:103D5E00004932433A20546F6F206D616E792062B4 -:103D6E00797465732072656365697665640049329E -:103D7E00433A20546F6F20666577206279746573BD -:103D8E002072656365697665640031302D626974F1 -:103D9E002061646472657373696E67206E6F742040 -:103DAE00737570706F7274656400746F6F206D61DF -:103DBE006E79207175657269657300000000009E52 -:103DCE000C710C460C4E0C610C700C2E6370700056 -:103DDE00000000008315CA15AD15BD159915AA155D -:103DEE00000000006316000000006A1BCC16DD1BED -:043DFE004B1C931CAB -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/qduino/rainbow.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/qduino/rainbow.cpp.hex deleted file mode 100644 index bb97dcdd..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/qduino/rainbow.cpp.hex +++ /dev/null @@ -1,429 +0,0 @@ -:100000000C9471010C9499010C9499010C94990130 -:100010000C9499010C9499010C9499010C949901F8 -:100020000C9499010C9499010C94E7090C94B30871 -:100030000C9499010C9499010C9499010C949901D8 -:100040000C9499010C9499010C9499010C949901C8 -:100050000C9499010C9499010C9499010C9444040A -:100060000C9499010C9499010C9499010C949901A8 -:100070000C9499010C9499010C9499010C94990198 -:100080000C9499010C9499010C9499010C94990188 -:100090000C9417030C9499010C9499010C949901F8 -:1000A0000C9499010C9499010C9499015E056305D7 -:1000B000680572057C05C605C605C605860590055A -:1000C0009A05A405B105C605B905E705EA05D905F0 -:1000D000DD05E3050B060B060B06EE05F205F6053E -:1000E000FC0500060B0606060000000200090F00D2 -:1000F00000030401000C00000408020110408040CD -:10010000102040804080080204018040201002013D -:10011000108010204040040404040403040502027B -:100120000202040302020202060606060606040490 -:100130000202020400000000250028002B002E000F -:10014000310000000000240027002A002D003000AC -:1001500000C18081C112010002020000404F1B6DEE -:100160005100010102000112010002000000404F95 -:100170001B6D51000101020001537061726B4675E5 -:100180006E0051746563686B6E6F7720516475699A -:100190006E6F204D696E690004030904080B0002AC -:1001A000020201000904000001020200000524000F -:1001B00010010524010101042402060524060001A2 -:1001C0000705810310004009040100020A00000035 -:1001D00007050202400000070583024000000000FE -:1001E0000000000000002A2B280000000000000092 -:1001F00000000000000000000000000000002C9E35 -:10020000B4A0A1A2A434A6A7A5AE362D3738271EC8 -:100210001F20212223242526B333B62EB7B89F846E -:1002200085868788898A8B8C8D8E8F909192939406 -:1002300095969798999A9B9C9D2F3130A3AD350444 -:1002400005060708090A0B0C0D0E0F1011121314E6 -:1002500015161718191A1B1C1DAFB1B0B5000904EB -:1002600002000103000000092101010001226500D4 -:100270000705840340000105010902A1010901A14C -:10028000008501050919012903150025019503754C -:1002900001810295017505810305010930093109C4 -:1002A000381581257F750895038106C0C0050109B1 -:1002B00006A1018502050719E029E715002501754A -:1002C0000195088102950175088103950675081549 -:1002D0000025650507190029658100C0EA02600B49 -:1002E000B30C11241FBECFEFDAE0DEBFCDBF11E0AB -:1002F000A0E0B1E0E6E6FAE102C005900D92A2347A -:10030000B107D9F722E0A2E4B1E001C01D92A13704 -:10031000B207E1F712E0C2EED2E004C02297FE017C -:100320000E94130DCC3DD107C9F70E947C060C94A6 -:10033000310D0C94000082E491E00C94A50161E081 -:1003400070E082E491E00C94BD0161E08DE00E94D8 -:100350000C0661E08DE00E94450661E08BE00E94A2 -:100360000C0661E08BE00E94450661E08AE00E9495 -:100370000C0661E08AE00C9445064F925F926F9202 -:100380007F928F929F92AF92BF92CF92DF92EF9225 -:10039000FF920F931F93CF93DF9300D000D000D034 -:1003A000CDB7DEB7882777FD8095982F1F921F92D3 -:1003B0002BE02F9328EB2F9354EFA52EBB24B3945F -:1003C000C12CD12C15E0E12EF12C00E010E021E051 -:1003D00030E040E050E00E945B0A2B013C018FEFCF -:1003E00090E09A8389831C821B821E821D82CE012B -:1003F00001967C010F900F900F900F9000E010E09D -:100400004C010230110529F068019FEFC91AD90A81 -:1004100002C0C12CD12CAA24AA94B12CCC0CDD1C76 -:10042000C80CD91CF7018081918101979183808349 -:10043000F6018081918101969183808369817A811F -:100440008AE00E9438056B817C818BE00E94380530 -:100450006D817E818DE00E943805C2010E94D90421 -:10046000F1E0AF1AB108F1F60F5F1F4F82E0E80E1E -:10047000F11C0330110529F626960FB6F894DEBF5D -:100480000FBECDBFDF91CF911F910F91FF90EF90E5 -:10049000DF90CF90BF90AF909F908F907F906F90A4 -:1004A0005F904F9008958091720190E020917301C8 -:1004B000821B910908952091730180917201281780 -:1004C00050F4E22FF0E0EC58FE4F808190E02F5F77 -:1004D0002093730108958FEF9FEF0895E0917301CA -:1004E00080917201E81730F4F0E0EC58FE4F808103 -:1004F00090E008958FEF9FEF08950895CF92DF92D7 -:10050000EF92FF920F931F93CF93DF937C01CB0168 -:100510008A0120914F01222389F0EB016B01C40E67 -:10052000D51ECC15DD0569F06991D701ED91FC91DF -:100530000190F081E02DC7010995F3CF642F0E944F -:10054000EE02C801DF91CF911F910F91FF90EF90C4 -:10055000DF90CF900895CF93DF931F92CDB7DEB792 -:10056000698320914F012223D1F020915001203244 -:1005700040F021E030E0FC013383228380E090E012 -:1005800015C080915101E82FF0E0EE5AFE4F99819D -:1005900090838F5F809351018093500105C061E08B -:1005A000CE0101960E94EE0281E090E00F90DF9173 -:1005B000CF910895FC011382128248EE53E060E06F -:1005C00070E0448355836683778388E191E091836B -:1005D0008083089583E491E00C94DA02613298F408 -:1005E00020910102243089F46093B601FC0188EB6C -:1005F00091E0DC012A2F281B261718F421912D9356 -:10060000F9CF80E0089581E0089582E0089585EDB6 -:100610008093BC008091BC0084FDFCCF109201024D -:10062000089585EC8093BC001092010208951F92FA -:100630000F920FB60F9211242F933F934F935F9316 -:100640006F937F938F939F93AF93BF93EF93FF939A -:100650008091B900887F803609F49CC068F58832A3 -:1006600009F45BC090F4803109F454C038F4882355 -:1006700009F4F5C0883009F44DC0F5C0883109F49B -:100680004CC0803209F45DC0EEC0803409F468C00B -:1006900048F4803309F455C0883309F0E4C08093EE -:1006A0009401A8C0803509F44FC0883509F45DC0B5 -:1006B000883409F0D8C0D5C0883909F4C6C0A8F478 -:1006C000883709F467C038F4883609F463C0803786 -:1006D00009F460C0C8C0883809F4B7C0803909F48B -:1006E0005FC0803809F0BFC05BC0803B09F485C0A3 -:1006F00038F4803A09F466C0883A09F47EC0B3C081 -:10070000803C09F4A6C0883C09F4A3C0883B09F4E6 -:1007100089C0A9C08091000210C09091D901809138 -:10072000D801981770F5E091D90181E08E0F809380 -:10073000D901F0E0E652FE4F80818093BB0085EC4A -:1007400085C0809394018DC0E091D90181E08E0F26 -:100750008093D9018091BB00F0E0E652FE4F808388 -:100760009091D9018091D8016DC0E091D90181E0CB -:100770008E0F8093D9018091BB00F0E0E652FE4FCE -:1007800080838091FF0181116CC081E08093FE0124 -:1007900084EA60C083E08093010210929501CFCF7C -:1007A00080919501803208F050C0E091950181E080 -:1007B0008E0F809395018091BB00F0E0EA56FE4FCA -:1007C0008083BDCF80919501803230F4E091950116 -:1007D000F0E0EA56FE4F10820E94070360919501F7 -:1007E00070E0E091FA01F091FB0186E991E0099552 -:1007F000109295010E94110336C084E0809301029B -:100800001092B7011092B601E091FC01F091FD0148 -:1008100009958091B601811105C081E08093B601F0 -:100820001092B801E091B70181E08E0F8093B7017B -:10083000F0E0E854FE4F80818093BB009091B701B7 -:100840008091B601981708F47ACF85E88093BC00B0 -:100850000AC085EC8093BC001092010204C0109283 -:1008600094010E940703FF91EF91BF91AF919F9177 -:100870008F917F916F915F914F913F912F910F9049 -:100880000FBE0F901F9018951F920F920FB60F92E8 -:1008900011242F933F938F939F93AF93BF93809196 -:1008A000030290910402A0910502B09106023091DA -:1008B000020226E0230F2D3720F40296A11DB11D60 -:1008C00005C029E8230F0396A11DB11D2093020244 -:1008D0008093030290930402A0930502B093060252 -:1008E0008091070290910802A0910902B0910A023A -:1008F0000196A11DB11D8093070290930802A09359 -:100900000902B0930A02BF91AF919F918F913F91DD -:100910002F910F900FBE0F901F9018953FB7F8942E -:100920008091070290910802A0910902B0910A02F9 -:1009300026B5A89B05C02F3F19F00196A11DB11D3A -:100940003FBF6627782F892F9A2F620F711D811D57 -:10095000911D43E0660F771F881F991F4A95D1F7B5 -:100960000895CF92DF92EF92FF92CF93DF936B01C6 -:100970007C010E948E04EB01C114D104E104F10456 -:1009800089F00E94A20A0E948E046C1B7D0B683EB7 -:10099000734090F381E0C81AD108E108F108C8510A -:1009A000DC4FEACFDF91CF91FF90EF90DF90CF90B7 -:1009B00008958330910528F0880F991F04970197B7 -:1009C000F1F70895789484B5826084BD84B5816020 -:1009D00084BD85B5826085BD85B5816085BDEEE647 -:1009E000F0E0808181608083E1E8F0E01082808126 -:1009F00082608083808181608083E0E8F0E0808194 -:100A000081608083E1E9F0E0808182608083808181 -:100A100081608083E0E9F0E0808181608083E1ECA7 -:100A2000F0E0808184608083808182608083808127 -:100A300081608083E3ECF0E0808181608083E0EC82 -:100A4000F0E0808182608083E2ECF0E08081816070 -:100A50008083EAE7F0E08081846080838081826027 -:100A6000808380818E7F80838081806880830895E9 -:100A70001F93CF93DF93182FEB0161E00E940C06C8 -:100A8000209711F460E004C0CF3FD10539F461E054 -:100A9000812FDF91CF911F910C944506E12FF0E05B -:100AA000E851FF4F449150E0FA013197EF30F105E2 -:100AB00008F06CC0EA5AFF4F0C94110D84B58068A1 -:100AC00084BDC7BD68C084B5806284BDC8BD63C035 -:100AD00080918000806880938000D0938900C093CB -:100AE000880059C080918000806280938000D093FC -:100AF0008B00C0938A004FC08091800088608093F3 -:100B00008000D0938D00C0938C0045C080919000F0 -:100B1000806880939000D0939900C09398003BC068 -:100B200080919000806280939000D0939B00C0934E -:100B30009A0031C080919000886080939000D0939B -:100B40009D00C0939C0027C08091C0008068809366 -:100B5000C0008091C0008F7B8093C000C093CF0005 -:100B60001AC08091C00080628093C000C093D00002 -:100B700012C08091C20088608093C2008091C20040 -:100B80008B7F8093C200C093D20005C0C038D105CE -:100B90000CF07DCF77CFDF91CF911F91089590E03A -:100BA000FC013197EF30F105B0F5EB59FF4F0C9494 -:100BB000110D809180008F7703C0809180008F7D20 -:100BC00080938000089580918000877FF9CF84B55D -:100BD0008F7702C084B58F7D84BD08958091900089 -:100BE0008F7707C0809190008F7D03C08091900027 -:100BF000877F8093900008958091C0008F7703C015 -:100C00008091C0008F7D8093C00008958091C200C4 -:100C1000877F8093C2000895CF93DF9390E0FC011B -:100C2000E850FF4F2491FC01EA5EFE4F8491882337 -:100C300049F190E0880F991FFC01EE5BFE4FA591F2 -:100C4000B4918C5C9E4FFC01C591D4919FB761110A -:100C500008C0F8948C91209582238C9388818223FC -:100C60000AC0623051F4F8948C91322F309583236E -:100C70008C938881822B888304C0F8948C91822B7A -:100C80008C939FBFDF91CF9108950F931F93CF93C4 -:100C9000DF931F92CDB7DEB7282F30E0F901E8517E -:100CA000FF4F8491F901E850FF4F1491F901EA5E7A -:100CB000FE4F04910023C9F0882321F069830E942C -:100CC000CF056981E02FF0E0EE0FFF1FEC5CFE4FD7 -:100CD000A591B4919FB7F8948C91611103C01095C0 -:100CE000812301C0812B8C939FBF0F90DF91CF9107 -:100CF0001F910F91089508950E94E2040E947B06BF -:100D00008BE092E00E943D0A0E949B01C0E0D0E08F -:100D10000E949F012097E1F30E940000F9CFCF923B -:100D2000DF92EF92FF920F931F93CF93DF936C01AB -:100D30007A01EB01E60EF71E00E010E0CE15DF05AC -:100D400061F06991D601ED91FC910190F081E02D67 -:100D5000C6010995080F191FF1CFC801DF91CF9186 -:100D60001F910F91FF90EF90DF90CF9008954091E9 -:100D70000F025091100220910D0230910E02421785 -:100D80005307B4F49091E8009570E1F39091E80076 -:100D900092FD19C08093F10080910F029091100292 -:100DA00001968F739927892B19F48EEF8093E800B1 -:100DB00080910F02909110020196909310028093FF -:100DC0000F0281E0089580E00895CF92DF92FF92B4 -:100DD0000F931F93CF93DF931F92CDB7DEB7082FEA -:100DE000162F862F880F8E5F99830E94B70683E0A7 -:100DF0000E94B706F02EC02E9981D92E8C2D8F1906 -:100E0000811778F4F60184910E94B706082F80E0DC -:100E10000E94B7068023FFEFCF1ADF0A8111EECFC1 -:100E200001C081E00F90DF91CF911F910F91FF9052 -:100E3000DF90CF900895615030F02091F100FC01D7 -:100E400020830196F8CF289884E6809312020895B3 -:100E50002FB7FC012083F89467706093E900089530 -:100E6000CF93DF931F92CDB7DEB7682FCE010196E7 -:100E70000E9428078091F20099819FBF0F90DF9117 -:100E8000CF910895FF920F931F93CF93DF9300D0DC -:100E9000CDB7DEB7F62E8A0190911102992311F099 -:100EA00057FF03C08FEF9FEF2BC0682FCE01019635 -:100EB0007A830E9428078091F20090E0A8017A814D -:100EC000801791070CF4AC01EF2DF72FF40E84E698 -:100ED000FE1639F02898809312029091F1009193B8 -:100EE000F7CF4115510521F08091F200882321F0C0 -:100EF00089818FBFCA0104C08BE68093E800F8CFD8 -:100F00000F900F90DF91CF911F910F91FF90089557 -:100F1000CF93DF931F92CDB7DEB741E050E0BE0123 -:100F20006F5F7F4F0E944207019719F4898190E01B -:100F300002C08FEF9FEF0F90DF91CF910895CF9375 -:100F4000DF931F92CDB7DEB7682FCE0101960E94C6 -:100F500028079091E800892F807295FF04C0909136 -:100F6000F20080E4891B99819FBF0F90DF91CF91A0 -:100F700008956F927F928F929F92AF92BF92CF927D -:100F8000DF92EF92FF920F931F93CF93DF931F9205 -:100F9000CDB7DEB7782E7B01C42EB52E809111021D -:100FA000882369F0042F152F8AEFD82E872D8072A1 -:100FB000982E9AE3A92E872D8074882E11C08FEF6A -:100FC0009FEF57C0872D0E949F07682E81110CC08C -:100FD000DA94A9F361E070E080E090E00E94B1044F -:100FE0000115110579F73BC0282F30E002171307D0 -:100FF0000CF4602E672DCE0101960E942807809187 -:10100000E80085FF29C0262D30E0021B130B992034 -:1010100039F06A948FEF6816B1F01092F100F9CFB1 -:10102000F701862D77FE07C0815058F09491909378 -:10103000F1003196F9CF815020F091919093F10019 -:10104000FACFE20EF31E8091E80085FF0FC0011574 -:10105000110511F481100AC089818FBFC1CF5D983D -:1010600084E6809313028C2D9B2D03C0A092E80090 -:10107000F3CF0F90DF91CF911F910F91FF90EF90E1 -:10108000DF90CF90BF90AF909F908F907F906F90A8 -:1010900008951092E9001092100210920F0290939E -:1010A0000E0280930D020895CF92DF92FF920F936C -:1010B0001F93CF93DF9300D0CDB7DEB7F82E8A0110 -:1010C0006B0101151105B1F0F601F7FE02C0849124 -:1010D00001C0808149835A830E94B70601501109DB -:1010E000FFEFCF1ADF0A49815A818111EACF8FEFD2 -:1010F0009FEF01C0CA010F900F90DF91CF911F9118 -:101100000F91FF90DF90CF9008951F93CF93DF93BF -:101110001F92CDB7DEB7162F2091E80022FFFCCF3B -:10112000612F79830E941B078BEF8093E800812F4A -:101130007981972F0F90DF91CF911F910895CF93D1 -:10114000DF931F92CDB7DEB71982CE0101960E94C0 -:10115000000BCE0101960E949B0B898190E00F90BD -:10116000DF91CF9108951F920F920FB60F92112425 -:10117000EF92FF920F931F932F933F934F935F93A1 -:101180006F937F938F939F93AF93BF93EF93FF934F -:10119000CF93DF93CDB7DEB76297DEBFCDBF10929E -:1011A000E9008091E80083FFEBC068E0CE010A9679 -:1011B0000E941B0782EF8093E8009A8597FF05C085 -:1011C0008091E80080FFFCCF03C08EEF8093E800A1 -:1011D000892F807609F0B9C08B85811105C01092E6 -:1011E000F1001092F100C5C0282F2D7F213009F4A5 -:1011F000C0C0853049F48091E80080FFFCCF8C8529 -:1012000080688093E300B5C0863009F076C02D85F4 -:10121000E888F988223071F580E090E02A8B0E94FE -:1012200049080E949F0899E08E010F5F1F4FF80147 -:10123000392F11923A95E9F799832A892A8391E007 -:101240009E8390E898879AEF998720910F023091BA -:101250001002275F3F4F3C832B838D83C7010E9481 -:10126000490849E050E0B80180E00E9454080E941B -:101270009F087FC0C7012A8B0E9449082A89223211 -:1012800041F482E290E00E94A60B892B09F071C024 -:1012900074C0213069F488899989089711F42093E2 -:1012A0000C0280910C02811118C067E671E01AC02F -:1012B000233009F062C08C85882391F0823021F4BC -:1012C00065E182E891E006C0813009F056C068E02F -:1012D00089E791E00E94E5064AC065E571E002C039 -:1012E00068E971E06115710509F447C0FB0144919B -:1012F00050E080E80E9454083CC0873009F43DC0AB -:10130000883021F481E08093F10033C0893089F581 -:10131000937099F5E1E5F1E081E021E096E38093B7 -:10132000E9002093EB0034913093EC009093ED00B2 -:101330008F5F3196853099F78EE78093EA0010929F -:10134000EA008C858093110214C0888999890E94D3 -:1013500049088E85811105C0CE010A960E940B0BAB -:1013600006C0823051F4CE010A960E94CE0B88232B -:1013700021F08EEF8093E80003C081E28093EB00C0 -:1013800062960FB6F894DEBF0FBECDBFDF91CF914E -:10139000FF91EF91BF91AF919F918F917F916F914D -:1013A0005F914F913F912F911F910F91FF90EF907F -:1013B0000F900FBE0F901F9018958093E9008091B9 -:1013C000F200882319F08AE38093E80008951F92C1 -:1013D0000F920FB60F9211242F933F934F935F9369 -:1013E0006F937F938F939F93AF93BF93EF93FF93ED -:1013F0008091E1001092E10083FF0FC01092E9009C -:1014000091E09093EB001092EC0092E39093ED004A -:101410001092110298E09093F00082FF1DC083E0CB -:101420000E94DD0980911302882339F08091130214 -:10143000815080931302882369F0809112028823DF -:1014400059F080911202815080931202811104C0E0 -:10145000289A02C05D9AF1CFFF91EF91BF91AF91B1 -:101460009F918F917F916F915F914F913F912F91BC -:101470000F900FBE0F901F9018951092110281E0EF -:101480008093D70080EA8093D80082E089BD09B4B8 -:1014900000FEFDCF61E070E080E090E00E94B104CA -:1014A00080E98093D8008CE08093E2001092E00005 -:1014B000559A209A08954F925F926F927F92AF92C1 -:1014C000BF92CF92DF92EF92FF920F931F93CF9331 -:1014D000DF93CDB7DEB729013A01621B730B840B92 -:1014E000950B29893A894B895C892A193B094C0952 -:1014F0005D09298B3A8B4B8B5C8B9B01AC01698915 -:101500007A898B899C890E94C00CE418F508060929 -:101510001709A80197010E94F20C2A0D3B1D4C1DD2 -:101520005D1DCA01B901DF91CF911F910F91FF900D -:10153000EF90DF90CF90BF90AF907F906F905F90D3 -:101540004F9008950895CF93DF931F92CDB7DEB7E4 -:101550006983DC01ED91FC910280F381E02D41E093 -:1015600050E0BE016F5F7F4F09950F90DF91CF91E3 -:101570000895CF93DF93EC018C859D8597FF05C07F -:1015800082E00E9488079D878C878C859D85DF91EE -:10159000CF91089583E00C94DD09FC018485958545 -:1015A00097FD06C082E00E94300790E00196089502 -:1015B00082E00E94300790E00895FC0184859585C3 -:1015C00097FD05C02FEF3FEF35872487089582E010 -:1015D0000C948807CF93DF93EC018091110188234D -:1015E00031F083E00E94B9071816190634F081E043 -:1015F00090E09B838A8380E090E0DF91CF91089513 -:10160000FC0120812E5F208342E450E06CE971E010 -:1016100080E80C945408FC0181819081913A59F43E -:10162000813209F03CC047E050E06AE071E080E0C0 -:101630000E94540843C0913291F5803239F467E03A -:1016400070E08AE091E00E94850806C0823209F0CD -:1016500035C082818093110180910A0190910B0124 -:10166000A0910C01B0910D01803B9440A105B10502 -:10167000C1F48091110180FD14C087E797E7909332 -:101680000108809300082BE088E190E00FB6F89401 -:10169000A895809360000FBE209360000FC080E08B -:1016A000089588E10FB6F89480936000109260006E -:1016B0000FBEA895109201081092000881E00895CD -:1016C000109217021092160288EE93E0A0E0B0E0AC -:1016D0008093180290931902A0931A02B0931B02F0 -:1016E00088E291E090931502809314028FEF9FEFB0 -:1016F00090932102809320020895FF920F931F93ED -:10170000CF93DF93EC01F62EE881F9810480F58117 -:10171000E02D09958C01E881F9810680F781E02DA3 -:101720006F2DCE010995C8019927DF91CF911F91A7 -:101730000F91FF900895FC0120812F5F208349E1E4 -:1017400050E06EE572E080E80C94540845E650E005 -:1017500067E772E080E80C945408EF92FF920F93D1 -:101760001F93CF93DF931F92CDB7DEB789838B0191 -:101770007A0141E050E0BE016F5F7F4F84E00E943C -:10178000B907A701B80184E40E94B9070F90DF915F -:10179000CF911F910F91FF90EF900895FC019181DF -:1017A0008081813A31F481E0913091F0933089F475 -:1017B00011C0813271F49B3021F482818093130136 -:1017C00005C09A3031F482818093120181E008953E -:1017D000089580E0089548E050E082E00C94AD0B5D -:1017E000CF93DF93DC01683818F0E8E7E60F25C0F7 -:1017F000E62FF0E067FF11C0E058F10981E090E0CA -:1018000001C0880FEA95EAF714969C911497982BDB -:1018100014969C931497E0E010C0E252FE4FE491BE -:10182000EE2309F440C0E7FF08C014968C9114978A -:10183000826014968C931497EF7716968C91169776 -:101840008E1741F117968C9117978E1719F11896EC -:101850008C9118978E17F1F019968C9119978E1715 -:10186000C9F01A968C911A978E17A1F01B968C913D -:101870001B978E1779F080E090E0ED01C80FD91F1B -:101880002E81211102C0EE8305C00196863091059C -:10189000A1F709C0BD016C5F7F4FCD010E94EB0B2A -:1018A00081E090E008C081E090E013969C938E93D5 -:1018B000129780E090E0DF91CF910895683818F09A -:1018C000E8E7E60F25C0E62FF0E067FF12C0E0581A -:1018D000F10921E030E001C0220FEA95EAF72095F6 -:1018E000DC0114963C911497322314963C93E0E06B -:1018F0000FC0E252FE4FE491EE2329F1E7FF08C04A -:10190000DC0114962C9114972D7F14962C93EF776D -:1019100020E030E0EE2351F0DC01A20FB31F169659 -:101920004C9116974E1302C016961C922F5F3F4F94 -:101930002630310579F7BC016C5F7F4F0E94EB0BBD -:1019400081E090E0089580E090E00895FC01168227 -:10195000178210861186128613861482BC016C5F72 -:101960007F4F0C94EB0B1092700210926702109252 -:10197000660288E391E09093650280936402089583 -:10198000DB018F939F930E94170DBF91AF91A29F90 -:10199000800D911DA39F900DB29F900D112408956D -:1019A000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F63 -:1019B000EE1FFF1FA217B307E407F50720F0A21BD5 -:1019C000B30BE40BF50B661F771F881F991F1A9442 -:1019D00069F760957095809590959B01AC01BD016C -:1019E000CF010895052E97FB1EF400940E94090D67 -:1019F00057FD07D00E94D00C07FC03D04EF40C9486 -:101A0000090D50954095309521953F4F4F4F5F4FB1 -:101A1000089590958095709561957F4F8F4F9F4F5A -:101A20000895EE0FFF1F0590F491E02D09940E9498 -:101A3000220DA59F900DB49F900DA49F800D911D28 -:101A400011240895A29FB001B39FC001A39F700D00 -:101A5000811D1124911DB29F700D811D1124911DB6 -:061A60000895F894FFCF89 -:101A66000000710280000100000000E1000000009B -:101A76000000010100000000AB027E0253025B027F -:101A86006E027D0200000000A30AEA0ACD0ADD0A02 -:101A9600B90ACA0A000000007D0B8F06F00B5E0C27 -:021AA600A60C8C -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/Blink-5v.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/Blink-5v.cpp.hex deleted file mode 100644 index 1bd371be..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/Blink-5v.cpp.hex +++ /dev/null @@ -1,300 +0,0 @@ -:100000000C9460010C9488010C9488010C94880174 -:100010000C9488010C9488010C9488010C9488013C -:100020000C9488010C9488010C947D060C9449056D -:100030000C9488010C9488010C9488010C9488011C -:100040000C9488010C9488010C9488010C9488010C -:100050000C9488010C9488010C9488010C94A201E2 -:100060000C9488010C9488010C9488010C948801EC -:100070000C9488010C9488010C9488010C948801DC -:100080000C9488010C9488010C9488010C948801CC -:100090000C9488010C9488010C9488010C948801BC -:1000A0000C9488010C9488010C948801A502A80284 -:1000B00097029B02A102C902C902C902AC02B002A6 -:1000C000B402BA02BE02C902C40200000002000962 -:1000D0000F0000030401000C00000408020110409E -:1000E00080401020408040800802040180402010A1 -:1000F000020110801020404004040404040304059D -:1001000002020202040302020202060606060606B4 -:1001100004040202020400000000250028002B0055 -:100120002E00310000000000240027002A002D00CE -:10013000300000C18081C112010002020000404F66 -:100140001B069200010102000112010002000000E2 -:10015000404F1B0692000101020001537061726B57 -:1001600046756E00537061726B46756E2050726FEB -:10017000204D6963726F0004030904080B0002023A -:100180000201000904000001020200000524001021 -:1001900001052401010104240206052406000107CB -:1001A00005810310004009040100020A0000000755 -:1001B0000502024000000705830240000000000025 -:1001C00000000000002A2B280000000000000000B2 -:1001D000000000000000000000000000002C9EB4A1 -:1001E000A0A1A2A434A6A7A5AE362D3738271E1F7E -:1001F00020212223242526B333B62EB7B89F848529 -:10020000868788898A8B8C8D8E8F90919293949516 -:10021000969798999A9B9C9D2F3130A3AD350405F4 -:10022000060708090A0B0C0D0E0F101112131415F6 -:10023000161718191A1B1C1DAFB1B0B5000904021E -:1002400000010300000009210101000122650007EF -:1002500005840340000105010902A1010901A10073 -:10026000850105091901290315002501950375016B -:1002700081029501750581030501093009310938AD -:100280001581257F750895038106C0C00501090603 -:10029000A1018502050719E029E71500250175016F -:1002A000950881029501750881039506750815006A -:1002B00025650507190029658100C000AF070209FF -:1002C00011241FBECFEFDAE0DEBFCDBF11E0A0E00A -:1002D000B1E0EEE7F2E102C005900D92A832B1075D -:1002E000D9F721E0A8E2B1E001C01D92A739B20719 -:1002F000E1F712E0C0ECD2E004C02297FE010E94B8 -:100300003909CC3BD107C9F70E943A030C943D0947 -:100310000C94000061E083E00C94CA0261E083E089 -:100320000E94030368EE73E080E090E00E940F02F9 -:1003300060E083E00E94030368EE73E080E090E0F9 -:100340000C940F021F920F920FB60F9211242F934D -:100350003F938F939F93AF93BF9380912901909187 -:100360002A01A0912B01B0912C013091280123E0AA -:10037000230F2D3720F40196A11DB11D05C026E8DD -:10038000230F0296A11DB11D2093280180932901FE -:1003900090932A01A0932B01B0932C0180912D0101 -:1003A00090912E01A0912F01B09130010196A11DD5 -:1003B000B11D80932D0190932E01A0932F01B09336 -:1003C0003001BF91AF919F918F913F912F910F90ED -:1003D0000FBE0F901F9018953FB7F89480912D0194 -:1003E00090912E01A0912F01B091300126B5A89BCC -:1003F00005C02F3F19F00196A11DB11D3FBF662713 -:10040000782F892F9A2F620F711D811D911D42E057 -:10041000660F771F881F991F4A95D1F70895CF92CD -:10042000DF92EF92FF92CF93DF936B017C010E94EA -:10043000EC01EB01C114D104E104F10489F00E9444 -:10044000F1060E94EC016C1B7D0B683E734090F33B -:1004500081E0C81AD108E108F108C851DC4FEACFA1 -:10046000DF91CF91FF90EF90DF90CF900895789437 -:1004700084B5826084BD84B5816084BD85B58260A9 -:1004800085BD85B5816085BDEEE6F0E08081816047 -:100490008083E1E8F0E01082808182608083808147 -:1004A00081608083E0E8F0E0808181608083E1E921 -:1004B000F0E0808182608083808181608083E0E9D8 -:1004C000F0E0808181608083E1ECF0E080818460F5 -:1004D0008083808182608083808181608083E3EC7F -:1004E000F0E0808181608083E0ECF0E080818260D8 -:1004F0008083E2ECF0E0808181608083EAE7F0E0D5 -:10050000808184608083808182608083808181603B -:100510008083808180688083089590E0FC0131971A -:10052000EF30F105B0F5EA5AFF4F0C94370980918E -:1005300080008F7703C0809180008F7D8093800042 -:10054000089580918000877FF9CF84B58F7702C0AE -:1005500084B58F7D84BD0895809190008F7707C00A -:10056000809190008F7D03C080919000877F809361 -:10057000900008958091C0008F7703C08091C000E3 -:100580008F7D8093C00008958091C200877F809303 -:10059000C2000895CF93DF9390E0FC01E652FF4F35 -:1005A0002491FC01E850FF4F8491882349F190E0A9 -:1005B000880F991FFC01EC5DFE4FA591B4918A5EF6 -:1005C0009E4FFC01C591D4919FB7611108C0F8946A -:1005D0008C91209582238C93888182230AC062307B -:1005E00051F4F8948C91322F309583238C93888129 -:1005F000822B888304C0F8948C91822B8C939FBFAC -:10060000DF91CF9108950F931F93CF93DF931F92A4 -:10061000CDB7DEB7282F30E0F901E653FF4F8491C4 -:10062000F901E652FF4F1491F901E850FF4F049190 -:100630000023C9F0882321F069830E948D0269811B -:10064000E02FF0E0EE0FFF1FEA5EFE4FA591B491A0 -:100650009FB7F8948C91611103C01095812301C05C -:10066000812B8C939FBF0F90DF91CF911F910F91A2 -:10067000089508950E9437020E94390381E391E0B2 -:100680000E94D3060E948A01C0E0D0E00E948E0141 -:100690002097E1F30E940000F9CF4091350150917D -:1006A0003601209133013091340142175307B4F4DD -:1006B0009091E8009570E1F39091E80092FD19C0E7 -:1006C0008093F100809135019091360101968F73EE -:1006D0009927892B19F48EEF8093E80080913501DA -:1006E000909136010196909336018093350181E017 -:1006F000089580E00895CF92DF92FF920F931F93A9 -:10070000CF93DF931F92CDB7DEB7082F162F862F1A -:10071000880F8E5F99830E944D0383E00E944D03F2 -:10072000F02EC02E9981D92E8C2D8F19811778F437 -:10073000F60184910E944D03082F80E00E944D0332 -:100740008023FFEFCF1ADF0A8111EECF01C081E0D5 -:100750000F90DF91CF911F910F91FF90DF90CF907D -:100760000895615030F02091F100FC012083019642 -:10077000F8CF289884E68093380108952FB7FC01BC -:100780002083F89467706093E9000895CF93DF9316 -:100790001F92CDB7DEB7682FCE0101960E94BE032F -:1007A0008091F20099819FBF0F90DF91CF910895C2 -:1007B000FF920F931F93CF93DF9300D0CDB7DEB797 -:1007C000F62E8A0190913701992311F057FF03C04B -:1007D0008FEF9FEF2BC0682FCE0101967A830E9486 -:1007E000BE038091F20090E0A8017A818017910702 -:1007F0000CF4AC01EF2DF72FF40E84E6FE1639F061 -:100800002898809338019091F1009193F7CF41158A -:10081000510521F08091F200882321F089818FBF5A -:10082000CA0104C08BE68093E800F8CF0F900F90C8 -:10083000DF91CF911F910F91FF900895CF93DF9398 -:100840001F92CDB7DEB741E050E0BE016F5F7F4F32 -:100850000E94D803019719F4898190E002C08FEFBC -:100860009FEF0F90DF91CF910895CF93DF931F9269 -:10087000CDB7DEB7682FCE0101960E94BE039091DE -:10088000E800892F807295FF04C09091F20080E407 -:10089000891B99819FBF0F90DF91CF9108956F922F -:1008A0007F928F929F92AF92BF92CF92DF92EF9200 -:1008B000FF920F931F93CF93DF931F92CDB7DEB7B5 -:1008C000782E7B01C42EB52E80913701882369F0E4 -:1008D000042F152F8AEFD82E872D8072982E9AE339 -:1008E000A92E872D8074882E11C08FEF9FEF57C0DF -:1008F000872D0E943504682E81110CC0DA94A9F36B -:1009000061E070E080E090E00E940F0201151105A7 -:1009100079F73BC0282F30E0021713070CF4602E44 -:10092000672DCE0101960E94BE038091E80085FFED -:1009300029C0262D30E0021B130B992039F06A9450 -:100940008FEF6816B1F01092F100F9CFF701862D04 -:1009500077FE07C0815058F094919093F100319642 -:10096000F9CF815020F091919093F100FACFE20EEF -:10097000F31E8091E80085FF0FC00115110511F4E9 -:1009800081100AC089818FBFC1CF5D9884E68093B2 -:1009900039018C2D9B2D03C0A092E800F3CF0F905E -:1009A000DF91CF911F910F91FF90EF90DF90CF904B -:1009B000BF90AF909F908F907F906F90089510920E -:1009C000E900109236011092350190933401809322 -:1009D00033010895CF92DF92FF920F931F93CF932D -:1009E000DF9300D0CDB7DEB7F82E8A016B01011579 -:1009F0001105B1F0F601F7FE02C0849101C08081BB -:100A000049835A830E944D0301501109FFEFCF1A09 -:100A1000DF0A49815A818111EACF8FEF9FEF01C030 -:100A2000CA010F900F90DF91CF911F910F91FF900E -:100A3000DF90CF9008951F93CF93DF931F92CDB790 -:100A4000DEB7162F2091E80022FFFCCF612F7983BB -:100A50000E94B1038BEF8093E800812F7981972F5B -:100A60000F90DF91CF911F910895CF93DF931F9245 -:100A7000CDB7DEB71982CE0101960E944F07CE0195 -:100A800001960E94EA07898190E00F90DF91CF9153 -:100A900008951F920F920FB60F921124EF92FF92BA -:100AA0000F931F932F933F934F935F936F937F9376 -:100AB0008F939F93AF93BF93EF93FF93CF93DF9366 -:100AC000CDB7DEB76297DEBFCDBF1092E90080914F -:100AD000E80083FFEBC068E0CE010A960E94B103F4 -:100AE00082EF8093E8009A8597FF05C08091E80027 -:100AF00080FFFCCF03C08EEF8093E800892F8076C3 -:100B000009F0B9C08B85811105C01092F1001092D7 -:100B1000F100C5C0282F2D7F213009F4C0C08530D9 -:100B200049F48091E80080FFFCCF8C858068809339 -:100B3000E300B5C0863009F076C02D85E888F988D5 -:100B4000223071F580E090E02A8B0E94DF040E9441 -:100B5000350599E08E010F5F1F4FF801392F119273 -:100B60003A95E9F799832A892A8391E09E8390E850 -:100B700098879AEF99872091350130913601275F48 -:100B80003F4F3C832B838D83C7010E94DF0449E0E4 -:100B900050E0B80180E00E94EA040E9435057FC061 -:100BA000C7012A8B0E94DF042A89223241F482E2A3 -:100BB00090E00E94F507892B09F071C074C02130C4 -:100BC00069F488899989089711F4209332018091FA -:100BD0003201811118C069E471E01AC0233009F0B4 -:100BE00062C08C85882391F0823021F462E184E632 -:100BF00091E006C0813009F056C068E08BE591E0D5 -:100C00000E947B034AC067E371E002C067E771E0BE -:100C10006115710509F447C0FB01449150E080E87B -:100C20000E94EA043CC0873009F43DC0883021F4BA -:100C300081E08093F10033C0893089F5937099F594 -:100C4000E3E3F1E081E021E096E38093E900209383 -:100C5000EB0034913093EC009093ED008F5F319670 -:100C6000853099F78EE78093EA001092EA008C8530 -:100C70008093370114C0888999890E94DF048E858A -:100C8000811105C0CE010A960E945A0706C0823023 -:100C900051F4CE010A960E941D08882321F08EEFA0 -:100CA0008093E80003C081E28093EB0062960FB668 -:100CB000F894DEBF0FBECDBFDF91CF91FF91EF91D2 -:100CC000BF91AF919F918F917F916F915F914F9164 -:100CD0003F912F911F910F91FF90EF900F900FBEBA -:100CE0000F901F9018958093E9008091F20088235F -:100CF00019F08AE38093E80008951F920F920FB6CF -:100D00000F9211242F933F934F935F936F937F9391 -:100D10008F939F93AF93BF93EF93FF938091E100E5 -:100D20001092E10083FF0FC01092E90091E09093D0 -:100D3000EB001092EC0092E39093ED0010923701DB -:100D400098E09093F00082FF1DC083E00E9473063C -:100D500080913901882339F0809139018150809345 -:100D60003901882369F080913801882359F08091F6 -:100D70003801815080933801811104C0289A02C043 -:100D80005D9AF1CFFF91EF91BF91AF919F918F91BC -:100D90007F916F915F914F913F912F910F900FBE77 -:100DA0000F901F9018951092370181E08093D70023 -:100DB00080EA8093D80082E189BD09B400FEFDCFAE -:100DC00061E070E080E090E00E940F0280E9809393 -:100DD000D8008CE08093E2001092E000559A209AAF -:100DE00008950895CF93DF931F92CDB7DEB769833F -:100DF000DC01ED91FC910280F381E02D41E050E0B7 -:100E0000BE016F5F7F4F09950F90DF91CF910895DD -:100E1000CF93DF93EC018C859D8597FF05C082E021 -:100E20000E941E049D878C878C859D85DF91CF91C4 -:100E3000089583E00C947306FC018485958597FDE5 -:100E400006C082E00E94C60390E00196089582E009 -:100E50000E94C60390E00895FC018485958597FD66 -:100E600005C02FEF3FEF35872487089582E00C946B -:100E70001E04CF93DF93EC0180910701882331F0AA -:100E800083E00E944F041816190634F081E090E0C8 -:100E90009B838A8380E090E0DF91CF910895FC01ED -:100EA00020812E5F208342E450E06BE771E080E810 -:100EB0000C94EA04FC0181819081913A59F48132C9 -:100EC00009F03CC047E050E060E071E080E00E9443 -:100ED000EA0443C0913291F5803239F467E070E062 -:100EE00080E091E00E941B0506C0823209F035C007 -:100EF0008281809307018091000190910101A0916E -:100F00000201B0910301803B9440A105B105C1F4F9 -:100F10008091070180FD14C087E797E7909301084F -:100F2000809300082BE088E190E00FB6F894A89534 -:100F3000809360000FBE209360000FC080E0089592 -:100F400088E10FB6F89480936000109260000FBEA5 -:100F5000A895109201081092000881E0089510925F -:100F60003D0110923C0188EE93E0A0E0B0E0809358 -:100F70003E0190933F01A0934001B09341018EE068 -:100F800091E090933B0180933A018FEF9FEF909314 -:100F90004701809346010895FF920F931F93CF93CB -:100FA000DF93EC01F62EE881F9810480F581E02DD4 -:100FB00009958C01E881F9810680F781E02D6F2D7C -:100FC000CE010995C8019927DF91CF911F910F910B -:100FD000FF900895FC0120812F5F208349E150E0BC -:100FE0006DE372E080E80C94EA0445E650E066E5C3 -:100FF00072E080E80C94EA04EF92FF920F931F9343 -:10100000CF93DF931F92CDB7DEB789838B017A012F -:1010100041E050E0BE016F5F7F4F84E00E944F04CB -:10102000A701B80184E40E944F040F90DF91CF9193 -:101030001F910F91FF90EF900895FC0191818081A5 -:10104000813A31F481E0913091F0933089F411C00C -:10105000813271F49B3021F482818093090105C0B3 -:101060009A3031F482818093080181E008950895D7 -:1010700080E0089548E050E082E00C94FC07CF93B4 -:10108000DF93DC01683818F0E8E7E60F25C0E62FAB -:10109000F0E067FF11C0E058F10981E090E001C085 -:1010A000880FEA95EAF714969C911497982B14965A -:1010B0009C931497E0E010C0E354FE4FE491EE23BC -:1010C00009F440C0E7FF08C014968C911497826021 -:1010D00014968C931497EF7716968C9116978E171B -:1010E00041F117968C9117978E1719F118968C91DC -:1010F00018978E17F1F019968C9119978E17C9F0E1 -:101100001A968C911A978E17A1F01B968C911B97AB -:101110008E1779F080E090E0ED01C80FD91F2E8185 -:10112000211102C0EE8305C0019686309105A1F71A -:1011300009C0BD016C5F7F4FCD010E943A0881E07C -:1011400090E008C081E090E013969C938E931297F4 -:1011500080E090E0DF91CF910895683818F0E8E7DB -:10116000E60F25C0E62FF0E067FF12C0E058F10956 -:1011700021E030E001C0220FEA95EAF72095DC017A -:1011800014963C911497322314963C93E0E00FC0E0 -:10119000E354FE4FE491EE2329F1E7FF08C0DC01A0 -:1011A00014962C9114972D7F14962C93EF7720E0B2 -:1011B00030E0EE2351F0DC01A20FB31F16964C91E4 -:1011C00016974E1302C016961C922F5F3F4F263083 -:1011D000310579F7BC016C5F7F4F0E943A0881E0CE -:1011E00090E0089580E090E00895FC011682178257 -:1011F00010861186128613861482BC016C5F7F4FA5 -:101200000C943A081092960110928D0110928C0164 -:101210008EE191E090938B0180938A010895CF92A3 -:10122000DF92EF92FF920F931F93CF93DF936C01A6 -:101230007A01EB01E60EF71E00E010E0CE15DF05A7 -:1012400061F06991D601ED91FC910190F081E02D62 -:10125000C6010995080F191FF1CFC801DF91CF9181 -:101260001F910F91FF90EF90DF90CF900895EE0FB8 -:0E127000FF1F0590F491E02D0994F894FFCF34 -:10127E0000E1000000000000010100000000F20685 -:10128E0039071C072C070807190700000000CC07B8 -:08129E000F093F08AD08F50837 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/README.txt b/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/README.txt deleted file mode 100644 index 55bef6ec..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/README.txt +++ /dev/null @@ -1 +0,0 @@ -Blink.cpp.hex - LED blink connect to pin 3 diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/StandardFirmata-5v.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/StandardFirmata-5v.cpp.hex deleted file mode 100644 index 5bc74fe8..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/sf-pro-micro/StandardFirmata-5v.cpp.hex +++ /dev/null @@ -1,995 +0,0 @@ -:100000000C9493010C94BB010C94BB010C94BB01A8 -:100010000C94BB010C94BB010C94BB010C94BB0170 -:100020000C94BB010C94BB010C94B11A0C947D1977 -:100030000C94BB010C94BB010C94BB010C94BB0150 -:100040000C94BB010C94360A0C94BB010C94BB01BC -:100050000C94BB010C94BB010C94BB010C94E712F3 -:100060000C94BB010C94BB010C94BB010C94BB0120 -:100070000C94BB010C94BB010C94BB010C94BB0110 -:100080000C94BB010C94BB010C94BB010C94BB0100 -:100090000C94FA0D0C94BB010C94BB010C94BB01A5 -:1000A0000C94BB010C94BB010C94BB017C09980916 -:1000B000BC0898092D0998099A08490898099809CF -:1000C000980998099809600798092F0898098108E4 -:1000D000401445144A1454145E14A814A814A81407 -:1000E000681472147C1486149314A8149B14C914F5 -:1000F000CC14BB14BF14C514ED14ED14ED14D014BE -:10010000D414D814DE14E214ED14E8140706050420 -:100110000100080A0B0C0D090000000200090F0085 -:1001200000030401000C000004080201104080409C -:10013000102040804080080204018040201002010D -:10014000108010204040040404040403040502024B -:100150000202040302020202060606060606040460 -:1001600002020204000000002300260029002C00E7 -:100170002F0000000000250028002B002E00310079 -:1001800000000000240027002A002D003000080B8A -:100190000002020201000904000001020200000541 -:1001A000240010010524010101042402060524068F -:1001B00000010705810310004009040100020A0044 -:1001C000000007050202400000070583024000000E -:1001D00000C18081C112010002020000404F1B06D5 -:1001E0009200010102000112010002000000404FD4 -:1001F0001B0692000101020001537061726B46758B -:100200006E00537061726B46756E2050726F204D98 -:100210006963726F0004030904000000000000001D -:10022000002A2B2800000000000000000000000051 -:100230000000000000000000002C9EB4A0A1A2A4B9 -:1002400034A6A7A5AE362D3738271E1F202122231E -:10025000242526B333B62EB7B89F84858687888930 -:100260008A8B8C8D8E8F9091929394959697989976 -:100270009A9B9C9D2F3130A3AD35040506070809D4 -:100280000A0B0C0D0E0F1011121314151617181956 -:100290001A1B1C1DAFB1B0B5000904020001030018 -:1002A00000000921010100012265000705840340C7 -:1002B000000105010902A1010901A100850105094B -:1002C0001901290315002501950375018102950186 -:1002D0007505810305010930093109381581257F2C -:1002E000750895038106C0C005010906A1018502B4 -:1002F000050719E029E71500250175019508810218 -:100300009501750881039506750815002565050793 -:10031000190029658100C000C506180DD812DC122D -:100320004916AC16A31C11241FBECFEFDAE0DEBFC6 -:10033000CDBF11E0A0E0B1E0E4E1FDE302C0059033 -:100340000D92A43FB107D9F724E0A4EFB1E001C0BA -:100350001D92A83BB207E1F713E0C6E2D3E004C068 -:100360002297FE010E940F1DC831D107C9F70E94D4 -:10037000BC160C94881E0C9400001F93CF93DF933F -:10038000162F843008F06CC0982F990F990F990F91 -:10039000985F9F3108F09EE1D82FDD0FDD0FDD0F54 -:1003A0008D2FC0E041E08917C8F4E82FF0E0DF01AD -:1003B000A053BD4F2C91223070F4C42BEE0FFF1FC1 -:1003C000E057FD4F21E030E0542F512311F420E09D -:1003D00030E031832083440F8F5FE5CFC0FF05C03D -:1003E000612F61708D2F0E942715C1FF06C0612FFC -:1003F000627081E08D0F0E942715C2FF06C0612F39 -:10040000647082E08D0F0E942715C3FF06C0612F24 -:10041000687083E08D0F0E942715C4FF06C0612F0E -:10042000607184E08D0F0E942715C5FF06C0612F03 -:10043000607285E08D0F0E942715C6FF06C0612FF0 -:10044000607486E08D0F0E942715C7FF09C0612FD9 -:10045000607887E08D0FDF91CF911F910C94271565 -:10046000DF91CF911F9108950F931F93CF93DF9347 -:10047000EB018E3178F5082F10E0F801E053FD4FC5 -:100480009081933089F0943029F5F801ED5FFD4FAC -:10049000208130E0C901880F991F820F931F8F5D63 -:1004A0009D4F0E94D30B0FC0833051F09BEF980FEC -:1004B000923030F097EF980F933010F08D3019F4A0 -:1004C000BE010E941A14F801EE0FFF1FE057FD4F06 -:1004D000D183C083DF91CF911F910F910895CF9366 -:1004E000C82F8C3058F54091F6025091F70221E068 -:1004F00030E0082E02C0220F331F0A94E2F7672B68 -:1005000049F420953095242335233093F702209326 -:10051000F60214C0242B352B3093F7022093F602F9 -:100520008091F40181110AC08C2F0E94E913AC0163 -:100530006C2F8EED93E0CF910C94A210CF91089583 -:10054000DB019A019091F5019C30D0F54091F601C4 -:10055000682F70E0442369F0E42FF0E0EA50FE4F8A -:100560008081FB01ED5FFD4F808341504093F60198 -:1005700007C0FB01ED5FFD4F90839F5F9093F501F6 -:10058000FB01ED5FFD4F1A161B067CF412161306D5 -:1005900064F4408150E0CA01880F991F840F951FB1 -:1005A000AD018F5D9D4F0C940E0B208130E0C90191 -:1005B000880F991F820F931F8F5D9D4F0C948C0B9A -:1005C00068E171E08EED93E00C943111CF93DF93ED -:1005D000C82FD0E0CD5FDD4F288130E0C901880F02 -:1005E000991F820F931F8F5D9D4F0E94920B8881F0 -:1005F0009091F501891306C0882379F0815080938A -:10060000F5010BC0992349F0E091F601EF5FE0930B -:10061000F601F0E0EA50FE4F80838FEF8883DF9190 -:10062000CF9108951F93CF93DF93162FC82FD0E05B -:10063000FE01E453FD4F90811923C251DD4F41115A -:1006400003C09881911741F0412F50E0682F8EED43 -:1006500093E00E94BB101883DF91CF911F91089502 -:10066000EF92FF920F931F93CF93DF93E82E83E0D7 -:100670008E1508F475C02E2D30E0F901EE50FD4FB7 -:100680006083672B09F46CC0F901E453FD4FF080DF -:100690000E2D000F000F000FF0FE52C0802F0E94A1 -:1006A0005D15892B09F44CC011E0C02FD0E0F1FE9C -:1006B00007C081E0800F0E945D15892B09F042C0C0 -:1006C000F2FE06C082E0800F0E945D15892BE1F5E5 -:1006D000F3FE06C083E0800F0E945D15892BB1F503 -:1006E000F4FE06C084E0800F0E945D15892B81F521 -:1006F000F5FE06C085E0800F0E945D15892B51F53F -:10070000C831D10541F0F6FE06C086E0800F0E9498 -:100710005D15892B09F5679744F4F7FE06C087E05D -:10072000800F0E945D15892BC9F441E0612F8E2D49 -:10073000DF91CF911F910F91FF90EF900C941203D6 -:1007400010E0B3CF1260BCCF1460C2CF1860C8CF26 -:100750001061CECF1062D4CF1064DDCF1068E5CF2A -:10076000DF91CF911F910F91FF90EF900895CF935C -:10077000DF938091F202882309F448C0D091CC0223 -:10078000D0FF1DC180E00E945D15892B09F417C1BF -:10079000C1E0D1FF06C081E00E945D15892B09F000 -:1007A00010C1D2FF06C082E00E945D15892B09F0BE -:1007B0000AC1D3FF06C083E00E945D15892B09F0B2 -:1007C00004C1D4FF06C084E00E945D15892B09F0A6 -:1007D000FEC0D5FF06C085E00E945D15892B09F09B -:1007E000F8C0D6FF06C086E00E945D15892B09F08F -:1007F000F2C0D7FF06C087E00E945D15892B09F083 -:10080000ECC040E06C2F80E00E9412038091F30264 -:10081000882309F448C0D091CD02D0FFE0C088E021 -:100820000E945D15892B09F4DAC0C1E0D1FF06C032 -:1008300089E00E945D15892B09F0D3C0D2FF06C064 -:100840008AE00E945D15892B09F0CDC0D3FF06C058 -:100850008BE00E945D15892B09F0C7C0D4FF06C04C -:100860008CE00E945D15892B09F0C1C0D5FF06C040 -:100870008DE00E945D15892B09F0BBC0D6FF06C034 -:100880008EE00E945D15892B09F0B5C0D7FF06C028 -:100890008FE00E945D15892B09F0AFC040E06C2FFE -:1008A00081E00E9412038091F402882309F448C079 -:1008B000D091CE02D0FFA3C080E10E945D15892BAC -:1008C00009F49DC0C1E0D1FF06C081E10E945D1521 -:1008D000892B09F096C0D2FF06C082E10E945D1507 -:1008E000892B09F090C0D3FF06C083E10E945D15FB -:1008F000892B09F08AC0D4FF06C084E10E945D15EF -:10090000892B09F084C0D5FF06C085E10E945D15E2 -:10091000892B09F07EC0D6FF06C086E10E945D15D6 -:10092000892B09F078C0D7FF06C087E10E945D15CA -:10093000892B09F072C040E06C2F82E00E94120304 -:100940008091F502882309F476C0D091CF02D0FFC0 -:1009500066C088E10E945D15892B09F460C0C1E082 -:10096000D1FF06C089E10E945D15892B09F059C0AD -:10097000D2FF06C08AE10E945D15892B09F053C0A1 -:10098000D3FF06C08BE10E945D15892B09F04DC095 -:10099000D4FF06C08CE10E945D15892B09F047C089 -:1009A000D5FF06C08DE10E945D15892B09F041C07D -:1009B00040E06C2F83E0DF91CF910C941203C0E0F4 -:1009C000E8CEC260EECEC460F4CEC860FACEC0619C -:1009D00000CFC06206CFC0640CCFC06812CFC0E0A9 -:1009E00025CFC2602BCFC46031CFC86037CFC06184 -:1009F0003DCFC06243CFC06449CFC0684FCFC0E095 -:100A000062CFC26068CFC4606ECFC86074CFC0616F -:100A10007ACFC06280CFC06486CFC0688CCFC0E080 -:100A20009FCFC260A5CFC460ABCFC860B1CFC0615B -:100A3000B7CFC062BDCFDF91CF910895109247022A -:100A40008FEF80930A010895CF92DF92EF92FF9289 -:100A50000F931F93CF93DF93182FEB01E82EF12C08 -:100A6000C70180539D4F6C01FC0180818F3709F4D1 -:100A7000EEC0863051F480914702882331F0663011 -:100A8000710509F4E0C00E941E051E31A8F4C430AF -:100A9000D10591F0F701ED5FFD4F20812C3060F41E -:100AA00030E0C901880F991F820F931F8F5D9D4F02 -:100AB0000E94380C8111B4C00EEE010F0C3058F4B6 -:100AC00061E070E0C230D10511F060E070E0802F8D -:100AD0000E946F0202C01E31D0F4E12FE695E69528 -:100AE000E695812F8770F0E0E453FD4F21E030E080 -:100AF000082E01C0220F0A94EAF7209721F4808182 -:100B0000822B808304C02095808128232083F701D5 -:100B1000EE0FFF1FE057FD4F11821082C230D1054A -:100B200079F02CF42097C9F0219729F16BC0C430DB -:100B3000D10509F445C064F1269709F45BC062C091 -:100B40000C3008F084C060E0812F0E94EE1460E059 -:100B5000812F0E94271582E052C01E3108F077C015 -:100B600060E0812F0E94EE1460E0812F0E94271523 -:100B7000F60110826CC01E3108F069C060E0812F60 -:100B80000E94271561E0812F0E94EE1481E037C09A -:100B9000133059F08BEF810F823038F087EF810FDF -:100BA000833018F01D3009F052C061E0812F0E949F -:100BB000EE1460E070E0812F0E941A1483E01FC0E1 -:100BC0001E3108F044C084E0F6018083F701ED5F38 -:100BD000FD4F80818F3F41F190E09C01220F331F38 -:100BE000280F391FC9018F5D9D4F0E94380C81115C -:100BF0002EC01AC08EEF810F823048F586E0F601D4 -:100C0000808325C06CE271E08EED93E0DF91CF919F -:100C10001F910F91FF90EF90DF90CF900C943111C6 -:100C2000812F0E94E60248CF4FEF5FEF6FEF7FEF1B -:100C3000812FDF91CF911F910F91FF90EF90DF9067 -:100C4000CF900C94A0021E3108F424CF35CFDF9151 -:100C5000CF911F910F91FF90EF90DF90CF9008956B -:100C6000CF93C0E08EEF8C0F823028F466E070E006 -:100C70008C2F0E942405CF5FCE31A1F781E08093B5 -:100C800047028EE193E0CF910C94DE0C0F931F93FB -:100C9000CF93DF9381E08093F4018091470281112B -:100CA0000E941E05E2EFF2E0CCECD2E0AEEEB2E044 -:100CB000119219921D9282E0E63FF807C9F7C3E04E -:100CC000D2E010E00FEF8EEE810F8C3018F462E06E -:100CD00070E002C061E070E0812F0E94240509935A -:100CE0001F5F1E3181F71092F7021092F6021092E8 -:100CF000F6011092F5011092F401DF91CF911F914E -:100D00000F91089524E042E06DE371E08EED93E0F1 -:100D10000E94C90F44E352E060EE8EED93E00E9422 -:100D20003F114DEB51E060E98EED93E00E943F11E1 -:100D30004FE652E060EC8EED93E00E943F1140E3FD -:100D400053E060ED8EED93E00E943F1144E255E0E8 -:100D500064EF8EED93E00E943F114CE457E060EFAA -:100D60008EED93E00E946A1146E456E06FEF8EED3F -:100D700093E00E94621140E051EE60E070E08EED81 -:100D800093E00E94C2120C944606CF93DF93C1E217 -:100D9000D2E0CE010E94F20A239682E0C534D80741 -:100DA000C1F7DF91CF910895682F8EE193E00C9405 -:100DB0009F0C8EE193E00E944F0C0895DF92EF921A -:100DC000FF920F931F93CF93DF93F82EEB01D42E56 -:100DD0006F3F8FEF7807A9F06F2D8EE193E00E94AF -:100DE000F80C8C2F0E94D4068EE193E00E94150D22 -:100DF0008091450290914602009729F00E94881345 -:100E000002C0C0E0D0E04D2D6F2D8EE193E00E9436 -:100E1000F50C0D2D10E08EE193E00E94470C0817B1 -:100E200019071CF461E571E009C08EE193E00E94AE -:100E3000470C8017910734F46EE671E08EED93E075 -:100E40000E943111F0924802C09349028AE4E82ED0 -:100E500082E0F82EC0E0D0E0C017D10784F042E075 -:100E60004D0D28E432E067E78EED93E0DF91CF91FE -:100E70001F910F91FF90EF90DF900C94E9108EE19D -:100E800093E00E94470C892B51F30E94D906F70189 -:100E900081937F012196E0CFEF92FF920F931F93F2 -:100EA000CF93DF93162FEA0190E0FC01E956F10998 -:100EB000E231F10508F03CC2EA5AFF4F0C940D1DD7 -:100EC0008981982F987185FF03C06AE871E056C048 -:100ED0008881983071F148F491112AC2682F8EE10F -:100EE00093E00E94F80C02E007C0903109F440C082 -:100EF000983109F471C01CC2011768F4FE01E00FBB -:100F0000F11D9181808120E8929F801911240E9417 -:100F1000D4060E5FF1CF8EE193E00E94150D86E4BA -:100F200090E0DF91CF911F910F91FF90EF900C9483 -:100F300088134A816B81163069F430E8639FB001F1 -:100F40001124640F711D9D814C8150E8959F4019BB -:100F5000112406C090E8699F401911246FEF7FEFBC -:100F6000DF91CF911F910F91FF90EF900C94DE06CF -:100F7000E0910A01E73064F06AEA71E08EED93E0F7 -:100F8000DF91CF911F910F91FF90EF900C94311151 -:100F90009A812B81F0E8663061F42F9F9001112433 -:100FA000290F311D4D819C8150E8459F90191124D6 -:100FB00005C02F9F901911242FEF3FEFEF5FE093B3 -:100FC0000A0144E0E402F0011124E859FD4F808356 -:100FD000328321839383ACC150910A01151634F4F6 -:100FE00040E0252F332727FD30950EC08FEF8093EB -:100FF0000A019EC1EE0FFF1FEE0FFF1FE859FD4FC4 -:101000009081981719F14F5FE42FF0E02E173F07FA -:101010008CF740E01BC04830C0F4DF01AA0FBB1FB3 -:10102000AA0FBB1FA459BD4F8C91EE0FFF1FEE0FEF -:10103000FF1FE859FD4F808311968D919C91129767 -:101040009283818313968C9183834F5FE42FF0E02A -:101050002E173F0704F7515050930A0169C12881A8 -:10106000898150E8859FC0011124820F911D00974E -:1010700021F09093460280934502809147028111AE -:1010800057C1DF91CF911F910F91FF90EF900C947A -:101090003006653008F44CC118810981FA80EB8074 -:1010A000CC811E3108F044C1E12FF0E0ED5FFD4F2F -:1010B000E081EC3060F4F0E0CF01880F991F8E0FD3 -:1010C0009F1F8F5D9D4F0E94380C81112DC180E8BC -:1010D000C89FA00111244E0D511D90E8F99EB0014A -:1010E0001124600F711D812F0E94A00264E070E046 -:1010F000812FDF91CF911F910F91FF90EF900C9472 -:101100002405623008F414C128818981E0E88E9FAB -:10111000C0011124820F911D90930C0180930B014B -:101120000A9708F005C18AE090E090930C01809343 -:101130000B01FEC0623008F4FBC0698170E0123020 -:1011400091F08A81F0E88F9FC0011124682B792BE0 -:10115000133049F08B8190E090E4899F902D88278F -:101160001124682B792B8881DF91CF911F910F91EA -:10117000FF90EF900C94340260EF8EED93E00E94AC -:1011800035116CE68EED93E00E943511C0E060E011 -:101190008EED93E00E94351161E08EED93E00E94A8 -:1011A000351161E08EED93E00E94351161E08EED26 -:1011B00093E00E9435118EEE8C0F8C3058F462E073 -:1011C0008EED93E00E9435116AE08EED93E00E946F -:1011D00035110DC0C33059F463E08EED93E00E94E9 -:1011E000351168E08EED93E00E9435110AC08BEF57 -:1011F0008C0F823088F387EF8C0F833068F3CD300B -:1012000059F364E08EED93E00E9435116EE08EEDAF -:1012100093E00E9435118EEF8C0F823050F466E01F -:101220008EED93E00E94351161E08EED93E00E9417 -:1012300035116FE78EED93E00E943511CF5FCE310F -:1012400009F0A5CF67EF8EED93E0DF91CF911F916D -:101250000F91FF90EF900C943511662309F468C04C -:10126000C88160EF8EED93E00E9435116EE68EED41 -:1012700093E00E9435116C2F8EED93E00E943511A2 -:10128000CE3100F7D0E0FE01E053FD4F60818EEDDE -:1012900093E00E943511CC0FDD1F8E0100571D4FCA -:1012A000F80160816F778EED93E00E943511F801AF -:1012B00060817181CB018078892B49F0660F672F9F -:1012C000661F770B6F778EED93E00E943511C05744 -:1012D000DD4F68817981CB018827907C892B09F4C7 -:1012E000B1CF770F660B770F762F661F6F778EED76 -:1012F00093E00E943511A6CF60EF8EED93E00E943F -:1013000035116AE68EED93E00E943511CEEECC30B9 -:1013100010F06FE701C06C2F8EED93E00E94351145 -:10132000CF5FCC30A1F78ECF812F0E94E602CFCEC7 -:10133000DF91CF911F910F91FF90EF9008958F92C1 -:101340009F92AF92BF92CF92DF92EF92FF920F9354 -:101350001F93CF93DF930E94B7038EED93E00E941B -:101360002910892B29F08EED93E00E949511F5CF7D -:101370000E94311360938C0270938D0280938E02D1 -:1013800090938F02C0908802D0908902E0908A02E8 -:10139000F0908B0240910B0150910C014A01A12C5D -:1013A000B12C8B019C010C191D092E093F098016D7 -:1013B0009106A206B30608F04CC0D501C4018C0DFD -:1013C0009D1DAE1DBF1D8093880290938902A0933E -:1013D0008A02B0938B02C0EDD2E01EEE1C30C0F446 -:1013E00088818230A9F42091F6023091F702012E13 -:1013F00002C0359527950A94E2F720FF09C0812F96 -:101400000E94E913AC01612F8EED93E00E94A210BF -:101410001F5F21961C3011F780910A0187FD19C0CA -:10142000C0E0EC2FF0E080910A01992787FD9095AC -:101430008E179F0774F0EE0FFF1FEE0FFF1FE85986 -:10144000FD4F61817281438180810E94DE06CF5F02 -:10145000E8CFDF91CF911F910F91FF90EF90DF9038 -:10146000CF90BF90AF909F908F9008951F920F9252 -:101470000FB60F9211242F933F934F935F936F9367 -:101480007F938F939F93AF93BF93EF93FF9380913D -:10149000F90287FF05C010928500109284001AC0DF -:1014A0002091F902332727FD30958091F80290E0D2 -:1014B000281739077CF48091F902992787FD9095C8 -:1014C000FC01EE0FFF1FE80FF91FE650FD4F808172 -:1014D00086FD15C08091F9028F5F8093F9022091FB -:1014E000F902332727FD30958091F80290E0281704 -:1014F0003907BCF48091F9028C305CF112C0809104 -:10150000F902992787FD9095FC01EE0FFF1FE80F68 -:10151000F91FE650FD4F808160E08F730E94271510 -:10152000D9CF8091840090918500049680349C49A5 -:1015300018F480E49CE905C08091840090918500B6 -:10154000049690938900809388008FEF8093F9022E -:1015500038C020918400309185008091F90299274C -:1015600087FD9095FC01EE0FFF1FE80FF91FE65075 -:10157000FD4F81819281820F931F90938900809308 -:1015800088008091F902992787FD9095FC01EE0F64 -:10159000FF1FE80FF91FE650FD4F808186FF11C045 -:1015A0008091F902992787FD9095FC01EE0FFF1FAE -:1015B000E80FF91FE650FD4F808161E08F730E94B4 -:1015C0002715FF91EF91BF91AF919F918F917F91DF -:1015D0006F915F914F913F912F910F900FBE0F90A0 -:1015E0001F9018952091F8022C30A0F431E0320FB2 -:1015F0003093F802FC012083822F90E0FC01EE0F73 -:10160000FF1FE80FF91FE650FD4F88EB9BE0928328 -:10161000818308952FEFFC0120830895DF92EF92DC -:10162000FF920F931F93CF93DF93EC01D62E7A0195 -:10163000890188818C3008F066C061E08D2D0E94A0 -:10164000EE148881A82FB0E0FD01EE0FFF1FEA0F16 -:10165000FB1FE650FD4F2D2D2F739081907C922B18 -:10166000908360E272E06E197F0977FF02C06D5FC0 -:101670007F4F7595679575956795698340E659E045 -:10168000401B510B57FF02C04D5F5F4F559547956B -:10169000559547954A836CE00E94C01C9CE0899F49 -:1016A000B001112420E030E0A901460F571FFA01D4 -:1016B000EE0FFF1FE40FF51FE650FD4F908196FDE2 -:1016C00016C02F5F3F4F2C30310571F781110FC0CD -:1016D0001092800082E08093810010928500109229 -:1016E0008400B19A80916F00826080936F0088813E -:1016F00090E0FC01EE0FFF1FE80FF91FE650FD4FD1 -:101700008081806480838881DF91CF911F910F91C8 -:10171000FF90EF90DF90089520E639E040E252E03C -:101720000C940E0BFC01808190E0FC01EE0FFF1F7A -:10173000E80FF91FE650FD4F80818F7B808308956D -:10174000FC0180818C3070F5918128E830E0291B04 -:10175000310997FD3395220F331F220F331F621774 -:1017600073077CF0928128E532E0291B310997FD4F -:101770003395220F331F220F331F621773070CF4A8 -:101780009B0122503109220F331F4FB7F89490E08C -:10179000FC01EE0FFF1FE80FF91FE650FD4F3283EB -:1017A00021834FBF08954F925F926F927F92AF92C5 -:1017B000BF92CF92DF92EF92FF920F931F93CF933E -:1017C000DF93EC01603282E078070CF040C077FDD7 -:1017D00006C0653B71052CF064EB70E002C060E070 -:1017E00070E0898128E830E0281B310987FD3395B6 -:1017F000220F331F220F331F5901CC24B7FCC09492 -:10180000DC2C882777FD8095982F2A8148E552E0C7 -:10181000421B510927FD5395440F551F440F551F77 -:101820002A01662457FC6094762C7F926F925F9217 -:101830004F9214EBE12EF12C00E010E020E030E0BC -:10184000A9010E94251B0F900F900F900F90CE01C1 -:10185000DF91CF911F910F91FF90EF90DF90CF908C -:10186000BF90AF907F906F905F904F900C94A00BC3 -:10187000FC01808190E0FC01EE0FFF1FE80FF91FD3 -:10188000E650FD4F808186FB882780F9089580917E -:101890004E0390E020914F03821B910908952091FF -:1018A0004F0380914E03281750F4E22FF0E0E05BE5 -:1018B000FC4F808190E02F5F20934F0308958FEFBE -:1018C0009FEF0895E0914F0380914E03E81730F4A5 -:1018D000F0E0E05BFC4F808190E008958FEF9FEF98 -:1018E00008950895CF92DF92EF92FF920F931F9386 -:1018F000CF93DF937C01CB018A0120912A0322231D -:1019000089F0EB016B01C40ED51ECC15DD0569F025 -:101910006991D701ED91FC910190F081E02DC70113 -:101920000995F3CF642F0E94D10DC801DF91CF91AB -:101930001F910F91FF90EF90DF90CF900895CF937C -:10194000DF931F92CDB7DEB7698320912A0322234C -:10195000D1F020912B03203240F021E030E0FC0157 -:101960003383228380E090E015C080912C03E82F20 -:10197000F0E0E35DFC4F998190838F5F80932C03AF -:1019800080932B0305C061E0CE0101960E94D10D2A -:1019900081E090E00F90DF91CF910895FC011382D8 -:1019A000128248EE53E060E070E044835583668322 -:1019B00077838FEB91E091838083089510924F039A -:1019C00010924E0310922C0310922B030C941C0DBA -:1019D000862F413208F040E260E573E00E943A0D44 -:1019E00010924F0380934E03089521E00C94E80C6D -:1019F00081E080932A0360934D0310922C03109290 -:101A00002B0308950F93062F21E040912B036DE2E5 -:101A100073E080914D030E947E0D10922C03109272 -:101A20002B0310922A030F91089561E00C94020D8C -:101A30008EE193E00C94CE0C1092DD0381E0809354 -:101A4000DB031092DA0361E082E00E94271561E077 -:101A500083E00E942715E9EBF0E080818E7F808390 -:101A600080818D7F808388E48093B80085E48093B3 -:101A7000BC000895413208F03FC09091DD03911100 -:101A8000FCCF91E09093DD032093DB032FEF2093B5 -:101A900070031092B503240F2093B4039093DC03DA -:101AA0009091DC03880F892B8093DC038091DA030B -:101AB000813041F41092DA038091DC038093BB0003 -:101AC00085EC01C085EE8093BC008091DD03813000 -:101AD000E1F38091B503841710F44091B50326EB30 -:101AE00033E0FB01D9018A2F821B841718F48D91F2 -:101AF0008193F9CF842F089580E008950F934132A8 -:101B000008F046C09091DD039111FCCF92E09093D4 -:101B1000DD030093DB039FEF909370031092B503F6 -:101B20004093B403FB0166EB73E0DB019A2F961B35 -:101B3000941718F491919D93F9CF1092DC03909132 -:101B4000DC03880F892B8093DC038091DA038130DA -:101B500041F41092DA038091DC038093BB0085ECA2 -:101B600001C085EE8093BC00222321F08091DD032B -:101B70008230E1F3809170038F3F61F080917003B8 -:101B8000803251F080917003803341F483E007C0CC -:101B900081E005C080E003C082E001C084E00F91D5 -:101BA0000895613298F42091DD03243089F4609324 -:101BB0009203FC0184E993E0DC012A2F281B2617FD -:101BC00018F421912D93F9CF80E0089581E00895D4 -:101BD00082E0089585ED8093BC008091BC0084FD77 -:101BE000FCCF1092DD03089585EC8093BC00109229 -:101BF000DD0308951F920F920FB60F9211242F93B9 -:101C00003F934F935F936F937F938F939F93AF9384 -:101C1000BF93EF93FF938091B900887F803609F4DA -:101C20009CC068F5883209F45BC090F4803109F4F7 -:101C300054C038F4882309F4F5C0883009F44DC045 -:101C4000F5C0883109F44CC0803209F45DC0EEC0A3 -:101C5000803409F468C048F4803309F455C08833EF -:101C600009F0E4C080937003A8C0803509F44FC028 -:101C7000883509F45DC0883409F0D8C0D5C08839EA -:101C800009F4C6C0A8F4883709F467C038F4883668 -:101C900009F463C0803709F460C0C8C0883809F40B -:101CA000B7C0803909F45FC0803809F0BFC05BC09D -:101CB000803B09F485C038F4803A09F466C0883A5C -:101CC00009F47EC0B3C0803C09F4A6C0883C09F486 -:101CD000A3C0883B09F489C0A9C08091DC0310C06F -:101CE0009091B5038091B403981770F5E091B50316 -:101CF00081E08E0F8093B503F0E0EA54FC4F8081C1 -:101D00008093BB0085EC85C0809370038DC0E0910B -:101D1000B50381E08E0F8093B5038091BB00F0E0A6 -:101D2000EA54FC4F80839091B5038091B4036DC059 -:101D3000E091B50381E08E0F8093B5038091BB00E5 -:101D4000F0E0EA54FC4F80838091DB0381116CC08A -:101D500081E08093DA0384EA60C083E08093DD034E -:101D600010927103CFCF80917103803208F050C080 -:101D7000E091710381E08E0F809371038091BB002D -:101D8000F0E0EE58FC4F8083BDCF8091710380322C -:101D900030F4E0917103F0E0EE58FC4F10820E94A5 -:101DA000EA0D6091710370E0E091D603F091D703E2 -:101DB00082E793E00995109271030E94F40D36C0FA -:101DC00084E08093DD031092930310929203E091DC -:101DD000D803F091D903099580919203811105C030 -:101DE00081E08093920310929403E091930381E049 -:101DF0008E0F80939303F0E0EC56FC4F808180932C -:101E0000BB009091930380919203981708F47ACFC6 -:101E100085E88093BC000AC085EC8093BC001092DA -:101E2000DD0304C0109270030E94EA0DFF91EF9150 -:101E3000BF91AF919F918F917F916F915F914F91E2 -:101E40003F912F910F900FBE0F901F9018950F93F9 -:101E50001F93CF93DF93EC018B0188819981DC0183 -:101E6000ED91FC916F770190F081E02D09958881CB -:101E70009981DC01ED91FC91B801660F672F661F17 -:101E8000770B6F770190F081E02DDF91CF911F915B -:101E90000F910994DC018D919C91DC01ED91FC91F5 -:101EA0000190F081E02D60EF0994DC018D919C910F -:101EB000DC01ED91FC910190F081E02D67EF099438 -:101EC000CF93DF93EC0188819981DC01ED91FC9146 -:101ED0000190F081E02D69EF099588819981DC01FD -:101EE000ED91FC910190F081E02D62E009958881EF -:101EF0009981DC01ED91FC910190F081E02D64E08D -:101F0000DF91CF9109941F93CF93DF93EC018A81E6 -:101F10008823D9F1CE010E944A0F88819981DC0182 -:101F2000ED91FC910190F081E02D69E709958881A0 -:101F30009981DC01ED91FC91AB81BC810190F08134 -:101F4000E02D6C91099588819981DC01ED91FC91DE -:101F5000AB81BC810190F081E02D11966C910995C7 -:101F600012E08A81181758F4EB81FC81E10FF11D12 -:101F7000608170E0CE010E94270F1F5FF2CFCE017B -:101F8000DF91CF911F910C94550FDF91CF911F914D -:101F90000895CF92DF92EF92FF920F931F93CF930A -:101FA000DF938C01EB01C42ED22E6BEC71E0CE01DD -:101FB0000E946E1E7C016FE270E0CE010E94631EE3 -:101FC000009739F46CE570E0CE010E94631E009723 -:101FD00011F0EC012196E114F10451F4FE0101909D -:101FE0000020E9F7EC1BEF5FD8011296EC9306C0D6 -:101FF000EC1AFD0AE394E394F801E282D801139607 -:102000008D919C9114970E94C51DF801E280F12CDE -:10201000C70101960E942D1DD80114969C938E93A2 -:102020001397FC01EE0DFF1D1082FC01C082D182CE -:1020300012964C9150E042505109BE010296DF9138 -:10204000CF911F910F91FF90EF90DF90CF900C9464 -:10205000541EDC018D919C91DC01ED91FC9104807A -:10206000F581E02D09940F931F93CF93DF93FC012B -:102070002085213749F0293709F049C0DF91CF91F8 -:102080001F910F910C94830FFC01E95AFF4F0190AF -:10209000F081E02D309709F450C0DC01A75BBF4F01 -:1020A0004D915C919A012150310937FD9A01B90196 -:1020B00075956795062F40E050E020E030E04E5FD8 -:1020C0005F4F2017A0F4EC01C40FD51F1F81DC0166 -:1020D000A20FB31F18961C931897C885D0E8CD9F00 -:1020E0001019112418961C932F5F3F4FE8CFDC0185 -:1020F000A60FB11D17962C911797222311F0189651 -:102100001C920896DF91CF911F910F910994FC01C9 -:10211000E75AFF4F0190F081E02D309771F0AC014C -:10212000475F5F4FDC01A75BBF4F6C916150822F0F -:10213000DF91CF911F910F910994DF91CF911F9162 -:102140000F9108950F931F93CF93DF93EC018A01B2 -:1021500088819981DC01ED91FC916F70606E019036 -:10216000F081E02D0995B801CE01DF91CF911F914B -:102170000F910C94270F0F931F93CF93DF93EC01D4 -:102180008A0188819981DC01ED91FC916F70606911 -:102190000190F081E02D099588819981DC01ED9114 -:1021A000FC91602F6F770190F081E02D0995888177 -:1021B0009981DC01ED91FC91B801660F672F661FD4 -:1021C000770B0190F081E02DDF91CF911F910F915E -:1021D0000994CF92DF92EF92FF920F931F93CF93C8 -:1021E000DF9300D01F92CDB7DEB78C01F42E2A8387 -:1021F0003B8369830E944A0FD8018D919C91DC0139 -:10220000ED91FC910190F081E02D698109952A8181 -:10221000E22EC22E3B81D32E8C2D8E198F1540F4C9 -:10222000F60161916F0170E0C8010E94270FF4CFA1 -:10223000C8010F900F900F90DF91CF911F910F91D8 -:10224000FF90EF90DF90CF900C94550F9A01FA0118 -:1022500001900020E9F73197E41BF50B4E2F0C9409 -:10226000E910AB0161E70C942611DC018D919C9182 -:10227000DC01ED91FC910190F081E02D0994603D2D -:10228000B9F028F4603961F0603C71F00895603E67 -:1022900019F0643F89F00895FC01E55BFF4F0FC022 -:1022A000FC01E35BFF4F0BC0FC01E15BFF4F07C08C -:1022B000FC01EF5AFF4F03C0FC01ED5AFF4F518361 -:1022C000408308956F3F29F4FC01EB5AFF4F51837F -:1022D00040830895875A9F4FFC015183408308959E -:1022E000FC0115821682178280E090E0DF01A80FC2 -:1022F000B91F18961C92019680349105B9F7DF0139 -:10230000A85BBF4F1C9211961D921C92EB5AFF4F77 -:102310000190F081E02D309709F009940895FC01B7 -:102320001282148213820C947011CF93DF93EC010C -:1023300088819981DC01ED91FC910680F781E02D87 -:102340000995FE01E85BFF4F20812223B1F0873F12 -:10235000910531F41082CE01DF91CF910C943310AE -:10236000FE01E75BFF4F20813181C20FD31F8887B9 -:102370002F5F3F4F318320839DC02D81222309F49D -:102380005EC0803891050CF05AC09FEF920F9D837C -:10239000FE01E90FF11D808791118CC08E81882389 -:1023A00009F488C0803DE9F148F48039E9F0803CC7 -:1023B00009F043C0FE01E15BFF4F36C0803E19F0DB -:1023C000843F19F13AC0FE01E55BFF4F0190F081B7 -:1023D000E02D309791F18885698570E0B0E88B9F9A -:1023E000600D711D112427C0FE01E35BFF4F0190BA -:1023F000F081E02D309709F18885698570E090E8DB -:10240000899F600D711D112416C0FE01ED5AFF4F0A -:102410000190F081E02D309781F0688570E089852A -:102420000BC0FE01EF5AFF4F0190F081E02D309775 -:1024300021F0688570E08F8109951E823BC0803F46 -:1024400091052CF4282F2F702F83807F9927803EB1 -:10245000910521F154F4803C910511F1803D9105E5 -:10246000F9F08039910531F519C0843F9105B1F03B -:1024700054F4803F9105F1F481E08083C75BDF4F26 -:102480001982188217C0893F910571F08F3F91051D -:1024900089F4CE01DF91CF910C94701192E001C0CC -:1024A00091E09D838E8306C08EED93E0DF91CF9106 -:1024B0000C94600FDF91CF9108958F929F92AF920D -:1024C000BF92CF92DF92EF92FF921F93CF93DF9351 -:1024D000EB014A01690161E08DE00E94EE1410E019 -:1024E000EE24D7FCE094FE2CAA2497FCA094BA2CEE -:1024F000812F90E08C179D0794F4C701B6010E94CC -:10250000601361E08DE00E942715C501B4010E94AF -:10251000601360E08DE00E9427151F5FE9CFDF9117 -:10252000CF911F91FF90EF90DF90CF90BF90AF9031 -:102530009F908F900895CF93DF93EC0161E08DE041 -:102540000E94EE1422ED30E048E250E062E070E0DC -:10255000CE010E945D126AEF70E080E090E00E9480 -:10256000601322ED30E048E250E064E070E0CE011C -:102570000E945D126DE770E080E090E0DF91CF9106 -:102580000C946013CF93DF93EC0188E494E00E94F5 -:10259000431688E494E099838883CE010E949B12BD -:1025A000CE010E94600FCE01DF91CF910C94830F7A -:1025B0008EED93E00C948F110F9300E020E040E04B -:1025C00060E089E394E00E94A0160F9108951F92A5 -:1025D0000F920FB60F9211242F933F938F939F93D7 -:1025E000AF93BF938091400490914104A091420425 -:1025F000B091430430913F0423E0230F2D3720F4A2 -:102600000196A11DB11D05C026E8230F0296A11D4C -:10261000B11D20933F048093400490934104A09304 -:102620004204B09343048091440490914504A091E6 -:102630004604B09147040196A11DB11D8093440446 -:1026400090934504A0934604B0934704BF91AF9183 -:102650009F918F913F912F910F900FBE0F901F90E0 -:1026600018952FB7F89460914004709141048091BF -:102670004204909143042FBF08953FB7F89480918E -:10268000440490914504A0914604B091470426B5B6 -:10269000A89B05C02F3F19F00196A11DB11D3FBF9A -:1026A0006627782F892F9A2F620F711D811D911D2A -:1026B00042E0660F771F881F991F4A95D1F708954A -:1026C000CF92DF92EF92FF92CF93DF936B017C0169 -:1026D0000E943D13EB01C114D104E104F10489F01F -:1026E0000E946C1B0E943D136C1B7D0B683E734067 -:1026F00090F381E0C81AD108E108F108C851DC4F15 -:10270000EACFDF91CF91FF90EF90DF90CF900895C7 -:102710008230910538F0880F991F880F991F05970F -:102720000197F1F70895789484B5826084BD84B5EB -:10273000816084BD85B5826085BD85B5816085BDBC -:10274000EEE6F0E0808181608083E1E8F0E01082D5 -:10275000808182608083808181608083E0E8F0E016 -:10276000808181608083E1E9F0E080818260808304 -:10277000808181608083E0E9F0E0808181608083F6 -:10278000E1ECF0E0808184608083808182608083DE -:10279000808181608083E3ECF0E0808181608083D0 -:1027A000E0ECF0E0808182608083E2ECF0E0808108 -:1027B00081608083EAE7F0E08081846080838081AB -:1027C0008260808380818160808380818068808353 -:1027D0000895823108F08251E82FF0E0E45FFE4F67 -:1027E000E49180917B00E3FB222720F930E095E023 -:1027F000220F331F9A95E1F78F7D822B80937B0008 -:10280000E77080910D0120E4829FC0011124E82B24 -:10281000E0937C0080917A00806480937A008091BC -:102820007A0086FDFCCF809178002091790090E0BD -:10283000922B08951F93CF93DF93182FEB0161E044 -:102840000E94EE14209711F460E004C0CF3FD10540 -:1028500039F461E0812FDF91CF911F910C942715FE -:10286000E12FF0E0E85EFE4F449150E0FA0131972D -:10287000EF30F10508F06CC0E859FF4F0C940D1DC6 -:1028800084B5806884BDC7BD68C084B5806284BDDE -:10289000C8BD63C080918000806880938000D09321 -:1028A0008900C093880059C0809180008062809325 -:1028B0008000D0938B00C0938A004FC0809180002D -:1028C000886080938000D0938D00C0938C0045C0B9 -:1028D00080919000806880939000D0939900C0937D -:1028E00098003BC080919000806280939000D093CC -:1028F0009B00C0939A0031C08091900088608093C3 -:102900009000D0939D00C0939C0027C08091C00090 -:1029100080688093C0008091C0008F7B8093C0004E -:10292000C093CF001AC08091C00080628093C00025 -:10293000C093D00012C08091C20088608093C20012 -:102940008091C2008B7F8093C200C093D20005C0EB -:10295000C038D1050CF07DCF77CFDF91CF911F919B -:10296000089590E0FC013197EF30F105B0F5E9589A -:10297000FF4F0C940D1D809180008F7703C08091D4 -:1029800080008F7D80938000089580918000877FF4 -:10299000F9CF84B58F7702C084B58F7D84BD08954B -:1029A000809190008F7707C0809190008F7D03C049 -:1029B00080919000877F8093900008958091C0005F -:1029C0008F7703C08091C0008F7D8093C0000895F1 -:1029D0008091C200877F8093C2000895CF93DF93D8 -:1029E00090E0FC01E85DFE4F2491FC01EA5BFE4FA4 -:1029F0008491882349F190E0880F991FFC01E058E9 -:102A0000FE4FA591B4918E589E4FFC01C591D49173 -:102A10009FB7611108C0F8948C91209582238C9304 -:102A2000888182230AC0623051F4F8948C91322F4D -:102A3000309583238C938881822B888304C0F894FB -:102A40008C91822B8C939FBFDF91CF9108950F9330 -:102A50001F93CF93DF931F92CDB7DEB7282F30E0BF -:102A6000F901E85EFE4F8491F901E85DFE4F149193 -:102A7000F901EA5BFE4F04910023C9F0882321F09D -:102A800069830E94B1146981E02FF0E0EE0FFF1F0F -:102A9000EE58FE4FA591B4919FB7F8948C916111B7 -:102AA00003C01095812301C0812B8C939FBF0F9091 -:102AB000DF91CF911F910F910895CF93DF93282F2E -:102AC00030E0F901E85EFE4F8491F901E85DFE4FC8 -:102AD000D491F901EA5BFE4FC491CC2391F08111AE -:102AE0000E94B114EC2FF0E0EE0FFF1FEC59FE4FE7 -:102AF000A591B4912C912D2381E090E021F480E008 -:102B000002C080E090E0DF91CF910895CF93DF93F2 -:102B10001F92CDB7DEB76983DC01ED91FC91028095 -:102B2000F381E02D41E050E0BE016F5F7F4F0995DA -:102B30000F90DF91CF910895CF93DF93EC018C85B7 -:102B40009D8597FF05C082E00E9452189D878C8763 -:102B50008C859D85DF91CF91089583E00C94A71A11 -:102B6000FC018485958597FD06C082E00E94FA17D6 -:102B700090E00196089582E00E94FA1790E008958F -:102B8000FC018485958597FD05C02FEF3FEF3587C4 -:102B90002487089582E00C945218CF93DF93EC01C0 -:102BA00080911501882331F083E00E948318181664 -:102BB000190634F081E090E09B838A8380E090E006 -:102BC000DF91CF910895FC0120812E5F208342E4A4 -:102BD00050E06EE871E080E80C941E19FC018181E0 -:102BE0009081913A59F4813209F03CC047E050E0BD -:102BF0006EE071E080E00E941E1943C0913291F5B1 -:102C0000803239F467E070E08EE091E00E944F1965 -:102C100006C0823209F035C082818093150180910F -:102C20000E0190910F01A0911001B0911101803B14 -:102C30009440A105B105C1F48091150180FD14C037 -:102C400087E797E790930108809300082BE088E1DD -:102C500090E00FB6F894A895809360000FBE209383 -:102C600060000FC080E0089588E10FB6F89480936B -:102C70006000109260000FBEA8951092010810929B -:102C8000000881E008952FEF3FEFFC01358724878E -:102C9000089510924B0410924A0488EE93E0A0E04D -:102CA000B0E080934C0490934D04A0934E04B093F5 -:102CB0004F0484ED91E090934904809348048FEF92 -:102CC0009FEF90935504809354040895AF92BF9260 -:102CD000CF92DF92EF92FF920F931F93CF93DF93E8 -:102CE0006C017B01C0E0D0E000E010E0F601EC0FE9 -:102CF000FD1F4AE050E06281C7010E947A175C0123 -:102D00006EE2C7010E940D178A0D9B1D080F191F47 -:102D10002196C330D10551F74AE050E0F6016581B4 -:102D2000C7010E947A17800F911FDF91CF911F91E9 -:102D30000F91FF90EF90DF90CF90BF90AF900895EC -:102D40000F93FC0184EE91E091838083628343833F -:102D5000248305830F91089584EE91E09093990464 -:102D60008093980410929A0410929B0410929C04F1 -:102D700010929D04089508950E9493130E94BB161B -:102D80008EE994E00E94071B0E948206C0E0D0E01A -:102D90000E949F092097E1F30E940000F9CFCF9293 -:102DA000DF92EF92FF920F931F93CF93DF936C010B -:102DB0007A01EB01E60EF71E00E010E0CE15DF050C -:102DC00061F06991D601ED91FC910190F081E02DC7 -:102DD000C6010995080F191FF1CFC801DF91CF91E6 -:102DE0001F910F91FF90EF90DF90CF9008956115A4 -:102DF000710581F0DB010D900020E9F7AD01415034 -:102E00005109461B570BDC01ED91FC910280F381C7 -:102E1000E02D099480E090E00895DC01ED91FC91B3 -:102E20000190F081E02D09948F929F92AF92BF9212 -:102E3000CF92DF92EF92FF920F931F93CF93DF9386 -:102E4000CDB7DEB7A1970FB6F894DEBF0FBECDBFEA -:102E50007C01C42EE52FCB01D22E19A221E02D1525 -:102E600010F02AE0D22E8E010F5D1F4F8D2C912C79 -:102E7000A12CB12C6C2D7E2FA50194010E94CC1C9D -:102E80008C2DD29E80191124015011098A3014F41E -:102E9000805D01C0895CF801808321153105410501 -:102EA000510521F0C22EE32FCA01E4CFB801C701BA -:102EB0000E94F716A1960FB6F894DEBF0FBECDBFE5 -:102EC000DF91CF911F910F91FF90EF90DF90CF9006 -:102ED000BF90AF909F908F9008952115310541F4D8 -:102EE000DC01ED91FC910190F081E02D642F0994BB -:102EF0000C9414179A01462F50E060E070E00C9497 -:102F00006D174091A2045091A3042091A004309128 -:102F1000A10442175307B4F49091E8009570E1F3CF -:102F20009091E80092FD19C08093F1008091A20475 -:102F30009091A30401968F739927892B19F48EEF32 -:102F40008093E8008091A2049091A304019690934D -:102F5000A3048093A20481E0089580E00895CF92B5 -:102F6000DF92FF920F931F93CF93DF931F92CDB702 -:102F7000DEB7082F162F862F880F8E5F99830E9449 -:102F8000811783E00E948117F02EC02E9981D92EDF -:102F90008C2D8F19811778F4F60184910E94811786 -:102FA000082F80E00E9481178023FFEFCF1ADF0AED -:102FB0008111EECF01C081E00F90DF91CF911F9181 -:102FC0000F91FF90DF90CF900895615030F02091E5 -:102FD000F100FC0120830196F8CF289884E68093C5 -:102FE000A50408952FB7FC012083F89467706093BF -:102FF000E9000895CF93DF931F92CDB7DEB7682F16 -:10300000CE0101960E94F2178091F20099819FBF34 -:103010000F90DF91CF910895FF920F931F93CF935D -:10302000DF9300D0CDB7DEB7F62E8A019091A404CD -:10303000992311F057FF03C08FEF9FEF2BC0682F2C -:10304000CE0101967A830E94F2178091F20090E0FF -:10305000A8017A81801791070CF4AC01EF2DF72FAE -:10306000F40E84E6FE1639F028988093A50490911A -:10307000F1009193F7CF4115510521F08091F200B5 -:10308000882321F089818FBFCA0104C08BE6809319 -:10309000E800F8CF0F900F90DF91CF911F910F9123 -:1030A000FF900895CF93DF931F92CDB7DEB741E035 -:1030B00050E0BE016F5F7F4F0E940C18019719F41A -:1030C000898190E002C08FEF9FEF0F90DF91CF9149 -:1030D0000895CF93DF931F92CDB7DEB7682FCE014F -:1030E00001960E94F2179091E800892F807295FF57 -:1030F00004C09091F20080E4891B99819FBF0F90DA -:10310000DF91CF9108956F927F928F929F92AF92AD -:10311000BF92CF92DF92EF92FF920F931F93CF93C4 -:10312000DF931F92CDB7DEB7782E7B01C42EB52E6C -:103130008091A404882369F0042F152F8AEFD82EDC -:10314000872D8072982E9AE3A92E872D8074882E61 -:1031500011C08FEF9FEF57C0872D0E946918682E0E -:1031600081110CC0DA94A9F361E070E080E090E096 -:103170000E9460130115110579F73BC0282F30E03C -:10318000021713070CF4602E672DCE0101960E94E2 -:10319000F2178091E80085FF29C0262D30E0021B40 -:1031A000130B992039F06A948FEF6816B1F01092E2 -:1031B000F100F9CFF701862D77FE07C0815058F056 -:1031C00094919093F1003196F9CF815020F0919134 -:1031D0009093F100FACFE20EF31E8091E80085FF94 -:1031E0000FC00115110511F481100AC089818FBF2C -:1031F000C1CF5D9884E68093A6048C2D9B2D03C0DF -:10320000A092E800F3CF0F90DF91CF911F910F9123 -:10321000FF90EF90DF90CF90BF90AF909F908F90F6 -:103220007F906F9008951092E9001092A30410927D -:10323000A2049093A1048093A0040895CF92DF92FA -:10324000FF920F931F93CF93DF9300D0CDB7DEB7DC -:10325000F82E8A016B0101151105B1F0F601F7FE98 -:1032600002C0849101C0808149835A830E948117E2 -:1032700001501109FFEFCF1ADF0A49815A818111EC -:10328000EACF8FEF9FEF01C0CA010F900F90DF913F -:10329000CF911F910F91FF90DF90CF9008951F93D2 -:1032A000CF93DF931F92CDB7DEB7162F2091E800A2 -:1032B00022FFFCCF612F79830E94E5178BEF80936B -:1032C000E800812F7981972F0F90DF91CF911F9187 -:1032D0000895CF93DF931F92CDB7DEB71982CE0149 -:1032E00001960E94E315CE0101960E948B1B8981F5 -:1032F00090E00F90DF91CF9108951F920F920FB63B -:103300000F921124EF92FF920F931F932F933F93ED -:103310004F935F936F937F938F939F93AF93BF93DD -:10332000EF93FF93CF93DF93CDB7DEB76297DEBF06 -:10333000CDBF1092E9008091E80083FFEBC068E008 -:10334000CE010A960E94E51782EF8093E8009A85E5 -:1033500097FF05C08091E80080FFFCCF03C08EEF8F -:103360008093E800892F807609F0B9C08B858111A0 -:1033700005C01092F1001092F100C5C0282F2D7FDA -:10338000213009F4C0C0853049F48091E80080FF05 -:10339000FCCF8C8580688093E300B5C0863009F04F -:1033A00076C02D85E888F988223071F580E090E0BC -:1033B0002A8B0E9413190E94691999E08E010F5FF0 -:1033C0001F4FF801392F11923A95E9F799832A890D -:1033D0002A8391E09E8390E898879AEF99872091BD -:1033E000A2043091A304275F3F4F3C832B838D833E -:1033F000C7010E94131949E050E0B80180E00E9423 -:103400001E190E9469197FC0C7012A8B0E941319D7 -:103410002A89223241F482E290E00E94961B892B95 -:1034200009F071C074C0213069F4888999890897BE -:1034300011F420939F0480919F04811118C067EEBE -:1034400071E01AC0233009F062C08C85882391F0A6 -:10345000823021F462E182E092E006C0813009F01E -:1034600056C068E089EF91E00E94AF174AC065ED51 -:1034700071E002C065E172E06115710509F447C0B1 -:10348000FB01449150E080E80E941E193CC0873047 -:1034900009F43DC0883021F481E08093F10033C00D -:1034A000893089F5937099F5E1EDF1E081E021E053 -:1034B00096E38093E9002093EB0034913093EC0085 -:1034C0009093ED008F5F3196853099F78EE780936A -:1034D000EA001092EA008C858093A40414C08889C5 -:1034E00099890E9413198E85811105C0CE010A9613 -:1034F0000E94EE1506C0823051F4CE010A960E9459 -:10350000BE1B882321F08EEF8093E80003C081E288 -:103510008093EB0062960FB6F894DEBF0FBECDBF6E -:10352000DF91CF91FF91EF91BF91AF919F918F91DB -:103530007F916F915F914F913F912F911F910F91CB -:10354000FF90EF900F900FBE0F901F9018958093F3 -:10355000E9008091F200882319F08AE38093E80063 -:1035600008951F920F920FB60F9211242F933F933D -:103570004F935F936F937F938F939F93AF93BF937B -:10358000EF93FF938091E1001092E10083FF0FC061 -:103590001092E90091E09093EB001092EC0092E31E -:1035A0009093ED001092A40498E09093F00082FFB5 -:1035B0001DC083E00E94A71A8091A604882339F0D9 -:1035C0008091A60481508093A604882369F080919D -:1035D000A504882359F08091A50481508093A50407 -:1035E000811104C0289A02C05D9AF1CFFF91EF913A -:1035F000BF91AF919F918F917F916F915F914F910B -:103600003F912F910F900FBE0F901F901895109221 -:10361000A40481E08093D70080EA8093D80082E1FF -:1036200089BD09B400FEFDCF61E070E080E090E06C -:103630000E94601380E98093D8008CE08093E200C0 -:103640001092E000559A209A08954F925F926F92DF -:103650007F92AF92BF92CF92DF92EF92FF920F9341 -:103660001F93CF93DF93CDB7DEB729013A01621BD9 -:10367000730B840B950B29893A894B895C892A192C -:103680003B094C095D09298B3A8B4B8B5C8B9B0169 -:10369000AC0169897A898B899C890E94B01CE418E5 -:1036A000F50806091709A80197010E94EE1C2A0DCA -:1036B0003B1D4C1D5D1DCA01B901DF91CF911F91CA -:1036C0000F91FF90EF90DF90CF90BF90AF907F90E1 -:1036D0006F905F904F9008950895FF920F931F93FE -:1036E000CF93DF93EC01F62EE881F9810480F58118 -:1036F000E02D09958C01E881F9810680F781E02DA4 -:103700006F2DCE010995C8019927DF91CF911F91A7 -:103710000F91FF900895FC0120812F5F208349E1E4 -:1037200050E069E972E080E80C941E1945E650E02B -:1037300062EB72E080E80C941E19EF92FF920F93F7 -:103740001F93CF93DF931F92CDB7DEB789838B0191 -:103750007A0141E050E0BE016F5F7F4F84E00E943C -:103760008318A701B80184E40E9483180F90DF91A9 -:10377000CF911F910F91FF90EF900895FC019181DF -:103780008081813A31F481E0913091F0933089F475 -:1037900011C0813271F49B3021F482818093170132 -:1037A00005C09A3031F482818093160181E008953A -:1037B000089580E0089548E050E082E00C949D1B5D -:1037C000CF93DF93DC01683818F0E8E7E60F25C0F7 -:1037D000E62FF0E067FF11C0E058F10981E090E0CA -:1037E00001C0880FEA95EAF714969C911497982BDC -:1037F00014969C931497E0E010C0E75EFD4FE491AF -:10380000EE2309F440C0E7FF08C014968C9114978A -:10381000826014968C931497EF7716968C91169776 -:103820008E1741F117968C9117978E1719F11896EC -:103830008C9118978E17F1F019968C9119978E1715 -:10384000C9F01A968C911A978E17A1F01B968C913D -:103850001B978E1779F080E090E0ED01C80FD91F1B -:103860002E81211102C0EE8305C00196863091059C -:10387000A1F709C0BD016C5F7F4FCD010E94DB1B2A -:1038800081E090E008C081E090E013969C938E93D5 -:10389000129780E090E0DF91CF910895683818F09A -:1038A000E8E7E60F25C0E62FF0E067FF12C0E0581A -:1038B000F10921E030E001C0220FEA95EAF72095F6 -:1038C000DC0114963C911497322314963C93E0E06B -:1038D0000FC0E75EFD4FE491EE2329F1E7FF08C03A -:1038E000DC0114962C9114972D7F14962C93EF776E -:1038F00020E030E0EE2351F0DC01A20FB31F16965A -:103900004C9116974E1302C016961C922F5F3F4F94 -:103910002630310579F7BC016C5F7F4F0E94DB1BBD -:1039200081E090E0089580E090E00895FC01168227 -:10393000178210861186128613861482BC016C5F72 -:103940007F4F0C94DB1B1092B3041092AA041092C8 -:10395000A9048AEE91E09093A8048093A7040895A7 -:10396000DB018F939F930E94131DBF91AF91A29F84 -:10397000800D911DA39F900DB29F900D112408956D -:10398000991B79E004C0991F961708F0961B881FB1 -:103990007A95C9F780950895A1E21A2EAA1BBB1B40 -:1039A000FD010DC0AA1FBB1FEE1FFF1FA217B3070B -:1039B000E407F50720F0A21BB30BE40BF50B661F21 -:1039C000771F881F991F1A9469F7609570958095E5 -:1039D00090959B01AC01BD01CF010895052E97FB89 -:1039E0001EF400940E94051D57FD07D00E94CC1CB8 -:1039F00007FC03D04EF40C94051D5095409530956E -:103A000021953F4F4F4F5F4F08959095809570954A -:103A100061957F4F8F4F9F4F0895EE0FFF1F0590C9 -:103A2000F491E02D09940E941E1DA59F900DB49F56 -:103A3000900DA49F800D911D11240895A29FB001A7 -:103A4000B39FC001A39F700D811D1124911DB29FD2 -:103A5000700D811D1124911D0895CF93DF93823045 -:103A6000910510F482E090E0E091B604F091B70483 -:103A700020E030E0A0E0B0E0309739F140815181A2 -:103A800048175907B8F04817590771F48281938194 -:103A9000109729F013969C938E9312972CC09093B5 -:103AA000B7048093B60427C02115310531F04217C1 -:103AB000530718F0A901DB0101C0EF019A01BD0114 -:103AC000DF010280F381E02DD7CF21153105F9F018 -:103AD000281B390B2430310580F48A819B816115C4 -:103AE000710521F0FB019383828304C09093B70496 -:103AF0008093B604FE01329644C0FE01E20FF31F2C -:103B00008193919322503109398328833AC02091BF -:103B1000B4043091B504232B41F42091020130917B -:103B200003013093B5042093B40420910001309137 -:103B300001012115310541F42DB73EB74091040133 -:103B400050910501241B350BE091B404F091B504AC -:103B5000E217F307A0F42E1B3F0B2817390778F064 -:103B6000AC014E5F5F4F2417350748F04E0F5F1FC3 -:103B70005093B5044093B4048193919302C0E0E064 -:103B8000F0E0CF01DF91CF910895CF93DF930097BD -:103B900009F487C0FC01329713821282C091B604E7 -:103BA000D091B704209781F420813181280F391FEB -:103BB0008091B4049091B5048217930779F5F0933E -:103BC000B504E093B4046DC0DE0120E030E0AE1730 -:103BD000BF0750F412964D915C9113979D014115CA -:103BE000510509F1DA01F3CFB383A28340815181FA -:103BF000840F951F8A179B0771F48D919C911197E3 -:103C0000840F951F02969183808312968D919C91CB -:103C10001397938382832115310529F4F093B70418 -:103C2000E093B6043EC0D9011396FC93EE9312972D -:103C30004D915D91A40FB51FEA17FB0779F48081C0 -:103C40009181840F951F0296D90111969C938E93B2 -:103C50008281938113969C938E931297E0E0F0E01B -:103C60008A819B81009719F0FE01EC01F9CFCE010A -:103C7000029628813981820F931F2091B4043091DC -:103C8000B5042817390769F4309729F41092B7045E -:103C90001092B60402C013821282D093B504C0936E -:103CA000B404DF91CF910895FB01DC0141505040F5 -:103CB00048F001900D920020C9F701C01D924150BB -:103CC0005040E0F70895FC0181E090E00190061675 -:103CD00009F4CF010020D1F701970895FB0151911C -:103CE0005523A9F0BF01DC014D9145174111E1F7C2 -:103CF00059F4CD010190002049F04D91401541113A -:103D0000C9F3FB014111EFCF81E090E001970895E5 -:043D1000F894FFCF55 -:103D14000000B804800001000000FF13000100E16E -:103D240000000000000001014D6178207365727687 -:103D34006F7320617474616368656400556E6B6EA3 -:103D44006F776E2070696E206D6F646500537461C7 -:103D54006E646172644669726D6174612E696E6F1E -:103D6400004932433A20546F6F206D616E792062AE -:103D74007974657320726563656976656400493298 -:103D8400433A20546F6F20666577206279746573B7 -:103D94002072656365697665640031302D626974EB -:103DA4002061646472657373696E67206E6F74203A -:103DB400737570706F7274656400746F6F206D61D9 -:103DC4006E79207175657269657300000000009F4B -:103DD4000C720C470C4F0C620C710C2E637070004B -:103DE400000000008615CD15B015C0159C15AD1545 -:103DF400000000006616000000006D1BCF16E01BDB -:043E04004E1C961C9E -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/tinyduino/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/tinyduino/Blink.cpp.hex deleted file mode 100644 index ef69d22e..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/tinyduino/Blink.cpp.hex +++ /dev/null @@ -1,72 +0,0 @@ -:100000000C9461000C947E000C947E000C947E0095 -:100010000C947E000C947E000C947E000C947E0068 -:100020000C947E000C947E000C947E000C947E0058 -:100030000C947E000C947E000C947E000C947E0048 -:100040000C949D000C947E000C947E000C947E0019 -:100050000C947E000C947E000C947E000C947E0028 -:100060000C947E000C947E00000000002400270009 -:100070002A0000000000250028002B0000000000DE -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000007000201000003040600000000000029 -:1000C000000011241FBECFEFD8E0DEBFCDBF11E08E -:1000D000A0E0B1E0E2E5F4E002C005900D92A230AC -:1000E000B107D9F711E0A2E0B1E001C01D92AB3039 -:1000F000B107E1F70E9418020C9427020C9400004B -:100100008091000161E00E94C40168EE73E080E02C -:1001100090E00E94F1008091000160E00E94C40123 -:1001200068EE73E080E090E00E94F1000895809115 -:10013000000161E00E94850108951F920F920FB6A1 -:100140000F9211242F933F934F935F936F937F935D -:100150008F939F93AF93BF93209106013091070136 -:10016000409108015091090170910A01DA01C90119 -:100170000296A11DB11D672F6A5F6D3730F06D5774 -:10018000DA01C9010396A11DB11D60930A01809394 -:10019000060190930701A0930801B0930901809193 -:1001A000020190910301A0910401B0910501019613 -:1001B000A11DB11D8093020190930301A09304013E -:1001C000B0930501BF91AF919F918F917F916F91F6 -:1001D0005F914F913F912F910F900FBE0F901F9005 -:1001E00018959B01AC017FB7F89480910201909122 -:1001F0000301A0910401B091050166B5A89B05C05B -:100200006F3F19F00196A11DB11D7FBFBA2FA92F15 -:10021000982F8827860F911DA11DB11D63E0880FBF -:10022000991FAA1FBB1F6A95D1F7BC012DC0FFB74C -:10023000F8948091020190910301A0910401B09182 -:100240000501E6B5A89B05C0EF3F19F00196A11D79 -:10025000B11DFFBFBA2FA92F982F88278E0F911D90 -:10026000A11DB11DE3E0880F991FAA1FBB1FEA95CE -:10027000D1F7861B970B885E9340C8F2215030401F -:100280004040504068517C4F2115310541055105D2 -:1002900071F60895789484B5826084BD84B58160D8 -:1002A00084BD85B5826085BD85B5816085BDEEE67E -:1002B000F0E0808181608083E1E8F0E0108280815D -:1002C00082608083808181608083E0E8F0E08081CB -:1002D00081608083E1EBF0E0808184608083E0EBEB -:1002E000F0E0808181608083EAE7F0E080818460D3 -:1002F000808380818260808380818160808380812F -:10030000806880831092C1000895CF93DF93482FB7 -:1003100050E0CA0186569F4FFC0134914A575F4F07 -:10032000FA018491882369F190E0880F991FFC01FC -:10033000E859FF4FA591B491FC01EE58FF4FC591CC -:10034000D491662351F42FB7F8948C91932F909504 -:1003500089238C93888189230BC0623061F42FB785 -:10036000F8948C91932F909589238C938881832B7B -:1003700088832FBF06C09FB7F8948C91832B8C93F2 -:100380009FBFDF91CF910895482F50E0CA01825559 -:100390009F4FFC012491CA0186569F4FFC01949106 -:1003A0004A575F4FFA013491332309F440C02223A6 -:1003B00051F1233071F0243028F42130A1F02230A3 -:1003C00011F514C02630B1F02730C1F02430D9F433 -:1003D00004C0809180008F7703C0809180008F7D62 -:1003E0008093800010C084B58F7702C084B58F7D64 -:1003F00084BD09C08091B0008F7703C08091B000A8 -:100400008F7D8093B000E32FF0E0EE0FFF1FEE58DA -:10041000FF4FA591B4912FB7F894662321F48C91E6 -:100420009095892302C08C91892B8C932FBF0895BE -:10043000CF93DF930E944A010E949700C0E0D0E072 -:100440000E9480002097E1F30E940000F9CFF89409 -:02045000FFCFDC -:020452000D009B -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/tinyduino/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/tinyduino/StandardFirmata.cpp.hex deleted file mode 100644 index 4c29ad6f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/tinyduino/StandardFirmata.cpp.hex +++ /dev/null @@ -1,746 +0,0 @@ -:100000000C9465000C948D000C948D000C948D0064 -:100010000C948D000C948D000C948D000C948D002C -:100020000C948D000C948D000C948D000C94C108E0 -:100030000C948D000C948D000C948D000C948D000C -:100040000C94A0110C948D000C94B6130C94041411 -:100050000C948D000C948D000C948D000C948D00EC -:100060000C941D0B0C948D00000000002400270050 -:100070002A0000000000250028002B0000000000DE -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000007000201000003040600000000000029 -:1000C00000007401B909550E671511241FBECFEF4A -:1000D000D8E0DEBFCDBF11E0A0E0B1E0ECEAFDE288 -:1000E00002C005900D92A03EB107D9F714E0A0EE32 -:1000F000B1E001C01D92A636B107E1F710E0CAECED -:10010000D0E004C02297FE010E94D016C23CD10765 -:10011000C9F70E94BD150C94D4160C940000FB0185 -:10012000DC014150504048F001900D920020C9F789 -:1001300001C01D9241505040E0F70895FC0181E05C -:1001400090E00190061609F4CF010020D1F7019745 -:100150000895FB0151915523A9F0BF01DC014D9198 -:1001600045174111E1F759F4CD010190002049F004 -:100170004D9140154111C9F3FB014111EFCF81E0D1 -:1001800090E0019708950F931F93CF93DF93B82FBB -:10019000833008F075C090E00196A82FAA0FAA0F2F -:1001A000AA0F0197A53108F0A4E1482F440F440F8E -:1001B000440F71E050E0C62FD0E001E010E01EC017 -:1001C000842F82508231C0F4242F30E0F901E851AD -:1001D000FE4F8081823080F4572BF901EE0FFF1F14 -:1001E000E150FE4F11821082872F90E08C239D23D7 -:1001F000892B11F011830083770F4F5F4A1700F3AB -:10020000BB2361F4852F8C7FF8942BB1982F9095A8 -:1002100092238623982B9BB9789432C0B13009F58C -:10022000F89495B1852F8F7380958923962F9F73AE -:100230009523892B85B948B1252F30E0862F90E092 -:100240002823392386E0359527958A95E1F752953D -:1002500056955695537050955423522B58B978940F -:100260000FC0852F8F70F89428B1982F990F990F90 -:10027000909592238623880F880F982B98B97894AD -:10028000DF91CF911F910F910895482F863018F577 -:100290002091E0013091E101672B81F481E090E051 -:1002A00002C0880F991F4A95E2F780959095282300 -:1002B00039233093E1012093E001089581E090E03B -:1002C00002C0880F991F4A95E2F7282B392B3093EB -:1002D000E1012093E0010895833028F4E82FF0E055 -:1002E000EE51FE4F60830895CF93DF93CAE6D2E0CC -:1002F000CE010E944007239682E0CE38D807C1F78E -:10030000DF91CF9108950F931F93CF93DF938B01CC -:10031000843178F5C82FD0E0FE01E851FE4FE0812E -:10032000E33091F0E43029F582508C30E0F49E0106 -:1003300022503040C901880F991F820F931F8659A0 -:100340009D4F0E94D3070FC0833051F0853041F09C -:10035000863031F0893021F08A3011F08B3019F479 -:10036000B8010E94C212CC0FDD1FC150DE4F1983AD -:100370000883DF91CF911F910F910895AF92BF92A3 -:10038000DF92EF92FF920F931F93DF93CF930F9221 -:10039000CDB7DEB7D82E7B01082F10E0F801E85169 -:1003A000FE4F8081863061F480916702882341F09E -:1003B0006630710529F0109267028FEF8093B801C3 -:1003C0009D2D925099839C30B8F4E4E0EE16F10430 -:1003D00099F0C80102975C01AA0CBB1CA80EB91EBB -:1003E0008AE692E0A80EB91EC5010E94C1078823C3 -:1003F00019F0C5010E945A074D2D4E504630B8F4F1 -:100400002091E0013091E10192E0E916F10409F058 -:10041000E0C081E090E0042E02C0880F991F0A948A -:10042000E2F7282B392B3093E1012093E001E98199 -:10043000E23130F5ED2DE695E695E69598012770C9 -:100440003070E114F10471F4F0E0E450FE4F81E00B -:1004500090E002C0880F991F2A95E2F72081282B8F -:1004600020830EC0F0E0E450FE4F81E090E002C037 -:10047000880F991F2A95E2F7809520818223808337 -:10048000F801EE0FFF1FE150FE4F11821082F2E0E3 -:10049000EF16F104E1F083E0E816F1044CF4E11406 -:1004A000F10439F191E0E916F10409F08BC032C092 -:1004B000E4E0EE16F10409F45DC0F4E0EF16F10497 -:1004C000CCF186E0E816F10409F07CC070C046303B -:1004D00008F08CC09981923140F48D2D60E00E942B -:1004E00022138D2D60E00E94611308511E4F82E09F -:1004F00066C0F981F23108F079C08D2D60E00E946C -:1005000022138D2D60E00E94611308511E4FF801E7 -:1005100010826CC0F981F23108F068C08D2D60E066 -:100520000E9461138D2D61E00E94221308511E4F1D -:1005300081E045C0F3E0DF1681F085E0D81669F070 -:1005400096E0D91651F0E9E0DE1639F0FAE0DF1650 -:1005500021F08BE0D81609F049C08D2D61E00E9492 -:1005600022138D2D60E070E00E94C21208511E4FD0 -:1005700083E025C0F981FC30C8F5F801E851FE4F51 -:1005800084E08083C80102977C01EE0CFF1CE80E1A -:10059000F91E8AE692E0E80EF91EC7010E94C10723 -:1005A000882321F5C701B8010E94BA081FC09EEE3A -:1005B000D90EE1E0ED15D0F008511E4F86E0F801AC -:1005C000808314C084E793E060E071E00E94DE0E57 -:1005D0000DC081E090E0042E02C0880F991F0A949C -:1005E000E2F780959095282339231DCF0F90CF9166 -:1005F000DF911F910F91FF90EF90DF90BF90AF9030 -:1006000008951F9380916702882329F01092670252 -:100610008FEF8093B8011092E2011092FC011092CA -:10062000E5011092E3011092FD011092E601109293 -:10063000E4011092FE011092E70110E0812F8E502C -:10064000863020F4812F62E070E003C0812F61E0EA -:1006500070E00E94BE011F5F143181F71092E1012A -:100660001092E0011F9108950F931F9304E713E088 -:10067000C80161E171E042E023E00E94D90FC801A6 -:1006800060EE43E851E00E940F0EC80160E943ECC0 -:1006900050E00E940F0EC80160EC45E451E00E945A -:1006A0000F0EC80160ED4CE651E00E940F0EC8012C -:1006B00064EF4EEB51E00E940F0EC80160EF4EED6B -:1006C00054E00E94330EC8016FEF41E053E00E94F6 -:1006D0002D0EC80140E051EE60E070E00E944E1027 -:1006E0000E9401031F910F9108951F9310E0812F25 -:1006F0008251823028F4812F66E070E00E94BE01B2 -:100700001F5F1431A1F781E0809367028AEF92E0C6 -:100710000E94590A1F9108951F93CF93DF93282FAA -:10072000162FC82FD0E0FE01E450FE4F8081182321 -:10073000442331F4FE01EB51FE4F8081811751F0CB -:1007400084E793E0622F412F50E00E949E0DCB5131 -:10075000DE4F1883DF91CF911F9108958091E201C0 -:10076000882349F069B18091FC0168236C7F80E0A7 -:1007700040E00E948C038091E301882379F083B1EB -:1007800066B16295660F660F607C8F73682B8091EF -:10079000FD01682381E040E00E948C038091E40128 -:1007A000882379F086B190E08C7390709595879549 -:1007B000959587956091FE01682382E040E00E9454 -:1007C0008C030895EF92FF920F931F93CF93DF93C3 -:1007D000F82EEB01E42E8FEF6F3F780719F4C0E09D -:1007E000D0E016C08AEF92E06F2D0E947F098AEF59 -:1007F00092E06C2F0E94010A8AEF92E00E94440A64 -:100800008091680290916902009711F00E945B123A -:100810008AEF92E06F2D4E2D0E94550A0E2D10E0AA -:100820008AEF92E00E9489090817190791F4F09263 -:100830004702C0934802C9E4D2E00C0F1D1F05C057 -:100840008AEF92E00E9492098993C017D107C1F7FD -:1008500012C08AEF92E00E948909801791072CF458 -:1008600084E793E065E271E004C084E793E06DE41F -:1008700071E00E94DE0E82E0E80E84E793E067E715 -:100880004E2D27E432E00E94D00DDF91CF911F91D1 -:100890000F91FF90EF900895AF92BF92CF92DF92A9 -:1008A000EF92FF920F931F93CF93DF930E94AE03BB -:1008B00004C084E793E00E942A0F84E793E00E943B -:1008C000770D892BB1F70E94F41160932702709382 -:1008D00028028093290290932A02A0902B02B090C4 -:1008E0002C02C0902D02D0902E022091B6013091A2 -:1008F000B70179010027F7FC0095102F6A197B09D1 -:100900008C099D09E616F7060807190708F04BC081 -:10091000EA0CFB1C0C1D1D1DE0922B02F0922C0218 -:1009200000932D0210932E02C8EED1E012EF163084 -:10093000C0F488818230A9F48091E0019091E101B6 -:10094000012E02C0959587950A94E2F780FF09C0B1 -:10095000812F0E94A012AC0184E793E0612F0E94D6 -:10096000830D1F5F2196163011F78091B80187FD26 -:100970001AC010E00EC0F901EE0FFF1FE20FF31FC7 -:10098000E15DFD4F6181808170E042810E94E20360 -:100990001F5F212F30E08091B801992787FD909546 -:1009A0008217930744F7DF91CF911F910F91FF902A -:1009B000EF90DF90CF90BF90AF900895BF92CF920D -:1009C000DF92EF92FF920F931F93CF93DF93162F37 -:1009D000EA018F3609F44FC1803750F48B3609F4A1 -:1009E0006AC18D3609F4D3C1893609F03FC222C2EB -:1009F000863769F0873720F4803709F037C2E4C0C2 -:100A0000883709F4C7C08A3709F030C219C1898113 -:100A100085FF05C084E793E064E771E054C0688116 -:100A20008871883059F1893018F4882341F01EC24A -:100A3000803109F440C0883109F018C264C08AEFDF -:100A400092E00E947F0902E00EC0FE01E00FF11D5E -:100A500061816795662767958081680F8AEF92E0CC -:100A60000E94010A0E5F011780F38AEF92E00E9454 -:100A7000440A86E490E00E945B12F8C19B818A815F -:100A8000163071F4979599279795980F4D81479552 -:100A9000442747958C81480F862F692F70E008C046 -:100AA000979599279795980F862F6FEF7FEF492F8E -:100AB0000E94E203DBC18091B80187303CF084E7FB -:100AC00093E060EA71E00E94DE0ED0C18F5F8093F8 -:100AD000B801992787FD9095FC01EE0FFF1FE80FE5 -:100AE000F91FE15DFD4F60838B818795882787958E -:100AF0009A81890F81838D818795882787959C812D -:100B0000890F8283B3C15091B801151634F420E0E7 -:100B1000C52FDD27C7FDD09511C08FEF8093B80199 -:100B2000A5C1FC01EE0FFF1FE80FF91FE15DFD4FAE -:100B30006083662311F0422F24C02F5F822F90E044 -:100B4000C817D90774F740E01CC04830C8F4C90181 -:100B50000196D901AA0FBB1FA20FB31FA15DBD4F04 -:100B6000FC01EE0FFF1FE80FF91FE15DFD4F8081D3 -:100B70008C93808111968C931197828112968C931D -:100B80004F5F242F30E0C217D307FCF6515050932B -:100B9000B8016CC18981682F70E07695762F662741 -:100BA000779567958881680F711D6115710521F032 -:100BB000709369026093680280916702882309F04C -:100BC00055C10E94750352C1653008F44FC1F880C9 -:100BD000C980EA80BB80DC808F2D82508C3008F089 -:100BE00045C10F2D10E0C8010297EC01CC0FDD1FAD -:100BF000C80FD91FC659DD4FCE010E94C1078823F7 -:100C000019F0CE010E945A074E2D50E05695542FF0 -:100C10004427579547954C0D511D2D2D30E03695A5 -:100C2000322F2227379527952B0D311DCE01B80184 -:100C30000E943B088F2D64E070E00E94BE0116C147 -:100C4000623008F413C1898190E09695982F882727 -:100C5000979587952881820F911D9093B701809376 -:100C6000B6010A970CF002C18AE090E09093B701B8 -:100C70008093B601FBC0623008F4F8C08981682F08 -:100C800070E01230A1F08A8190E09695982F882725 -:100C900097958795682B792B133049F02B81922FEC -:100CA0009295990F990F907C80E0682B792B888121 -:100CB0000E948301DBC084E793E060EF0E94030E93 -:100CC00084E793E06CE60E94030E00E01EEF16C07E -:100CD0001231A0F484E793E060E00E94030E84E701 -:100CE00093E061E00E94030E84E793E061E00E94DC -:100CF000030E84E793E061E00E94030E802F8E5084 -:100D0000863050F484E793E062E00E94030E84E7AB -:100D100093E06AE00E94030E033051F0053041F089 -:100D2000063031F0093021F00A3011F00B3051F467 -:100D300084E793E063E00E94030E84E793E068E0B9 -:100D40000E94030E1C3050F484E793E064E00E949C -:100D5000030E84E793E06EE00E94030E802F825121 -:100D6000823050F484E793E066E00E94030E84E74B -:100D700093E061E00E94030E84E793E06FE70E9436 -:100D8000030E0F5F1F5F043109F0A2CF6AC0662314 -:100D900009F46CC0088184E793E060EF0E94030EC1 -:100DA00084E793E06EE60E94030E84E793E0602FF1 -:100DB0000E94030E043108F054C0C02FD0E0FE01A1 -:100DC000E851FE4F84E793E060810E94030E8E019C -:100DD000000F111F01501E4FF80160816F7784E7EB -:100DE00093E00E94030EF80160817181CB0180784D -:100DF000892B49F0660F672F661F770B6F7784E7A3 -:100E000093E00E94030ECC0FDD1FC150DE4F2881FE -:100E10003981C9018070907C892B19F1330F220B25 -:100E2000330F322F221F622F6F7784E793E00E94E7 -:100E3000030E17C084E793E060EF0E94030E84E77F -:100E400093E06AE60E94030E02EF063010F06FE7AF -:100E500001C0602F84E793E00E94030E0F5F06300D -:100E6000A1F784E793E067EF0E94030EDF91CF9133 -:100E70001F910F91FF90EF90DF90CF90BF9008955A -:100E8000FC0180918E028C3090F482838F5F80937E -:100E90008E02815090E0FC01EE0FFF1FE80FF91F5A -:100EA000E157FD4F8CED95E09283818308958FEF9C -:100EB00082830895DC0112968C91129790E0FC01D8 -:100EC000EE0FFF1FE80FF91FE157FD4F80818F7B69 -:100ED000808312968C916CE00E945E1690E0AC01CB -:100EE000440F551F480F591F440F551F440F551FDE -:100EF00020E030E0C901840F951FFC01EE0FFF1FB9 -:100F0000E80FF91FE157FD4F808186FD05C02F5F77 -:100F10003F4F2C30310571F70895FC0132813C3090 -:100F200078F58081992787FD909548E850E0481B27 -:100F3000590B440F551F440F551F6417750784F054 -:100F40008181992787FD909548E552E0481B590B10 -:100F5000440F551F440F551F641775070CF4AB0160 -:100F60002FB7F894832F90E0FC01EE0FFF1FE80FDE -:100F7000F91FE157FD4F42505040528341832FBF2C -:100F80000895FC01828190E0FC01EE0FFF1FE80F45 -:100F9000F91FE157FD4F8081829586958695817076 -:100FA00009F081E00895AF92BF92CF92DF92EF9265 -:100FB000FF920F931F93CF93DF93EC019B0182E08D -:100FC000603278070CF048C077FF03C020E030E0C3 -:100FD00005C0653B710514F024EB30E000D000D073 -:100FE000B901882777FD8095982F2881332727FD21 -:100FF0003095E8E8AE2EB12CA21AB30AAA0CBB1C9D -:10100000AA0CBB1CCC24B7FCC094DC2CE981FF27C4 -:10101000E7FDF09528E532E02E1B3F0B220F331F32 -:10102000220F331F442737FD4095542FEDB7FEB7ED -:10103000218332834383548320E030E040E050E05A -:1010400004EBE02EF12C012D112D0E94F6159B01D1 -:101050000F900F900F900F90CE01B9010E948D0755 -:10106000DF91CF911F910F91FF90EF90DF90CF9084 -:10107000BF90AF900895CF92DF92EF92FF921F93AF -:10108000CF93DF93EC01162F7A0169018A818C30AE -:1010900008F064C0862F61E00E9422138A8190E0EC -:1010A000FC01EE0FFF1FE80FF91FE157FD4F1F7303 -:1010B0008081807C812B808380E292E08E199F0961 -:1010C00064E070E00E946A16688380E699E08C19FB -:1010D0009D0964E070E00E946A166983AA818A2FE4 -:1010E0006CE00E945E16682F70E0AB01440F551F44 -:1010F000460F571F440F551F440F551F20E030E087 -:10110000C901840F951FFC01EE0FFF1FE80FF91FA7 -:10111000E157FD4F808186FD15C02F5F3F4F2C307A -:10112000310571F724C01092800082E08093810025 -:101130001092850010928400B19A80916F008260B5 -:1011400080936F008A2F90E0FC01EE0FFF1FE80FE5 -:10115000F91FE157FD4F8081806480838A81DF9190 -:10116000CF911F91FF90EF90DF90CF900895672B64 -:10117000D1F2E8CF40E252E020E639E00E943B089D -:1011800008951F920F920FB60F9211242F933F9341 -:101190004F935F936F937F938F939F93AF93BF937F -:1011A000EF93FF938091B30287FF05C010928500F3 -:1011B000109284002BC02091B302332727FD309575 -:1011C00080918E0290E02817390704F58091B302D0 -:1011D000992787FD9095FC01EE0FFF1FE80FF91F7F -:1011E000E157FD4F808186FF11C08091B30299279E -:1011F00087FD9095FC01EE0FFF1FE80FF91FE157E7 -:10120000FD4F80818F7360E00E9461138091B30273 -:101210008F5F8093B3022091B302332727FD30956F -:1012200080918E0290E0281739070CF04EC0809113 -:10123000B3028C300CF049C02091840030918500BD -:101240008091B302992787FD9095FC01EE0FFF1F57 -:10125000E80FF91FE157FD4F81819281280F391F57 -:1012600030938900209388008091B302992787FDED -:101270009095FC01EE0FFF1FE80FF91FE157FD4F9E -:10128000808186FF2BC08091B302992787FD9095BE -:10129000FC01EE0FFF1FE80FF91FE157FD4F8081A2 -:1012A0008F7361E00E94611319C080E29EE405C063 -:1012B000809184009091850004969093890080939A -:1012C00088008FEF8093B30209C0809184009091D1 -:1012D0008500049680529E4440F3EACFFF91EF913F -:1012E000BF91AF919F918F917F916F915F914F913E -:1012F0003F912F910F900FBE0F901F90189581E096 -:101300008093F9026093D6021092F7021092F802CD -:1013100008952091D50230E08091D402281B310934 -:10132000C90108954091D4028091D502481718F060 -:101330002FEF3FEF0AC0E42FF0E0EC54FD4F808127 -:10134000282F30E04F5F4093D402C9010895E09107 -:10135000D4028091D502E81718F0EFEFFFEF06C036 -:10136000F0E0EC54FD4F8081E82FF0E0CF010895CC -:1013700008951092FD021092FC0288EE93E0A0E026 -:10138000B0E08093FE029093FF02A0930003B0931D -:10139000010384EC91E09093FB028093FA0208959C -:1013A000CF92DF92EF92FF920F931F93CF93DF9331 -:1013B0007C016B018A018091F9028823A1F0C0E0D1 -:1013C000D0E00DC0D701ED91FC91D601AC0FBD1F4F -:1013D0000190F081E02DC7016C9109952196C0170D -:1013E000D10780F304C0CB01642F0E94020BC80117 -:1013F000DF91CF911F910F91FF90EF90DF90CF90F1 -:101400000895DF93CF930F92CDB7DEB7FC016983C8 -:101410008091F9028823C9F08091F802803238F077 -:1014200081E090E09383828320E030E015C08091DA -:10143000F702E82FF0E0E952FD4F998190838F5F2A -:101440008093F7028093F80205C0CE01019661E017 -:101450000E94020B21E030E0C9010F90CF91DF9193 -:1014600008950F93062F8091D60267ED72E04091A8 -:10147000F80221E00E94AD0A1092F7021092F802E1 -:101480001092F9020F91089561E00E94310A0895C7 -:10149000413208F040E2862F64EB72E00E94640A59 -:1014A0001092D4028093D502089521E00E94480A48 -:1014B00008951092D4021092D5021092F702109261 -:1014C000F8020E94AE0C0895382F413210F040E02F -:1014D00042C0809106038823E1F791E090930603D0 -:1014E000209308038FEF8093730310922E034150D3 -:1014F00040932F034F5F9093070380910703330FAF -:10150000832B8093070380910903813041F410926B -:101510000903809107038093BB0085EC01C085EE31 -:101520008093BC00809106038130E1F380912E030B -:10153000841710F440912E0320E030E00AC0FB0134 -:10154000E20FF31FD901A25FBC4F8C9180832F5F04 -:101550003F4F2417A0F3842F08950F931F93582F04 -:10156000122F413210F081E04AC080910603882397 -:10157000E1F782E080930603009308038FEF8093E6 -:10158000730310922E0340932F03AEE0B3E0FB01F0 -:1015900002C081918D938E2F861B8417D0F31092F9 -:1015A000070380910703550F852B809307038091D4 -:1015B0000903813041F4109209038091070380935D -:1015C000BB0085EC01C085EE8093BC00112321F0A7 -:1015D000809106038230E1F3809173038F3F11F411 -:1015E00080E00DC080917303803211F482E007C067 -:1015F00080917303803311F084E001C083E01F9178 -:101600000F910895482F613210F081E00895809184 -:101610000603843011F082E0089560935103A0E343 -:10162000B3E0842F9C01F90102C081918D938E2F2C -:10163000841B8617D0F380E008951F920F920FB697 -:101640000F9211242F933F934F935F936F937F9348 -:101650008F939F93AF93BF93EF93FF938091B900C4 -:1016600090E0887F90708036910509F4F2C0813651 -:101670009105CCF58832910509F47BC0893291053A -:10168000B4F48031910509F46FC0813191053CF4C7 -:10169000009709F447C1089709F04FC165C0883128 -:1016A000910509F466C0809709F047C182C0803473 -:1016B000910509F4A4C08134910544F48033910567 -:1016C00009F482C0C89709F038C189C080359105F6 -:1016D00009F489C08835910509F496C088349105CC -:1016E00009F02BC1AEC08839910509F413C18939BD -:1016F0009105ECF48837910509F4ABC08937910561 -:101700004CF48836910509F4A4C08037910509F09E -:1017100014C19FC08838910509F4FCC08039910537 -:1017200009F49DC08038910509F007C198C0803B3D -:10173000910509F4C6C0813B91054CF4803A9105AE -:1017400009F49FC0883A910509F0F7C0BAC0803CFF -:10175000910509F4E3C0883C910509F4DFC0883B9A -:10176000910509F0EAC0C2C0809107038093BB00D5 -:10177000CFC090912E0380912F03981768F4909119 -:101780002E03E92FF0E0E25FFC4F80818093BB00E5 -:101790009F5F90932E03BCC080910803882309F4B7 -:1017A0004BC085ED8093BC008091BC0084FDFCCFD4 -:1017B000C2C080E28093730385ED8093BC0080916A -:1017C000BC0084FDFCCFB7C080E38093730385ED3C -:1017D0008093BC008091BC0084FDFCCFACC088E34A -:1017E000809373039BC080912E039091BB00E82FE0 -:1017F000F0E0E25FFC4F90838F5F80932E03909127 -:101800002E0380912F0382C080912E039091BB0004 -:10181000E82FF0E0E25FFC4F90838F5F80932E0310 -:1018200080910803882341F085ED8093BC0080916E -:10183000BC0084FDFCCF7FC081E08093090384EA73 -:101840006EC085ED8093BC008091BC0084FDFCCF10 -:1018500072C083E0809306031092720359C0809196 -:101860007203803208F056C0809172039091BB00E1 -:10187000E82FF0E0EE5AFC4F90838F5F8093720365 -:1018800047C080917203803230F4E0917203F0E03F -:10189000EE5AFC4F108285ED8093BC008091BC0015 -:1018A00084FDFCCF1092060360917203E0910C035B -:1018B000F0910D0382E593E070E0099510927203B8 -:1018C0002DC084E0809306031092500310925103C0 -:1018D000E0910A03F0910B0309958091510388234D -:1018E00029F481E0809351031092300390915003CA -:1018F000E92FF0E0E05DFC4F80818093BB009F5FAB -:10190000909350039091500380915103981710F4D5 -:1019100085EC01C085E88093BC000FC085EC809306 -:10192000BC0009C01092730385ED8093BC008091C8 -:10193000BC0084FDFCCF10920603FF91EF91BF9194 -:10194000AF919F918F917F916F915F914F913F9157 -:101950002F910F900FBE0F901F90189510920603B5 -:1019600081E0809308031092090382E161E00E9404 -:10197000611383E161E00E946113E9EBF0E0808193 -:101980008E7F808380818D7F808380E28093B8000A -:1019900085E48093BC000895EF92FF920F931F930C -:1019A0007C018B01DC01ED91FC91A081B1816F770D -:1019B0002D913C91CF01F9010995D701ED91FC9151 -:1019C000A081B181000F012F001F110B0F772D9106 -:1019D0003C91CF01602FF90109951F910F91FF9064 -:1019E000EF900895FC010190F081E02DA081B1817C -:1019F0002D913C91CF0160EFF90109950895FC010B -:101A00000190F081E02DA081B1812D913C91CF0119 -:101A100067EFF901099508950F931F938C01DC017D -:101A2000ED91FC91A081B1812D913C91CF0169EFA5 -:101A3000F9010995D801ED91FC91A081B1812D9119 -:101A40003C91CF0162E0F9010995D801ED91FC913B -:101A5000A081B1812D913C91CF0163E0F9010995FD -:101A60001F910F9108951F93CF93DF93EC018A810B -:101A70008823C9F1CE010E94F20CE881F981A0818E -:101A8000B1812D913C91CF0169E7F9010995E88178 -:101A9000F981A081B1812B813C814D915C91CF0175 -:101AA000F9016081FA010995E881F981A081B1818C -:101AB0002B813C814D915C91CF01F9016181FA014B -:101AC000099512E00AC0EB81FC81E10FF11D6081F4 -:101AD000CE0170E00E94CC0C1F5F8A81181798F32A -:101AE000CE010E94FF0CDF91CF911F910895FC0160 -:101AF000A081B181ED91FC9111970480F581E02DD9 -:101B0000CD0109950895EF92FF920F931F938C01D9 -:101B10007A01DC01ED91FC91A081B1816F70606E62 -:101B20002D913C91CF01F9010995C801B7010E949F -:101B3000CC0C1F910F91FF90EF900895EF92FF92C0 -:101B40000F931F937C018A01DC01ED91FC91A08130 -:101B5000B1816F7060692D913C91CF01F9010995B8 -:101B6000D701ED91FC91A081B181602F6F772D910C -:101B70003C91CF01F9010995D701ED91FC91A0812C -:101B8000B181000F012F001F110B2D913C91CF014E -:101B9000602FF90109951F910F91FF90EF90089523 -:101BA000DF92EF92FF920F931F93CF93DF93EC019D -:101BB000162FD42E022FF32E0E94F20CE881F98109 -:101BC000A081B1812D913C91CF01612FF90109953F -:101BD000202F3F2DC9017C0110E008C0F701619161 -:101BE0007F01CE0170E00E94CC0C1F5F1D15B0F389 -:101BF000CE010E94FF0CDF91CF911F910F91FF90BA -:101C0000EF90DF900895FC010190F081E02DA0811C -:101C1000B1812D913C91CF01F90109950895FC0105 -:101C2000603DA9F0613D28F4603959F0603CA1F4B1 -:101C30000BC0603E19F0643F79F40CC054A743A771 -:101C4000089556A745A7089550AB47A7089552ABEE -:101C500041AB089554AB43AB0895FC016F3F11F4C1 -:101C600056AB45AB0895FC0152AF41AF0895FC015E -:101C7000158216821782DC0180E018961C92189754 -:101C80008F5F11968032C9F710A612A611A605A87B -:101C9000F6A9E02D309709F009950895FC0112820C -:101CA000148213820E94370E089584E793E00E9405 -:101CB0004E0E08954F925F926F927F928F929F92F5 -:101CC000AF92BF92CF92DF92EF92FF920F93DF938A -:101CD000CF9300D0CDB7DEB72B017A013A832983A9 -:101CE0008DE061E00E94221300E089819A813C012D -:101CF000882477FC8094982C5701CC24B7FCC0949E -:101D0000DC2C11C0C401B3010E9402128DE061E01D -:101D10000E946113C601B5010E9402128DE060E0CD -:101D20000E9461130F5F802F90E08415950554F396 -:101D30000F900F90CF91DF910F91FF90EF90DF9078 -:101D4000CF90BF90AF909F908F907F906F905F905B -:101D50004F9008950F931F938C018DE061E00E94D6 -:101D60002213C80162E070E048E250E022ED30E06A -:101D70000E945A0E6AEF70E080E090E00E9402122A -:101D8000C80163E070E048E250E022ED30E00E94DC -:101D90005A0E6DE770E080E090E00E9402121F9101 -:101DA0000F9108959A01FA0101900020E9F7319707 -:101DB000E41BF50B4E2F0E94D00D0895AB0161E797 -:101DC0000E94D20E08951F93CF93DF93EC01888574 -:101DD000813731F0893789F5CE010E94330D36C045 -:101DE0008FA998AD892B91F189A59AA5019762E0F9 -:101DF00070E00E946A16162F862F90E00E946B10EA -:101E0000AC01DC0121E030E011C0FE01E20FF11D68 -:101E100090859C932F5FFE01E20FF11D80858795D1 -:101E200088278795890F8D932F5F3F5F311768F360 -:101E3000EFA9F8ADCA01099509C0E9ADFAAD30972F -:101E400029F069A561502996AE010995DF91CF91DE -:101E50001F910895CF93DF93EC01A881B981ED9193 -:101E6000FC9111970680F781E02DCD010995AC0119 -:101E700088A5882391F0473F510529F418A6CE0183 -:101E80000E94E30E93C089A59AA5FE01E80FF91FF1 -:101E9000408701969AA789A789C08D81882309F474 -:101EA00046C0403851050CF042C081508D83FE0180 -:101EB000E80FF11D4087882309F078C08E818823C0 -:101EC00009F474C0803D49F1813D28F4803959F00E -:101ED000803C59F51FC0803E19F0843F31F513C096 -:101EE000EBA5FCA502C0EDA5FEA53097F1F0688535 -:101EF00070E07695762F6627779567958985680FC8 -:101F0000711D8F8111C0EBA9FCA9309771F0688514 -:101F1000898509C0EFA5F8A902C0E9A9FAA93097F7 -:101F200021F068858F8170E009951E823FC0403F97 -:101F3000510514F09A0106C09A01207F3070842F59 -:101F40008F708F83203E3105F1F0213E310554F42E -:101F5000203C3105D1F0203D3105B9F02039310563 -:101F600029F511C0243F310571F0253F310524F4D6 -:101F7000203F3105D9F40DC0293F310599F02F3F9D -:101F80003105A1F40BC082E001C081E08D832E8376 -:101F90000DC081E088A71AA619A608C0CE010E942C -:101FA000370E04C084E793E00E940C0DDF91CF91BF -:101FB0000895AF92BF92CF92DF92EF92FF920F936C -:101FC0001F93CF93DF938C01D62EC72EB42EA22E53 -:101FD000862F972F61EB71E00E94A900EC018D2DF7 -:101FE0009C2D6FE270E00E949E00209779F07C01AA -:101FF0000894E11CF11CE114F10441F09E012E5FF4 -:10200000822F8E19D80112968C930FC0AD2DBC2D46 -:10201000FD0101900020E9F7ED19EF5FD80112965C -:10202000EC932D2D3C2DC9017C01F8018381948115 -:102030000E940811D80112968C9190E00E946B10BA -:10204000FC01D80114969C938E93139712968C9151 -:102050001297E80FF11D10821396ED91FC911497E1 -:10206000B0821396ED91FC911497A18213968D91F5 -:102070009C91149712964C9150E042505040029619 -:10208000B7010E948F00DF91CF911F910F91FF90B8 -:10209000EF90DF90CF90BF90AF900895EF92FF92B6 -:1020A0000F931F938C0130E4E32E34E0F32EC7012D -:1020B0000E943F14F801F182E082C8010E94AA0E3A -:1020C000C8010E940C0DC8010E94330D1F910F9191 -:1020D000FF90EF9008950F931F93CF93DF93BC0170 -:1020E0008230910510F462E070E0E0916404F091B8 -:1020F0006504A0E0B0E040E050E024C08081918120 -:1021000086179707D0F08617970771F4828193811D -:10211000109729F013969C938E9312972CC090934E -:1021200065048093640427C04115510519F0841794 -:10213000950718F4EF018D01AC01DF0182819381D5 -:102140009C01F9013097D1F641155105F9F0CA010A -:10215000861B970B8430910580F48A819B81011541 -:10216000110521F0F8019383828304C090936504E4 -:1021700080936404FE01329645C0FE01E80FF91F0A -:10218000619371930297998388833CC08091620424 -:1021900090916304892B41F48091BB019091BC0123 -:1021A00090936304809362044091BD015091BE01FD -:1021B0004115510541F44DB75EB78091B901909139 -:1021C000BA01481B590B2091620430916304241713 -:1021D0003507B0F4CA01821B930B8617970780F06E -:1021E000AB014E5F5F4F8417950750F0420F531FAE -:1021F0005093630440936204F9016193719302C0A8 -:10220000E0E0F0E0CF01DF91CF911F910F910895B1 -:10221000CF93DF939C01009709F48FC0EC012297C4 -:102220001B821A82609164047091650461157105C6 -:1022300081F488819981820F931F209162043091EB -:1022400063042817390739F5D0936304C0936204F7 -:1022500074C0DB0140E050E0AC17BD0708F1BB8360 -:10226000AA83FE0121913191E20FF31FAE17BF0740 -:1022700079F48D919C911197280F391F2E5F3F4F54 -:102280003983288312968D919C9113979B838A831F -:102290004115510571F4D0936504C09364044DC099 -:1022A00012968D919C911397AD01009711F0DC016E -:1022B000D3CFDA011396DC93CE931297FA012191D2 -:1022C0003191E20FF31FCE17DF0769F488819981FE -:1022D000280F391F2E5F3F4FFA01318320838A81F7 -:1022E0009B8193838283E0E0F0E0DB0112968D9185 -:1022F0009C911397009719F0BC01FD01F6CFAB013B -:102300004E5F5F4FDB018D919C91840F951F209153 -:102310006204309163042817390779F4309729F45F -:10232000109265041092640402C01382128242501B -:1023300050405093630440936204DF91CF9108951D -:102340001F920F920FB60F9211242F933F934F932A -:102350005F936F937F938F939F93AF93BF932091DE -:10236000B3033091B4034091B5035091B60370911B -:10237000B703DA01C9010296A11DB11D672F6A5F7B -:102380006D3730F06D57DA01C9010396A11DB11DFB -:102390006093B7038093B3039093B403A093B50302 -:1023A000B093B6038091AF039091B003A091B103B5 -:1023B000B091B2030196A11DB11D8093AF0390931C -:1023C000B003A093B103B093B203BF91AF919F91BB -:1023D0008F917F916F915F914F913F912F910F90CE -:1023E0000FBE0F901F9018958FB7F8942091B303EC -:1023F0003091B4034091B5035091B6038FBFB9013A -:10240000CA0108959B01AC017FB7F8948091AF0396 -:102410009091B003A091B103B091B20366B5A89BAF -:1024200005C06F3F19F00196A11DB11D7FBFBA2FE6 -:10243000A92F982F8827860F911DA11DB11D63E03C -:10244000880F991FAA1FBB1F6A95D1F7BC012DC029 -:10245000FFB7F8948091AF039091B003A091B103BE -:10246000B091B203E6B5A89B05C0EF3F19F0019605 -:10247000A11DB11DFFBFBA2FA92F982F88278E0F3E -:10248000911DA11DB11DE3E0880F991FAA1FBB1F5D -:10249000EA95D1F7861B970B885E9340C8F22150CE -:1024A00030404040504068517C4F21153105410576 -:1024B000510571F60895019739F0019729F0880FB9 -:1024C000991F01970197F1F70895789484B5826078 -:1024D00084BD84B5816084BD85B5826085BD85B5C8 -:1024E000816085BDEEE6F0E0808181608083E1E877 -:1024F000F0E01082808182608083808181608083AF -:10250000E0E8F0E0808181608083E1EBF0E08081B1 -:1025100084608083E0EBF0E0808181608083EAE783 -:10252000F0E080818460808380818260808380810C -:10253000816080838081806880831092C1000895CB -:10254000982F8E3008F09E5097708091BF01829531 -:10255000880F880F807C892B80937C0080917A0083 -:10256000806480937A0080917A0086FDFCCF209170 -:10257000780040917900942F80E030E0282B392BAF -:10258000C90108951F93CF93DF93182FEB0161E0EA -:102590000E942213209709F44AC0CF3FD10509F4C5 -:1025A00049C0E12FF0E0E255FF4F84918330C1F044 -:1025B000843028F4813051F08230B1F50CC086307F -:1025C00019F1873049F1843079F514C084B58068F9 -:1025D00084BDC7BD33C084B5806284BDC8BD2EC074 -:1025E00080918000806880938000D0938900C093A0 -:1025F000880024C080918000806280938000D09306 -:102600008B00C0938A001AC08091B00080688093CC -:10261000B000C093B30012C08091B000806280937C -:10262000B000C093B4000AC0C038D1051CF4812F9B -:1026300060E002C0812F61E00E946113DF91CF91C1 -:102640001F910895CF93DF93482F50E0CA0186561B -:102650009F4FFC0134914A575F4FFA0184918823C0 -:1026600069F190E0880F991FFC01E859FF4FA5918F -:10267000B491FC01EE58FF4FC591D491662351F4FB -:102680002FB7F8948C91932F909589238C93888100 -:1026900089230BC0623061F42FB7F8948C91932F8B -:1026A000909589238C938881832B88832FBF06C0C4 -:1026B0009FB7F8948C91832B8C939FBFDF91CF9120 -:1026C0000895482F50E0CA0182559F4FFC01249184 -:1026D000CA0186569F4FFC0194914A575F4FFA01F9 -:1026E0003491332309F440C0222351F1233071F097 -:1026F000243028F42130A1F0223011F514C0263006 -:10270000B1F02730C1F02430D9F404C080918000AA -:102710008F7703C0809180008F7D8093800010C0F0 -:1027200084B58F7702C084B58F7D84BD09C0809148 -:10273000B0008F7703C08091B0008F7D8093B00090 -:10274000E32FF0E0EE0FFF1FEE58FF4FA591B4917D -:102750002FB7F894662321F48C919095892302C0B9 -:102760008C91892B8C932FBF089508951F920F92FF -:102770000FB60F9211242F933F934F938F939F93F4 -:10278000EF93FF938091C00082FD1DC04091C60071 -:102790002091F8033091F9032F5F3F4F2F73307072 -:1027A0008091FA039091FB032817390771F0E091AB -:1027B000F803F091F903E854FC4F40833093F90398 -:1027C0002093F80302C08091C600FF91EF919F9182 -:1027D0008F914F913F912F910F900FBE0F901F90AF -:1027E0001895E0914C04F0914D04E05CFF4F81910D -:1027F000919120813181821B930B8F739070892B73 -:1028000011F00E94B51308951F920F920FB60F9208 -:1028100011242F933F938F939F93EF93FF932091D6 -:102820003C0430913D0480913E0490913F04281770 -:10283000390731F48091C1008F7D8093C10014C0AD -:10284000E0913E04F0913F04E450FC4F20818091E0 -:102850003E0490913F0401968F73907090933F04D3 -:1028600080933E042093C600FF91EF919F918F913A -:102870003F912F910F900FBE0F901F901895AF9220 -:10288000BF92DF92EF92FF920F931F93CF93DF934C -:10289000EC017A018B01DD24D39491E0A92EB12CB7 -:1028A000EC89FD89DD2069F0C50108A002C0880F10 -:1028B000991F0A94E2F7808360E874E88EE190E063 -:1028C00005C0108260E472E48FE090E0A8019701F7 -:1028D0000E947D162150304040405040569547950B -:1028E0003795279580E12030380720F0DD2011F062 -:1028F000DD24D6CFE889F9893083EA89FB892083F2 -:1029000019A2EE89FF89408121E030E0C9010C8CD9 -:1029100002C0880F991F0A94E2F7482B4083EE8982 -:10292000FF894081C9010D8C02C0880F991F0A944C -:10293000E2F7482B4083EE89FF894081C9010E8C64 -:1029400002C0880F991F0A94E2F7482B4083EE8952 -:10295000FF8980810F8C02C0220F331F0A94E2F797 -:10296000209528232083DF91CF911F910F91FF9015 -:10297000EF90DF90BF90AF900895DC011C96ED9131 -:10298000FC911D97E05CFF4F2191319180819181F5 -:10299000281B390B2F733070C9010895DC011C9678 -:1029A000ED91FC911D97E05CFF4F20813181E05457 -:1029B000F040DF01AE5BBF4F8D919C9111972817BE -:1029C000390719F42FEF3FEF07C08D919C91E80F65 -:1029D000F91F8081282F30E0C9010895DC011C9681 -:1029E000ED91FC911D97E05CFF4F20813181E05417 -:1029F000F040DF01AE5BBF4F8D919C91119728177E -:102A0000390719F42FEF3FEF10C08D919C9111976A -:102A1000E80FF91F20818D919C91119701968F737A -:102A2000907011969C938E9330E0C9010895DC015B -:102A300091968C919197882339F05496ED91FC9161 -:102A40005597808186FFF9CF91961C920895CF9378 -:102A5000DF93EC01EE85FF85E05CFF4F2081318143 -:102A6000E054F0402F5F3F4F2F733070DF01AE5BBB -:102A7000BF4F8D919C91119728173907D1F3E05CD6 -:102A8000FF4F80819181E054F040E80FF91F60838F -:102A9000EE85FF85E05CFF4F31832083EE89FF895F -:102AA000208181E090E00F8C02C0880F991F0A946A -:102AB000E2F7282B208381E089A3EC89FD898081BE -:102AC0008064808381E090E0DF91CF91089510923F -:102AD00043041092420488EE93E0A0E0B0E08093BB -:102AE000440490934504A0934604B093470484EDB6 -:102AF00091E0909341048093400488EB93E090939D -:102B00004D0480934C048CEF93E090934F0480939A -:102B10004E0485EC90E0909351048093500484EC33 -:102B200090E0909353048093520480EC90E0909353 -:102B300055048093540481EC90E090935704809363 -:102B4000560482EC90E0909359048093580486ECEC -:102B500090E090935B0480935A0484E080935C043B -:102B600083E080935D0487E080935E0485E080933A -:102B70005F0481E0809360040895CF93DF930E9407 -:102B800065120E943403C1EFD3E10E944C042097E8 -:102B9000E1F30E94F113F9CFCF92DF92EF92FF920F -:102BA0000F931F93CF93DF937C016B018A01C0E0E9 -:102BB000D0E00FC0D6016D916D01D701ED91FC9170 -:102BC0000190F081E02DC7010995C80FD91F015070 -:102BD00010400115110571F7CE01DF91CF911F91C2 -:102BE0000F91FF90EF90DF90CF9008952F923F923A -:102BF0004F925F926F927F928F929F92AF92BF920D -:102C0000CF92DF92EF92FF920F931F93DF93CF93B8 -:102C1000CDB7DEB73B014C0119012A016D897E89D0 -:102C20008F89988D6A197B098C099D09621A730A2C -:102C3000840A950AA40193010E943F16E218F30842 -:102C400004091509A80197010E949F162A0D3B1D32 -:102C50004C1D5D1DB901CA01CF91DF911F910F91EC -:102C6000FF90EF90DF90CF90BF90AF909F908F90AC -:102C70007F906F905F904F903F902F900895629F4C -:102C8000D001739FF001829FE00DF11D649FE00D64 -:102C9000F11D929FF00D839FF00D749FF00D659FC5 -:102CA000F00D9927729FB00DE11DF91F639FB00DC4 -:102CB000E11DF91FBD01CF0111240895991B79E091 -:102CC00004C0991F961708F0961B881F7A95C9F7BC -:102CD0008095089597FB092E07260AD077FD04D02A -:102CE00049D006D000201AF4709561957F4F089561 -:102CF000F6F7909581959F4F0895A1E21A2EAA1B91 -:102D0000BB1BFD010DC0AA1FBB1FEE1FFF1FA2179B -:102D1000B307E407F50720F0A21BB30BE40BF50B98 -:102D2000661F771F881F991F1A9469F76095709521 -:102D3000809590959B01AC01BD01CF01089597FB53 -:102D4000092E05260ED057FD04D0D7DF0AD0001C6F -:102D500038F450954095309521953F4F4F4F5F4F38 -:102D60000895F6F790958095709561957F4F8F4FF8 -:102D70009F4F0895AA1BBB1B51E107C0AA1FBB1F91 -:102D8000A617B70710F0A61BB70B881F991F5A95F7 -:102D9000A9F780959095BC01CD010895EE0FFF1F16 -:0C2DA0000590F491E02D0994F894FFCF09 -:102DAC00556E6B6E6F776E2070696E206D6F6465FB -:102DBC00005374616E646172644669726D61746112 -:102DCC002E696E6F00493243205265616420457252 -:102DDC00726F723A20546F6F206D616E7920627938 -:102DEC007465732072656365697665640049324366 -:102DFC002052656164204572726F723A20546F6F75 -:102E0C0020666577206279746573207265636569E5 -:102E1C007665640031302D6269742061646472657A -:102E2C007373696E67206D6F6465206973206E6FB4 -:102E3C00742079657420737570706F72746564009A -:102E4C00746F6F206D616E79207175657269657331 -:102E5C00002E637070001300FF80006604000001F8 -:102E6C0000000000010AD00989099209A709B809D4 -:102E7C00000000002715CC15BD14EE14CE14171548 -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/uno/Blink.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/uno/Blink.cpp.hex deleted file mode 100644 index 2f8308b1..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/uno/Blink.cpp.hex +++ /dev/null @@ -1,66 +0,0 @@ -:100000000C945C000C946E000C946E000C946E00CA -:100010000C946E000C946E000C946E000C946E00A8 -:100020000C946E000C946E000C946E000C946E0098 -:100030000C946E000C946E000C946E000C946E0088 -:100040000C9488000C946E000C946E000C946E005E -:100050000C946E000C946E000C946E000C946E0068 -:100060000C946E000C946E00000000080002010069 -:100070000003040700000000000000000102040863 -:100080001020408001020408102001020408102002 -:10009000040404040404040402020202020203032E -:1000A0000303030300000000250028002B000000CC -:1000B0000000240027002A0011241FBECFEFD8E043 -:1000C000DEBFCDBF21E0A0E0B1E001C01D92A930AC -:1000D000B207E1F70E94F1010C9401020C940000B8 -:1000E00061E08DE00C94810161E08DE00E94BA0135 -:1000F00068EE73E080E090E00E94F50060E08DE043 -:100100000E94BA0168EE73E080E090E00C94F50084 -:100110001F920F920FB60F9211242F933F938F933C -:100120009F93AF93BF938091010190910201A091A1 -:100130000301B09104013091000123E0230F2D371A -:1001400020F40196A11DB11D05C026E8230F0296DB -:10015000A11DB11D20930001809301019093020124 -:10016000A0930301B09304018091050190910601D1 -:10017000A0910701B09108010196A11DB11D8093C6 -:10018000050190930601A0930701B0930801BF9168 -:10019000AF919F918F913F912F910F900FBE0F9034 -:1001A0001F9018953FB7F894809105019091060132 -:1001B000A0910701B091080126B5A89B05C02F3F6B -:1001C00019F00196A11DB11D3FBF6627782F892F19 -:1001D0009A2F620F711D811D911D42E0660F771FDE -:1001E000881F991F4A95D1F70895CF92DF92EF9219 -:1001F000FF92CF93DF936B017C010E94D200EB0151 -:10020000C114D104E104F10489F00E9400020E94AB -:10021000D2006C1B7D0B683E734090F381E0C81ADE -:10022000D108E108F108C851DC4FEACFDF91CF9146 -:10023000FF90EF90DF90CF900895789484B582601E -:1002400084BD84B5816084BD85B5826085BD85B57A -:10025000816085BDEEE6F0E0808181608083E1E829 -:10026000F0E0108280818260808380818160808361 -:10027000E0E8F0E0808181608083E1EBF0E0808164 -:1002800084608083E0EBF0E0808181608083EAE736 -:10029000F0E08081846080838081826080838081BF -:1002A000816080838081806880831092C10008957E -:1002B000833081F028F4813099F08230A1F00895E4 -:1002C0008730A9F08830B9F08430D1F48091800073 -:1002D0008F7D03C0809180008F7780938000089588 -:1002E00084B58F7702C084B58F7D84BD08958091D9 -:1002F000B0008F7703C08091B0008F7D8093B000F5 -:100300000895CF93DF9390E0FC01E458FF4F2491D0 -:10031000FC01E057FF4F8491882349F190E0880F5A -:10032000991FFC01E255FF4FA591B4918C559F4F49 -:10033000FC01C591D4919FB7611108C0F8948C91CC -:10034000209582238C93888182230AC0623051F4E5 -:10035000F8948C91322F309583238C938881822B53 -:10036000888304C0F8948C91822B8C939FBFDF917B -:10037000CF9108950F931F93CF93DF931F92CDB723 -:10038000DEB7282F30E0F901E859FF4F8491F901D9 -:10039000E458FF4F1491F901E057FF4F04910023F7 -:1003A000C9F0882321F069830E9458016981E02FF8 -:1003B000F0E0EE0FFF1FEC55FF4FA591B4919FB7F2 -:1003C000F8948C91611103C01095812301C0812B99 -:1003D0008C939FBF0F90DF91CF911F910F91089544 -:1003E00008950E941D010E94F0010E947000C0E06B -:1003F000D0E00E9474002097E1F30E940000F9CF42 -:060400000895F894FFCFFF -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/junk/hex/uno/StandardFirmata.cpp.hex b/res-pc/node_modules/avrgirl-arduino/junk/hex/uno/StandardFirmata.cpp.hex deleted file mode 100644 index 001cd1ce..00000000 --- a/res-pc/node_modules/avrgirl-arduino/junk/hex/uno/StandardFirmata.cpp.hex +++ /dev/null @@ -1,764 +0,0 @@ -:100000000C9474000C949C000C949C000C949C0028 -:100010000C949C000C949C000C949C000C949C00F0 -:100020000C949C000C949C000C949C000C949307E2 -:100030000C949C000C949C000C949C000C949C00D0 -:100040000C9445100C949C000C9485130C94B713DD -:100050000C949C000C949C000C949C000C949C00B0 -:100060000C94570B0C949C00D906F5061706F50660 -:100070008006F506F505A205F506F506F506F50672 -:10008000F506B904F5068805F506DC05000000084C -:10009000000201000003040700000000000000004F -:1000A000010204081020408001020408102001020F -:1000B00004081020040404040404040402020202DC -:1000C00002020303030303030000000025002800CD -:1000D0002B0000000000240027002A001E04750ADF -:1000E00036103A10E713701411241FBECFEFD8E07A -:1000F000DEBFCDBF11E0A0E0B1E0E6ECFEE202C061 -:1001000005900D92AC3DB107D9F724E0ACEDB1E01C -:1001100001C01D92AC3AB207E1F710E0C8EED0E0A2 -:1001200004C02297FE010E94E815CC3DD107C9F713 -:100130000E9480140C9461170C940000833008F026 -:1001400062C0482F440F440F440F485F453108F008 -:1001500044E1582F550F550F550F90E071E054179B -:10016000E8F42EEF250F2231B0F4E52FF0E0DF01A7 -:10017000A756BD4F2C91223070F4972BEE0FFF1F26 -:10018000E259FD4F21E030E0A72FA62311F420E033 -:1001900030E031832083770F5F5FE1CF81110AC0A8 -:1001A0009C7FF8942BB1892F809582239623892BED -:1001B0008BB928C08130C9F46923F89425B1892FFF -:1001C0008F7380958223262F2F73822B85B988B158 -:1001D00062956695669563709295969596959370DF -:1001E00090959823692B68B90DC09F70F89428B139 -:1001F000892F880F880F809582236923660F660FE9 -:10020000862B88B9789408950F931F93CF93DF932B -:10021000EB01843180F5082F10E0F801E756FD4F1F -:1002200090819330A1F0943031F582508231E0F426 -:10023000F801E551FE4F208130E0C901880F991F78 -:10024000820F931F81509E4F0E9430090DC0833052 -:1002500041F09BEF980F923020F097EF980F93307A -:1002600018F4BE010E944911F801EE0FFF1FE25978 -:10027000FD4FD183C083DF91CF911F910F910895DE -:10028000CF93C82F863058F54091B3025091B402F5 -:1002900021E030E0082E02C0220F331F0A94E2F75B -:1002A000672B49F420953095242335233093B402ED -:1002B0002093B30214C0242B352B3093B402209327 -:1002C000B3028091DC0181110AC08C2F0E942C1195 -:1002D000AC016C2F8BE993E0CF910C94FF0DCF9183 -:1002E0000895DB019A019091DD019C30D0F5409199 -:1002F000DE01682F70E0442369F0E42FF0E0E25261 -:10030000FE4F8081FB01E551FE4F808341504093B9 -:10031000DE0107C0FB01E551FE4F90839F5F909384 -:10032000DD01FB01E551FE4F1A161B067CF4121687 -:10033000130664F4408150E0CA01880F991F840FAE -:10034000951FAD0181509E4F0C946B08208130E0C9 -:10035000C901880F991F820F931F81509E4F0C94E3 -:10036000E9086EE071E08BE993E00C948E0ECF9378 -:10037000DF93C82FD0E0C551DE4F288130E0C9019E -:10038000880F991F820F931F81509E4F0E94EF0884 -:1003900088819091DD01891306C0882379F081500E -:1003A0008093DD010BC0992349F0E091DE01EF5FFE -:1003B000E093DE01F0E0E252FE4F80838FEF88830E -:1003C000DF91CF9108951F93CF93DF93162FC82FFE -:1003D000D0E0FE01EA56FD4F90811923C355DD4F51 -:1003E000411103C09881911741F0412F50E0682FCF -:1003F0008BE993E00E94180E1883DF91CF911F9133 -:100400000895833020F5282F30E0F901E055FD4FA5 -:100410006083672BE1F0F901EA56FD4F908181116D -:1004200003C069B16C7F0FC0813049F463B126B15C -:1004300040E4249F900111246F73622B04C066B1C5 -:100440006C7366956695692341E00C94E301089509 -:100450008091B002882349F069B1809196026823A7 -:100460006C7F40E080E00E94E3018091B10288232C -:1004700079F063B186B120E4829FC00111246F73CB -:10048000682B80919702682340E081E00E94E3019D -:100490008091B202882359F066B16C7366956695B7 -:1004A00080919802682340E082E00C94E301089573 -:1004B000109225028FEF80930A010895AF92BF92A8 -:1004C000DF92EF92FF920F931F93CF93DF9300D0B1 -:1004D000CDB7DEB7D82E5B01E82EF12C8701075689 -:1004E0001D4FF80180818F3709F402C1863049F42D -:1004F00080912502882329F06630710511F00E9451 -:1005000058024EEF4D0D4231C0F484E0A816B104FC -:10051000A1F0F701E551FE4F20812C3070F430E05E -:10052000C901880F991F820F931F81509E4F4A83E4 -:100530000E9495094A818111C3C092EF9D0D9630AA -:1005400078F461E070E0E2E0AE16B10411F060E032 -:1005500070E0892F4A8399830E94400199814A81E2 -:100560004231D8F4ED2DE695E695E6958D2D877010 -:10057000F0E0EA56FD4F21E030E0082E01C0220FE6 -:100580000A94EAF7A114B10421F48081822B8083BC -:1005900004C02095808128232083F701EE0FFF1FE0 -:1005A000E259FD4F11821082F2E0AF16B104A1F0C2 -:1005B0003CF4A114B104F9F0AA94AB2851F16FC036 -:1005C000F4E0AF16B10409F448C084F1E6E0AE16D9 -:1005D000B10409F45CC063C0963008F089C04231B0 -:1005E00040F460E08D2D0E94D11160E08D2D0E94BD -:1005F0000A1282E051C0423108F07AC060E08D2DCD -:100600000E94D11160E08D2D0E940A12F801108223 -:100610006FC0423108F06CC060E08D2D0E940A125C -:1006200061E08D2D0E94D11181E036C0F3E0DF162C -:1006300049F08BEF8D0D823028F087EF8D0D8330E0 -:1006400008F056C061E08D2D0E94D11160E070E08D -:100650008D2D0E94491183E01FC0423108F048C02F -:1006600084E0F8018083F701E551FE4F80818F3FE0 -:1006700069F190E09C01220F331F280F391FC90137 -:1006800081509E4F0E949509811132C01FC08EEE8D -:100690008D0D823068F586E0F801808329C062E222 -:1006A00071E08BE993E00F900F90DF91CF911F9154 -:1006B0000F91FF90EF90DF90BF90AF900C948E0E53 -:1006C0008D2D4A830E94B7014A8137CF4FEF5FEFEC -:1006D0006FEF7FEF8D2D0F900F90DF91CF911F91D6 -:1006E0000F91FF90EF90DF90BF90AF900C9471014D -:1006F0000F900F90DF91CF911F910F91FF90EF908E -:10070000DF90BF90AF900895CF93C0E08EEE8C0F36 -:10071000823028F466E070E08C2F0E945E02CF5F8A -:10072000C431A1F781E0809325028BED92E0CF9157 -:100730000C943B0A0F931F93CF93DF9381E0809338 -:10074000DC018091250281110E9458021092B002B2 -:10075000109296021092AD021092B102109297027E -:100760001092AE021092B202109298021092AF0252 -:10077000CBEED1E010E00FEF82EF810F863018F45E -:1007800062E070E002C061E070E0812F0E945E02D2 -:1007900009931F5F143181F71092B4021092B302D3 -:1007A0001092DE011092DD011092DC01DF91CF91F9 -:1007B0001F910F91089524E042E063E371E08BE91B -:1007C00093E00E94260D44E051E060EE8BE993E057 -:1007D0000E949C0E4EE950E060E98BE993E00E9494 -:1007E0009C0E40E451E060EC8BE993E00E949C0E8B -:1007F00041E052E060ED8BE993E00E949C0E4EE5F3 -:1008000052E064EF8BE993E00E949C0E45EA54E0CD -:1008100060EF8BE993E00E94C70E4AE953E06FEF67 -:100820008BE993E00E94BF0E40E051EE60E070E083 -:100830008BE993E00E941F100C949A03CF93DF93EF -:10084000CFEFD1E0CE010E944F08239682E0C33261 -:10085000D807C1F7DF91CF910895682F8BED92E013 -:100860000C94FC098BED92E00E94AC090895DF9294 -:10087000EF92FF920F931F93CF93DF93F82EEB012C -:10088000D42E6F3F8FEF7807A9F06F2D8BED92E09C -:100890000E94550A8C2F0E942D048BED92E00E943D -:1008A000720A8091230290912402009729F00E94FD -:1008B000E61002C0C0E0D0E04D2D6F2D8BED92E030 -:1008C0000E94520A0D2D10E08BED92E00E94A409C7 -:1008D000081719071CF467E471E009C08BED92E07A -:1008E0000E94A4098017910734F464E671E08BE953 -:1008F00093E00E948E0EF0922602C093270268E2D7 -:10090000E62E62E0F62EC0E0D0E0C017D10784F0FA -:1009100042E04D0D26E232E067E78BE993E0DF919C -:10092000CF911F910F91FF90EF90DF900C94460EA6 -:100930008BED92E00E94A409892B51F30E943204AE -:10094000F70181937F012196E0CFEF92FF920F9301 -:100950001F93CF93DF93162FEA0190E0FC01E95635 -:10096000F109E231F10508F040C2EC5CFF4F0C9454 -:10097000E6158981982F987185FF03C060E871E0C2 -:1009800056C08881983071F148F491112EC2682FB9 -:100990008BED92E00E94550A02E007C0903109F405 -:1009A00040C0983109F471C020C2011768F4FE01FB -:1009B000E00FF11D9181808120E8929F8019112420 -:1009C0000E942D040E5FF1CF8BED92E00E94720A1F -:1009D00086E490E0DF91CF911F910F91FF90EF900F -:1009E0000C94E6104A816B81163069F430E8639FFD -:1009F000B0011124640F711D9D814C8150E8959FB9 -:100A00004019112406C090E8699F401911246FEF26 -:100A10007FEFDF91CF911F910F91FF90EF900C949A -:100A20003704E0910A01E73064F060EA71E08BE995 -:100A300093E0DF91CF911F910F91FF90EF900C9475 -:100A40008E0E9A812B81F0E8663061F42F9F900121 -:100A50001124290F311D4D819C8150E8459F90192B -:100A6000112405C02F9F901911242FEF3FEFEF5F46 -:100A7000E0930A0144E0E402F0011124EA5BFD4F37 -:100A80008083328321839383B0C150910A0115166C -:100A900034F440E0252F332727FD30950EC08FEF2B -:100AA00080930A01A2C1EE0FFF1FEE0FFF1FEA5B4A -:100AB000FD4F9081981719F14F5FE42FF0E02E174A -:100AC0003F078CF740E01BC04830C0F4DF01AA0F9D -:100AD000BB1FAA0FBB1FA65BBD4F8C91EE0FFF1F64 -:100AE000EE0FFF1FEA5BFD4F808311968D919C9165 -:100AF00012979283818313968C9183834F5FE42FA7 -:100B0000F0E02E173F0704F7515050930A016DC1D2 -:100B10002881898150E8859FC0011124820F911D91 -:100B2000009721F090932402809323028091250264 -:100B300081115BC1DF91CF911F910F91FF90EF90D9 -:100B40000C948403653008F450C118810981FA803F -:100B5000EB80CC818EEF810F823108F046C1E12F0E -:100B6000F0E0E551FE4FE081EC3060F4F0E0CF01C1 -:100B7000880F991F8E0F9F1F81509E4F0E949509CD -:100B800081112FC180E8C89FA00111244E0D511D75 -:100B900090E8F99EB0011124600F711D812F0E9411 -:100BA000710164E070E0812FDF91CF911F910F916F -:100BB000FF90EF900C945E02623008F416C1288119 -:100BC0008981E0E88E9FC0011124820F911D9093CE -:100BD0000C0180930B010A9708F007C18AE090E0AE -:100BE00090930C0180930B0100C1623008F4FDC0AA -:100BF000698170E0123091F08A81F0E88F9FC00126 -:100C00001124682B792B133049F08B8190E090E40C -:100C1000899F902D88271124682B792B8881DF915B -:100C2000CF911F910F91FF90EF900C94040160EF12 -:100C30008BE993E00E94920E6CE68BE993E00E94B0 -:100C4000920ECEEF84EF8C0F863058F462E08BE981 -:100C500093E00E94920E6AE08BE993E00E94920E6C -:100C60000DC0C13059F463E08BE993E00E94920E0D -:100C700068E08BE993E00E94920E08C08DEF8C0F24 -:100C8000823088F389EF8C0F833068F3C23150F4DF -:100C900064E08BE993E00E94920E6EE08BE993E0B2 -:100CA0000E94920E80EF8C0F823050F466E08BE948 -:100CB00093E00E94920E61E08BE993E00E94920E15 -:100CC0006FE78BE993E00E94920ECF5FC23169F12A -:100CD000C23108F0B7CF60E08BE993E00E94920E3A -:100CE00061E08BE993E00E94920E61E08BE993E072 -:100CF0000E94920E61E08BE993E00E94920EA2CFD7 -:100D0000662309F472C0C88160EF8BE993E00E940A -:100D1000920E6EE68BE993E00E94920E6C2F8BE9A7 -:100D200093E00E94920EC43158F067EF8BE993E094 -:100D3000DF91CF911F910F91FF90EF900C94920E45 -:100D4000D0E0FE01E756FD4F60818BE993E00E9401 -:100D5000920ECC0FDD1F8E0102591D4FF8016081EC -:100D60006F778BE993E00E94920EF80160817181A8 -:100D7000CB018078892B49F0660F672F661F770BB0 -:100D80006F778BE993E00E94920EC259DD4F688124 -:100D90007981CB018827907C892B39F2770F660BFC -:100DA000770F762F661F6F778BE993E00E94920E84 -:100DB000BCCF60EF8BE993E00E94920E6AE68BE96C -:100DC00093E00E94920EC2EFC63010F06FE701C0B0 -:100DD0006C2F8BE993E00E94920ECF5FC630A1F793 -:100DE000A4CF812F0E94B701CDCEDF91CF911F916B -:100DF0000F91FF90EF9008958F929F92AF92BF92C4 -:100E0000CF92DF92EF92FF920F931F93CF93DF93D6 -:100E10000E9428028BE993E00E94860D892B29F01D -:100E20008BE993E00E94F20EF5CF0E948F10609341 -:100E30006A0270936B0280936C0290936D02C09073 -:100E40006602D0906702E0906802F09069024091DB -:100E50000B0150910C014A01A12CB12C8B019C017A -:100E60000C191D092E093F0980169106A206B3062A -:100E700008F04CC0D501C4018C0D9D1DAE1DBF1DD9 -:100E80008093660290936702A0936802B093690210 -:100E9000C9E9D2E012EF1630C0F488818230A9F49B -:100EA0002091B3023091B402012E02C035952795EE -:100EB0000A94E2F720FF09C0812F0E942C11AC0197 -:100EC000612F8BE993E00E94FF0D1F5F2196163082 -:100ED00011F780910A0187FD19C0C0E0EC2FF0E006 -:100EE00080910A01992787FD90958E179F0774F0CE -:100EF000EE0FFF1FEE0FFF1FEA5BFD4F6181728156 -:100F0000438180810E943704CF5FE8CFDF91CF918A -:100F10001F910F91FF90EF90DF90CF90BF90AF9017 -:100F20009F908F9008951F920F920FB60F921124E9 -:100F30002F933F934F935F936F937F938F939F93E1 -:100F4000AF93BF93EF93FF938091B60287FF05C0E5 -:100F500010928500109284001AC02091B6023327A7 -:100F600027FD30958091B50290E0281739077CF471 -:100F70008091B602992787FD9095FC01EE0FFF1F27 -:100F8000E80FF91FE954FD4F808186FD15C080915F -:100F9000B6028F5F8093B6022091B602332727FDF9 -:100FA00030958091B50290E028173907BCF4809104 -:100FB000B6028C305CF112C08091B602992787FD91 -:100FC0009095FC01EE0FFF1FE80FF91FE954FD4F4C -:100FD000808160E08F730E940A12D9CF80918400D3 -:100FE00090918500049680349C4918F480E49CE933 -:100FF00005C08091840090918500049690938900AB -:10100000809388008FEF8093B60238C020918400CF -:10101000309185008091B602992787FD9095FC015B -:10102000EE0FFF1FE80FF91FE954FD4F81819281F8 -:10103000820F931F90938900809388008091B6025D -:10104000992787FD9095FC01EE0FFF1FE80FF91F10 -:10105000E954FD4F808186FF11C08091B602992727 -:1010600087FD9095FC01EE0FFF1FE80FF91FE95473 -:10107000FD4F808161E08F730E940A12FF91EF9112 -:10108000BF91AF919F918F917F916F915F914F91A0 -:101090003F912F910F900FBE0F901F9018952091A8 -:1010A000B5022C30A0F431E0320F3093B502FC01D0 -:1010B0002083822F90E0FC01EE0FFF1FE80FF91F45 -:1010C000E954FD4F88EB9BE09283818308952FEFD5 -:1010D000FC0120830895DF92EF92FF920F931F93FC -:1010E000CF93DF93EC01D62E7A01890188818C3071 -:1010F00008F066C061E08D2D0E94D1118881A82F73 -:10110000B0E0FD01EE0FFF1FEA0FFB1FE954FD4F9A -:101110002D2D2F739081907C922B908360E272E052 -:101120006E197F0977FF02C06D5F7F4F75956795D8 -:1011300075956795698340E659E0401B510B57FF51 -:1011400002C04D5F5F4F55954795559547954A832A -:101150006CE00E9499159CE0899FB001112420E069 -:1011600030E0A901460F571FFA01EE0FFF1FE40FF1 -:10117000F51FE954FD4F908196FD16C02F5F3F4F3C -:101180002C30310571F781110FC01092800082E080 -:10119000809381001092850010928400B19A809112 -:1011A0006F00826080936F00888190E0FC01EE0FF9 -:1011B000FF1FE80FF91FE954FD4F80818064808391 -:1011C0008881DF91CF911F910F91FF90EF90DF9079 -:1011D000089520E639E040E252E00C946B08FC01EF -:1011E000808190E0FC01EE0FFF1FE80FF91FE9542A -:1011F000FD4F80818F7B80830895FC0180818C303E -:1012000070F5918128E830E0291B310997FD33956D -:10121000220F331F220F331F621773077CF0928156 -:1012200028E532E0291B310997FD3395220F331F42 -:10123000220F331F621773070CF49B0122503109F0 -:10124000220F331F4FB7F89490E0FC01EE0FFF1F01 -:10125000E80FF91FE954FD4F328321834FBF0895F2 -:101260004F925F926F927F92AF92BF92CF92DF9236 -:10127000EF92FF920F931F93CF93DF93EC016032B5 -:1012800082E078070CF040C077FD06C0653B710531 -:101290002CF064EB70E002C060E070E0898128E827 -:1012A00030E0281B310987FD3395220F331F220FB1 -:1012B000331F5901CC24B7FCC094DC2C882777FD60 -:1012C0008095982F2A8148E552E0421B510927FD5D -:1012D0005395440F551F440F551F2A01662457FC90 -:1012E0006094762C7F926F925F924F9214EBE12E76 -:1012F000F12C00E010E020E030E0A9010E9441154F -:101300000F900F900F900F90CE01DF91CF911F9112 -:101310000F91FF90EF90DF90CF90BF90AF907F90B4 -:101320006F905F904F900C94FD08FC01808190E0DD -:10133000FC01EE0FFF1FE80FF91FE954FD4F8081FC -:1013400086FB882780F9089580910B0390E0209117 -:101350000C03821B9109089520910C0380910B03CB -:10136000281750F4E22FF0E0E35FFC4F808190E01B -:101370002F5F20930C0308958FEF9FEF0895E09166 -:101380000C0380910B03E81730F4F0E0E35FFC4FAF -:10139000808190E008958FEF9FEF08950895CF9298 -:1013A000DF92EF92FF920F931F93CF93DF937C0115 -:1013B000CB018A012091E702222389F0EB016B0126 -:1013C000C40ED51ECC15DD0569F06991D701ED91EC -:1013D000FC910190F081E02DC7010995F3CF642FB6 -:1013E0000E942E0BC801DF91CF911F910F91FF90AA -:1013F000EF90DF90CF900895CF93DF931F92CDB7FA -:10140000DEB769832091E7022223D1F02091E80220 -:10141000203240F021E030E0FC013383228380E081 -:1014200090E015C08091E902E82FF0E0E651FD4F11 -:10143000998190838F5F8093E9028093E80205C0D1 -:1014400061E0CE0101960E942E0B81E090E00F90AA -:10145000DF91CF910895FC011382128248EE53E090 -:1014600060E070E0448355836683778385EB91E089 -:1014700091838083089510920C0310920B031092B5 -:10148000E9021092E8020C94790A862F413208F0A2 -:1014900040E26DE073E00E94970A10920C03809383 -:1014A0000B03089521E00C94450A81E08093E70244 -:1014B00060930A031092E9021092E80208950F93D4 -:1014C000062F21E04091E8026AEE72E080910A0363 -:1014D0000E94DB0A1092E9021092E8021092E702E1 -:1014E0000F91089561E00C945F0A8BED92E00C94EB -:1014F0002B0A10929A0381E080939803109297032D -:1015000061E082E10E940A1261E083E10E940A1216 -:10151000E9EBF0E080818E7F808380818D7F808306 -:1015200088E48093B80085E48093BC00089541323C -:1015300008F03FC090919A039111FCCF91E09093F5 -:101540009A03209398032FEF20932D031092720398 -:10155000240F209371039093990390919903880F1E -:10156000892B8093990380919703813041F41092E5 -:101570009703809199038093BB0085EC01C085EEB1 -:101580008093BC0080919A038130E1F380917203D3 -:10159000841710F44091720323E733E0FB01D90173 -:1015A0008A2F821B841718F48D918193F9CF842F91 -:1015B000089580E008950F93413208F046C090915D -:1015C0009A039111FCCF92E090939A0300939803B1 -:1015D0009FEF90932D031092720340937103FB01D0 -:1015E00063E773E0DB019A2F961B941718F491912F -:1015F0009D93F9CF1092990390919903880F892BAD -:101600008093990380919703813041F4109297035E -:10161000809199038093BB0085EC01C085EE809397 -:10162000BC00222321F080919A038230E1F3809163 -:101630002D038F3F61F080912D03803251F0809116 -:101640002D03803341F483E007C081E005C080E0D2 -:1016500003C082E001C084E00F910895613298F4E4 -:1016600020919A03243089F460934F03FC0181E5B3 -:1016700093E0DC012A2F281B261718F421912D93C3 -:10168000F9CF80E0089581E0089582E0089585ED26 -:101690008093BC008091BC0084FDFCCF10929A0323 -:1016A000089585EC8093BC0010929A0308951F92D0 -:1016B0000F920FB60F9211242F933F934F935F9386 -:1016C0006F937F938F939F93AF93BF93EF93FF930A -:1016D0008091B900887F803609F49CC068F5883213 -:1016E00009F45BC090F4803109F454C038F48823C5 -:1016F00009F4F5C0883009F44DC0F5C0883109F40B -:101700004CC0803209F45DC0EEC0803409F468C07A -:1017100048F4803309F455C0883309F0E4C080935D -:101720002D03A8C0803509F44FC0883509F45DC089 -:10173000883409F0D8C0D5C0883909F4C6C0A8F4E7 -:10174000883709F467C038F4883609F463C08037F5 -:1017500009F460C0C8C0883809F4B7C0803909F4FA -:101760005FC0803809F0BFC05BC0803B09F485C012 -:1017700038F4803A09F466C0883A09F47EC0B3C0F0 -:10178000803C09F4A6C0883C09F4A3C0883B09F456 -:1017900089C0A9C08091990310C090917203809173 -:1017A0007103981770F5E091720381E08E0F8093BA -:1017B0007203F0E0ED58FC4F80818093BB0085EC14 -:1017C00085C080932D038DC0E091720381E08E0F60 -:1017D000809372038091BB00F0E0ED58FC4F808352 -:1017E00090917203809171036DC0E091720381E06A -:1017F0008E0F809372038091BB00F0E0ED58FC4F98 -:1018000080838091980381116CC081E0809397035D -:1018100084EA60C083E080939A0310922E03CFCFB6 -:1018200080912E03803208F050C0E0912E0381E0B9 -:101830008E0F80932E038091BB00F0E0E15DFC4FA2 -:101840008083BDCF80912E03803230F4E0912E034F -:10185000F0E0E15DFC4F10820E94470B60912E0387 -:1018600070E0E0919303F09194038FE293E0099587 -:1018700010922E030E94510B36C084E080939A038D -:101880001092500310924F03E0919503F09196034C -:10189000099580914F03811105C081E080934F032A -:1018A00010925103E091500381E08E0F809350031A -:1018B000F0E0EF5AFC4F80818093BB009091500381 -:1018C00080914F03981708F47ACF85E88093BC0085 -:1018D0000AC085EC8093BC0010929A0304C0109259 -:1018E0002D030E94470BFF91EF91BF91AF919F9104 -:1018F0008F917F916F915F914F913F912F910F90B9 -:101900000FBE0F901F9018950F931F93CF93DF93E7 -:10191000EC018B0188819981DC01ED91FC916F775D -:101920000190F081E02D099588819981DC01ED918C -:10193000FC91B801660F672F661F770B6F770190D8 -:10194000F081E02DDF91CF911F910F910994DC017F -:101950008D919C91DC01ED91FC910190F081E02D45 -:1019600060EF0994DC018D919C91DC01ED91FC917B -:101970000190F081E02D67EF0994CF93DF93EC01A4 -:1019800088819981DC01ED91FC910190F081E02D3D -:1019900069EF099588819981DC01ED91FC910190B5 -:1019A000F081E02D62E0099588819981DC01ED915B -:1019B000FC910190F081E02D64E0DF91CF910994DA -:1019C0001F93CF93DF93EC018A818823D9F1CE0155 -:1019D0000E94A70C88819981DC01ED91FC91019016 -:1019E000F081E02D69E7099588819981DC01ED910D -:1019F000FC91AB81BC810190F081E02D6C91099547 -:101A000088819981DC01ED91FC91AB81BC810190D1 -:101A1000F081E02D11966C91099512E08A811817DA -:101A200058F4EB81FC81E10FF11D608170E0CE0183 -:101A30000E94840C1F5FF2CFCE01DF91CF911F91E6 -:101A40000C94B20CDF91CF911F910895CF92DF9249 -:101A5000EF92FF920F931F93CF93DF938C01EB01D3 -:101A6000C42ED22E61EC71E0CE010E9447177C019A -:101A70006FE270E0CE010E943C17009739F46CE5EC -:101A800070E0CE010E943C17009711F0EC01219606 -:101A9000E114F10451F4FE0101900020E9F7EC1B80 -:101AA000EF5FD8011296EC9306C0EC1AFD0AE3949E -:101AB000E394F801E282D80113968D919C911497DA -:101AC0000E949E16F801E280F12CC70101960E9447 -:101AD0000616D80114969C938E931397FC01EE0D75 -:101AE000FF1D1082FC01C082D18212964C9150E001 -:101AF00042505109BE010296DF91CF911F910F9183 -:101B0000FF90EF90DF90CF900C942D17DC018D911A -:101B10009C91DC01ED91FC910480F581E02D09940C -:101B20000F931F93CF93DF93FC012085213749F05A -:101B3000293709F049C0DF91CF911F910F910C9483 -:101B4000E00CFC01E95AFF4F0190F081E02D309745 -:101B500009F450C0DC01A75BBF4F4D915C919A0125 -:101B60002150310937FD9A01B90175956795062F06 -:101B700040E050E020E030E04E5F5F4F2017A0F4DF -:101B8000EC01C40FD51F1F81DC01A20FB31F1896F3 -:101B90001C931897C885D0E8CD9F1019112418966A -:101BA0001C932F5F3F4FE8CFDC01A60FB11D1796A6 -:101BB0002C911797222311F018961C920896DF910A -:101BC000CF911F910F910994FC01E75AFF4F0190AB -:101BD000F081E02D309771F0AC01475F5F4FDC0181 -:101BE000A75BBF4F6C916150822FDF91CF911F9106 -:101BF0000F910994DF91CF911F910F9108950F9349 -:101C00001F93CF93DF93EC018A0188819981DC01D6 -:101C1000ED91FC916F70606E0190F081E02D09955F -:101C2000B801CE01DF91CF911F910F910C94840CDC -:101C30000F931F93CF93DF93EC018A0188819981E1 -:101C4000DC01ED91FC916F7060690190F081E02DF5 -:101C5000099588819981DC01ED91FC91602F6F7766 -:101C60000190F081E02D099588819981DC01ED9149 -:101C7000FC91B801660F672F661F770B0190F0810A -:101C8000E02DDF91CF911F910F910994CF92DF92B8 -:101C9000EF92FF920F931F93CF93DF9300D01F9289 -:101CA000CDB7DEB78C01F42E2A833B8369830E9473 -:101CB000A70CD8018D919C91DC01ED91FC910190D4 -:101CC000F081E02D698109952A81E22EC22E3B81A7 -:101CD000D32E8C2D8E198F1540F4F60161916F0172 -:101CE00070E0C8010E94840CF4CFC8010F900F90DF -:101CF0000F90DF91CF911F910F91FF90EF90DF90A8 -:101D0000CF900C94B20C9A01FA0101900020E9F7EF -:101D10003197E41BF50B4E2F0C94460EAB0161E797 -:101D20000C94830EDC018D919C91DC01ED91FC9172 -:101D30000190F081E02D0994603DB9F028F46039FC -:101D400061F0603C71F00895603E19F0643F89F0E5 -:101D50000895FC01E55BFF4F0FC0FC01E35BFF4F03 -:101D60000BC0FC01E15BFF4F07C0FC01EF5AFF4FC6 -:101D700003C0FC01ED5AFF4F5183408308956F3F2C -:101D800029F4FC01EB5AFF4F518340830895875A91 -:101D90009F4FFC01518340830895FC0115821682F8 -:101DA000178280E090E0DF01A80FB91F18961C92FF -:101DB000019680349105B9F7DF01A85BBF4F1C92F3 -:101DC00011961D921C92EB5AFF4F0190F081E02D6D -:101DD000309709F009940895FC011282148213824D -:101DE0000C94CD0ECF93DF93EC0188819981DC01B7 -:101DF000ED91FC910680F781E02D0995FE01E85BED -:101E0000FF4F20812223B1F0873F910531F41082EA -:101E1000CE01DF91CF910C94900DFE01E75BFF4F57 -:101E200020813181C20FD31F88872F5F3F4F3183BD -:101E300020839DC02D81222309F45EC08038910546 -:101E40000CF05AC09FEF920F9D83FE01E90FF11D28 -:101E5000808791118CC08E81882309F488C0803DD1 -:101E6000E9F148F48039E9F0803C09F043C0FE0113 -:101E7000E15BFF4F36C0803E19F0843F19F13AC054 -:101E8000FE01E55BFF4F0190F081E02D309791F16D -:101E90008885698570E0B0E88B9F600D711D112405 -:101EA00027C0FE01E35BFF4F0190F081E02D3097EA -:101EB00009F18885698570E090E8899F600D711D42 -:101EC000112416C0FE01ED5AFF4F0190F081E02D64 -:101ED000309781F0688570E089850BC0FE01EF5A6C -:101EE000FF4F0190F081E02D309721F0688570E080 -:101EF0008F8109951E823BC0803F91052CF4282FCD -:101F00002F702F83807F9927803E910521F154F413 -:101F1000803C910511F1803D9105F9F080399105E2 -:101F200031F519C0843F9105B1F054F4803F91051B -:101F3000F1F481E08083C75BDF4F1982188217C0FC -:101F4000893F910571F08F3F910589F4CE01DF91B2 -:101F5000CF910C94CD0E92E001C091E09D838E83D1 -:101F600006C08BE993E0DF91CF910C94BD0CDF911B -:101F7000CF9108958F929F92AF92BF92CF92DF92AE -:101F8000EF92FF921F93CF93DF93EB014A01690118 -:101F900061E08DE00E94D11110E0EE24D7FCE094C6 -:101FA000FE2CAA2497FCA094BA2C812F90E08C17C9 -:101FB0009D0794F4C701B6010E94BE1061E08DE058 -:101FC0000E940A12C501B4010E94BE1060E08DE0BB -:101FD0000E940A121F5FE9CFDF91CF911F91FF90FE -:101FE000EF90DF90CF90BF90AF909F908F9008952B -:101FF000CF93DF93EC0161E08DE00E94D11122EDDF -:1020000030E048E250E062E070E0CE010E94BA0F9A -:102010006AEF70E080E090E00E94BE1022ED30E0B8 -:1020200048E250E064E070E0CE010E94BA0F6DE734 -:1020300070E080E090E0DF91CF910C94BE10CF93E0 -:10204000DF93EC0126E085E094E00E94231385E015 -:1020500094E099838883CE010E94F80FCE010E94FC -:10206000BD0CCE01DF91CF910C94E00C8BE993E095 -:102070000C94EC0E0F9300E020E040E060E086EF6F -:1020800093E00E9464140F9108951F920F920FB66F -:102090000F9211242F933F938F939F93AF93BF93EE -:1020A0008091FD039091FE03A091FF03B091000485 -:1020B0003091FC0323E0230F2D3720F40196A11D5E -:1020C000B11D05C026E8230F0296A11DB11D209366 -:1020D000FC038093FD039093FE03A093FF03B09352 -:1020E00000048091010490910204A0910304B09136 -:1020F00004040196A11DB11D809301049093020474 -:10210000A0930304B0930404BF91AF919F918F916A -:102110003F912F910F900FBE0F901F9018952FB7E2 -:10212000F8946091FD037091FE038091FF039091FC -:1021300000042FBF08953FB7F89480910104909157 -:102140000204A0910304B091040426B5A89B05C025 -:102150002F3F19F00196A11DB11D3FBF6627782FB3 -:10216000892F9A2F620F711D811D911D42E0660F0C -:10217000771F881F991F4A95D1F70895CF92DF9254 -:10218000EF92FF92CF93DF936B017C010E949B1033 -:10219000EB01C114D104E104F10489F00E94881517 -:1021A0000E949B106C1B7D0B683E734090F381E096 -:1021B000C81AD108E108F108C851DC4FEACFDF9115 -:1021C000CF91FF90EF90DF90CF90089582309105EE -:1021D00038F0880F991F880F991F05970197F1F71D -:1021E0000895789484B5826084BD84B5816084BD8F -:1021F00085B5826085BD85B5816085BDEEE6F0E080 -:10220000808181608083E1E8F0E0108280818260DB -:102210008083808181608083E0E8F0E0808181605C -:102220008083E1EBF0E0808184608083E0EBF0E08C -:10223000808181608083EAE7F0E080818460808330 -:1022400080818260808380818160808380818068DA -:1022500080831092C10008958E3008F08E508770F0 -:1022600020910D0190E4299F90011124822B8093ED -:102270007C0080917A00806480937A0080917A005B -:1022800086FDFCCF809178002091790090E0922B20 -:1022900008951F93CF93DF93182FEB0161E00E9405 -:1022A000D111209711F460E004C0CF3FD10539F47B -:1022B00061E0812FDF91CF911F910C940A12E12FE1 -:1022C000F0E0E457FF4FE491E330F9F048F4E130F7 -:1022D000B9F0E230A1F584B5806284BDC8BD34C0D8 -:1022E000E730E9F0E83019F1E43049F580918000F9 -:1022F000806280938000D0938B00C0938A0024C0BA -:1023000084B5806884BDC7BD1FC08091800080688F -:1023100080938000D0938900C093880015C080917D -:10232000B00080688093B000C093B3000DC080916E -:10233000B00080628093B000C093B40005C0C03884 -:10234000D1050CF0B5CFAFCFDF91CF911F9108959C -:10235000833081F028F4813099F08230A1F0089523 -:102360008730A9F08830B9F08430D1F480918000B2 -:102370008F7D03C0809180008F77809380000895C7 -:1023800084B58F7702C084B58F7D84BD0895809118 -:10239000B0008F7703C08091B0008F7D8093B00034 -:1023A0000895CF93DF9390E0FC01E056FF4F249116 -:1023B000FC01EC54FF4F8491882349F190E0880F91 -:1023C000991FFC01EE52FF4FA591B49188539F4F86 -:1023D000FC01C591D4919FB7611108C0F8948C910C -:1023E000209582238C93888182230AC0623051F425 -:1023F000F8948C91322F309583238C938881822B93 -:10240000888304C0F8948C91822B8C939FBFDF91BA -:10241000CF9108950F931F93CF93DF931F92CDB762 -:10242000DEB7282F30E0F901E457FF4F8491F9011E -:10243000E056FF4F1491F901EC54FF4F0491002333 -:10244000C9F0882321F069830E94A8116981E02FD7 -:10245000F0E0EE0FFF1FE853FF4FA591B4919FB737 -:10246000F8948C91611103C01095812301C0812BD8 -:102470008C939FBF0F90DF91CF911F910F91089583 -:10248000FC01818D228D90E0805C9F4F821B910921 -:102490008F7399270895FC01918D828D981731F0E3 -:1024A000828DE80FF11D858D90E008958FEF9FEFED -:1024B0000895FC01918D828D981761F0828DDF0166 -:1024C000A80FB11D5D968C91928D9F5F9F73928F27 -:1024D00090E008958FEF9FEF08958DED93E1892BA4 -:1024E00049F080E090E0892B29F00E94DD138111F2 -:1024F0000C9400000895FC01848DDF01A80FB11D2C -:10250000A35ABF4F2C91848D90E001968F73992729 -:10251000848FA689B7892C93A089B1898C91806416 -:102520008C93938D848D981306C00288F389E02DD7 -:1025300080818F7D80830895CF93DF93EC01888D18 -:102540008823C9F0EA89FB89808185FD05C0A889B7 -:10255000B9898C9186FD0FC00FB607FCF5CF80813D -:1025600085FFF2CFA889B9898C9185FFEDCFCE0187 -:102570000E947B12E7CFDF91CF910895CF92DF9237 -:10258000FF920F931F93CF93DF931F92CDB7DEB7C8 -:102590006C0181E0D60158968C9358975B969C917C -:1025A0005B975C968C915C97981307C05096ED9161 -:1025B000FC915197808185FD2EC0F601038D10E0BE -:1025C0000F5F1F4F0F731127F02EF601848DF81245 -:1025D00011C00FB607FCF9CFD6015096ED91FC91D2 -:1025E0005197808185FFF1CFC60169830E947B12DC -:1025F0006981EBCF838DE80FF11DE35AFF4F6083B4 -:10260000D6015B960C935B975296ED91FC91539794 -:10261000808180620CC0D6015696ED91FC9157974F -:1026200060835096ED91FC91519780818064808306 -:1026300081E090E00F90DF91CF911F910F91FF907B -:10264000DF90CF900895BF92CF92DF92EF92FF92EA -:10265000CF93DF93EC016A017B01B22EE889F989FF -:1026600082E08083411581EE580761057105A1F074 -:1026700060E079E08DE390E0A70196010E94A51546 -:1026800021503109410951095695479537952795AC -:10269000211580E1380798F0E889F989108260E80F -:1026A00074E88EE190E0A70196010E94A5152150E3 -:1026B0003109410951095695479537952795EC857C -:1026C000FD853083EE85FF852083188EEC89FD899A -:1026D000B082EA89FB89808180618083EA89FB89F5 -:1026E000808188608083EA89FB898081806880831B -:1026F000EA89FB8980818F7D8083DF91CF91FF9074 -:10270000EF90DF90CF90BF9008951F920F920FB679 -:102710000F9211242F938F939F93EF93FF93E09148 -:102720001504F09116048081E0911B04F0911C04C3 -:1027300082FD12C0908180911E048F5F8F73209163 -:102740001F04821751F0E0911E04F0E0EB5FFB4F95 -:10275000958F80931E0401C08081FF91EF919F911E -:102760008F912F910F900FBE0F901F9018951F9271 -:102770000F920FB60F9211242F933F934F935F93B5 -:102780006F937F938F939F93AF93BF93EF93FF9339 -:1027900085E094E00E947B12FF91EF91BF91AF9191 -:1027A0009F918F917F916F915F914F913F912F9169 -:1027B0000F900FBE0F901F90189585E094E00E9437 -:1027C000401221E0892B09F420E0822F0895109215 -:1027D00008041092070488EE93E0A0E0B0E0809334 -:1027E000090490930A04A0930B04B0930C048AECA0 -:1027F00091E0909306048093050485EC90E090931B -:1028000012048093110484EC90E09093140480935C -:10281000130480EC90E0909316048093150481ECEF -:1028200090E0909318048093170482EC90E09093CA -:102830001A048093190486EC90E090931C04809312 -:102840001B0410921E0410921F0410922004109278 -:1028500021040895AF92BF92CF92DF92EF92FF9240 -:102860000F931F93CF93DF936C017B01C0E0D0E007 -:1028700000E010E0F601EC0FFD1F4AE050E062813D -:10288000C7010E943A155C016EE2C7010E94CD1497 -:102890008A0D9B1D080F191F2196C330D10551F7D2 -:1028A0004AE050E0F6016581C7010E943A15800FA9 -:1028B000911FDF91CF911F910F91FF90EF90DF90CB -:1028C000CF90BF90AF9008950F93FC018AED91E0F7 -:1028D0009183808362834383248305830F910895CA -:1028E0008AED91E09093A3048093A2041092A40433 -:1028F0001092A5041092A6041092A70408950895BA -:102900000E94F1100E947F140E94DB03CDE6D2E109 -:102910000E94FC062097E1F30E946D12F9CFCF923E -:10292000DF92EF92FF920F931F93CF93DF936C018F -:102930007A01EB01E60EF71E00E010E0CE15DF0590 -:1029400061F06991D601ED91FC910190F081E02D4B -:10295000C6010995080F191FF1CFC801DF91CF916A -:102960001F910F91FF90EF90DF90CF900895611528 -:10297000710581F0DB010D900020E9F7AD014150B8 -:102980005109461B570BDC01ED91FC910280F3814C -:10299000E02D099480E090E00895DC01ED91FC9138 -:1029A0000190F081E02D09948F929F92AF92BF9297 -:1029B000CF92DF92EF92FF920F931F93CF93DF930B -:1029C000CDB7DEB7A1970FB6F894DEBF0FBECDBF6F -:1029D0007C01C42EE52FCB01D22E19A221E02D15AA -:1029E00010F02AE0D22E8E010F5D1F4F8D2C912CFE -:1029F000A12CB12C6C2D7E2FA50194010E94A51550 -:102A00008C2DD29E80191124015011098A3014F4A2 -:102A1000805D01C0895CF801808321153105410585 -:102A2000510521F0C22EE32FCA01E4CFB801C7013E -:102A30000E94B714A1960FB6F894DEBF0FBECDBFAB -:102A4000DF91CF911F910F91FF90EF90DF90CF908A -:102A5000BF90AF909F908F9008952115310541F45C -:102A6000DC01ED91FC910190F081E02D642F09943F -:102A70000C94D4149A01462F50E060E070E00C945E -:102A80002D154F925F926F927F92AF92BF92CF922D -:102A9000DF92EF92FF920F931F93CF93DF93CDB707 -:102AA000DEB729013A01621B730B840B950B298950 -:102AB0003A894B895C892A193B094C095D09298BA4 -:102AC0003A8B4B8B5C8B9B01AC0169897A898B8932 -:102AD0009C890E948915E418F50806091709A801C0 -:102AE00097010E94C7152A0D3B1D4C1D5D1DCA0193 -:102AF000B901DF91CF911F910F91FF90EF90DF907F -:102B0000CF90BF90AF907F906F905F904F9008955F -:102B10000895DB018F939F930E94EC15BF91AF91B5 -:102B2000A29F800D911DA39F900DB29F900D112427 -:102B30000895991B79E004C0991F961708F0961B19 -:102B4000881F7A95C9F780950895A1E21A2EAA1BCD -:102B5000BB1BFD010DC0AA1FBB1FEE1FFF1FA2174D -:102B6000B307E407F50720F0A21BB30BE40BF50B4A -:102B7000661F771F881F991F1A9469F760957095D3 -:102B8000809590959B01AC01BD01CF010895052E64 -:102B900097FB1EF400940E94DE1557FD07D00E949B -:102BA000A51507FC03D04EF40C94DE155095409506 -:102BB000309521953F4F4F4F5F4F089590958095E9 -:102BC000709561957F4F8F4F9F4F0895EE0FFF1FB8 -:102BD0000590F491E02D09940E94F715A59F900DA2 -:102BE000B49F900DA49F800D911D11240895A29F64 -:102BF000B001B39FC001A39F700D811D1124911DD1 -:102C0000B29F700D811D1124911D0895CF93DF9304 -:102C10008230910510F482E090E0E091AA04F091F6 -:102C2000AB0420E030E0A0E0B0E0309739F1408123 -:102C3000518148175907B8F04817590771F4828134 -:102C40009381109729F013969C938E9312972CC022 -:102C50009093AB048093AA0427C02115310531F06D -:102C60004217530718F0A901DB0101C0EF019A01D7 -:102C7000BD01DF010280F381E02DD7CF21153105A1 -:102C8000F9F0281B390B2430310580F48A819B81AF -:102C90006115710521F0FB019383828304C0909339 -:102CA000AB048093AA04FE01329644C0FE01E20FF9 -:102CB000F31F8193919322503109398328833AC0BD -:102CC0002091A8043091A904232B41F42091020102 -:102CD000309103013093A9042093A80420910001AE -:102CE000309101012115310541F42DB73EB74091D6 -:102CF000040150910501241B350BE091A804F091CB -:102D0000A904E217F307A0F42E1B3F0B281739077D -:102D100078F0AC014E5F5F4F2417350748F04E0F37 -:102D20005F1F5093A9044093A8048193919302C01C -:102D3000E0E0F0E0CF01DF91CF910895CF93DF93F2 -:102D4000009709F487C0FC01329713821282C09168 -:102D5000AA04D091AB04209781F420813181280FFF -:102D6000391F8091A8049091A9048217930779F5DF -:102D7000F093A904E093A8046DC0DE0120E030E0E8 -:102D8000AE17BF0750F412964D915C9113979D01B9 -:102D90004115510509F1DA01F3CFB383A2834081D4 -:102DA0005181840F951F8A179B0771F48D919C9117 -:102DB0001197840F951F02969183808312968D91AF -:102DC0009C911397938382832115310529F4F09305 -:102DD000AB04E093AA043EC0D9011396FC93EE9392 -:102DE00012974D915D91A40FB51FEA17FB0779F477 -:102DF00080819181840F951F0296D90111969C9331 -:102E00008E938281938113969C938E931297E0E028 -:102E1000F0E08A819B81009719F0FE01EC01F9CF67 -:102E2000CE01029628813981820F931F2091A80438 -:102E30003091A9042817390769F4309729F41092C2 -:102E4000AB041092AA0402C013821282D093A90488 -:102E5000C093A804DF91CF910895FB01DC0141509C -:102E6000504048F001900D920020C9F701C01D921A -:102E700041505040E0F70895FC0181E090E001905E -:102E8000061609F4CF010020D1F701970895FB0140 -:102E900051915523A9F0BF01DC014D914517411116 -:102EA000E1F759F4CD010190002049F04D91401512 -:102EB0004111C9F3FB014111EFCF81E090E001978F -:062EC0000895F894FFCF15 -:102EC6000000AC04800001000000FF1300014D610A -:102ED6007820736572766F732061747461636865B8 -:102EE6006400556E6B6E6F776E2070696E206D6F25 -:102EF6006465005374616E646172644669726D61E3 -:102F060074612E696E6F004932433A20546F6F2008 -:102F16006D616E7920627974657320726563656987 -:102F2600766564004932433A20546F6F20666577B0 -:102F360020627974657320726563656976656400DD -:102F460031302D6269742061646472657373696ED1 -:102F560067206E6F7420737570706F72746564008D -:102F6600746F6F206D616E79207175657269657316 -:102F76000000000000FC09CF09A409AC09BF09CE76 -:102F8600092E6370700000000000BE128F144012FC -:0C2F960059124B129C12000000002A147B -:00000001FF diff --git a/res-pc/node_modules/avrgirl-arduino/lib/avr109.js b/res-pc/node_modules/avrgirl-arduino/lib/avr109.js deleted file mode 100644 index da955727..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/avr109.js +++ /dev/null @@ -1,146 +0,0 @@ -var AVR109 = require('chip.avr.avr109'); -var colors = require('colors'); -var fs = require('graceful-fs'); -var Serialport = require('serialport'); -var async = require('async'); -var Protocol = require('./protocol'); -var util = require('util'); - -var Avr109 = function(options) { - options.protocol = function() { return AVR109; }; - - Protocol.call(this, options); -}; - -util.inherits(Avr109, Protocol); - -/** - * Uploads the provided hex file to the board, via the AVR109 protocol - * - * @param {string, Buffer} hex - path of hex file for uploading, or Buffer of the hex data - * @param {function} callback - function to run upon completion/error - */ -Avr109.prototype._upload = function(file, callback) { - var _this = this; - var data; - - try { - if (typeof file === 'string') { - data = fs.readFileSync(file, { - encoding: 'utf8' - }); - } else { - data = file; - } - } catch (error) { - return callback(error); - } - - _this._reset(function(error) { - if (error) { return callback(error); } - - _this.debug('reset complete.'); - - _this.connection._pollForOpen(function(error) { - if (error) { return callback(error); } - - _this.debug('connected'); - - _this._write(data, function(error) { - var color = (error ? colors.red : colors.green); - _this.debug(color('flash complete.')); - - // Can't close the serialport on avr109 boards >> node-serialport/issues/415 - // _this.serialPort.close(); - - return callback(error); - }); - }); - }); -}; - -/** - * Performs the writing part of uploading to an AVR109 bootloaded chip - * - * @param {buffer} data - hex buffer to write to the chip - * @param {function} callback - function to run upon completion/error - */ -Avr109.prototype._write = function(data, callback) { - var _this = this; - - var options = { - signature: _this.board.signature.toString(), - debug: false - }; - - _this.chip.init(_this.connection.serialPort, options, function(error, flasher) { - if (error) { return callback(error); } - - _this.debug('flashing, please wait...'); - - async.series([ - flasher.erase.bind(flasher), - flasher.program.bind(flasher, data.toString()), - function verify(done) { - flasher.verify(done); - }, - - flasher.fuseCheck.bind(flasher) - ], - function(error) { - return callback(error); - }); - }); -}; - -/** - * Software resets an Arduino AVR109 bootloaded chip into bootloader mode - * - * @param {function} callback - function to run upon completion/error - */ -Avr109.prototype._reset = function(callback) { - var _this = this; - var conn; - - if (_this.board.manualReset) { - return callback(null); - } - - // creating a temporary connection for resetting only - var tempSerialPort = new Serialport(_this.connection.options.port, { - baudRate: 1200, - autoOpen: false - }); - - _this.connection.serialPort = tempSerialPort; - conn = _this.connection; - - _this.debug('resetting board...'); - - _this.connection.serialPort.once('close', function() { - async.series([ - conn._setUpSerial.bind(conn), - conn._pollForPort.bind(conn) - ], - function(error) { - return callback(error); - }); - }); - - async.series([ - tempSerialPort.open.bind(tempSerialPort), - conn._cycleDTR.bind(conn) - ], - function(error) { - if (error) { - return callback(error); - }else{ - setTimeout( function(){ - // if( _this.connectino.serialPort.isOpen ) - _this.connection.serialPort.close(); - }, 50 ); - } - }); -}; - -module.exports = Avr109; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/avr109.js~ b/res-pc/node_modules/avrgirl-arduino/lib/avr109.js~ deleted file mode 100644 index c02dbfae..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/avr109.js~ +++ /dev/null @@ -1,141 +0,0 @@ -var AVR109 = require('chip.avr.avr109'); -var colors = require('colors'); -var fs = require('graceful-fs'); -var Serialport = require('serialport'); -var async = require('async'); -var Protocol = require('./protocol'); -var util = require('util'); - -var Avr109 = function(options) { - options.protocol = function() { return AVR109; }; - - Protocol.call(this, options); -}; - -util.inherits(Avr109, Protocol); - -/** - * Uploads the provided hex file to the board, via the AVR109 protocol - * - * @param {string, Buffer} hex - path of hex file for uploading, or Buffer of the hex data - * @param {function} callback - function to run upon completion/error - */ -Avr109.prototype._upload = function(file, callback) { - var _this = this; - var data; - - try { - if (typeof file === 'string') { - data = fs.readFileSync(file, { - encoding: 'utf8' - }); - } else { - data = file; - } - } catch (error) { - return callback(error); - } - - _this._reset(function(error) { - if (error) { return callback(error); } - - _this.debug('reset complete.'); - - _this.connection._pollForOpen(function(error) { - if (error) { return callback(error); } - - _this.debug('connected'); - - _this._write(data, function(error) { - var color = (error ? colors.red : colors.green); - _this.debug(color('flash complete.')); - - // Can't close the serialport on avr109 boards >> node-serialport/issues/415 - // _this.serialPort.close(); - - return callback(error); - }); - }); - }); -}; - -/** - * Performs the writing part of uploading to an AVR109 bootloaded chip - * - * @param {buffer} data - hex buffer to write to the chip - * @param {function} callback - function to run upon completion/error - */ -Avr109.prototype._write = function(data, callback) { - var _this = this; - - var options = { - signature: _this.board.signature.toString(), - debug: false - }; - - _this.chip.init(_this.connection.serialPort, options, function(error, flasher) { - if (error) { return callback(error); } - - _this.debug('flashing, please wait...'); - - async.series([ - flasher.erase.bind(flasher), - flasher.program.bind(flasher, data.toString()), - function verify(done) { - flasher.verify(done); - }, - - flasher.fuseCheck.bind(flasher) - ], - function(error) { - return callback(error); - }); - }); -}; - -/** - * Software resets an Arduino AVR109 bootloaded chip into bootloader mode - * - * @param {function} callback - function to run upon completion/error - */ -Avr109.prototype._reset = function(callback) { - var _this = this; - var conn; - - if (_this.board.manualReset) { - return callback(null); - } - - // creating a temporary connection for resetting only - var tempSerialPort = new Serialport(_this.connection.options.port, { - baudRate: 1200, - autoOpen: false - }); - - _this.connection.serialPort = tempSerialPort; - conn = _this.connection; - - _this.debug('resetting board...'); - - _this.connection.serialPort.once('close', function() { - async.series([ - conn._setUpSerial.bind(conn), - conn._pollForPort.bind(conn) - ], - function(error) { - return callback(error); - }); - }); - - async.series([ - tempSerialPort.open.bind(tempSerialPort), - conn._cycleDTR.bind(conn) - ], - function(error) { - if (error) { - return callback(error); - } - }); -}; - -module.exports = Avr109; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/connection.js b/res-pc/node_modules/avrgirl-arduino/lib/connection.js deleted file mode 100644 index be6d10b0..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/connection.js +++ /dev/null @@ -1,214 +0,0 @@ -var Serialport = require('serialport'); -var async = require('async'); -var awty = require('awty'); - -var Connection = function(options) { - this.options = options; - this.debug = this.options.debug ? console.log.bind(console) : function() {}; - - this.board = this.options.board; -}; - -Connection.prototype._init = function(callback) { - var _this = this; - - // check for port - if (!_this.options.port) { - // no port, auto sniff for the correct one - _this._sniffPort(function(error, port) { - if (port.length) { - // found a port, save it - _this.options.port = port[0].comName; - - _this.debug('found ' + _this.options.board.name + ' on port ' + _this.options.port); - - // set up serialport for it - _this._setUpSerial(function(error) { - return callback(error); - }); - } else { - // we didn't find the board - return callback(new Error('no Arduino ' + '\'' + _this.options.board.name + '\'' + ' found.')); - } - }); - - } else { - // when a port is manually specified - _this._setUpSerial(function(error) { - return callback(error); - }); - } -}; - -/** - * Create new serialport instance for the Arduino board, but do not immediately connect. - */ -Connection.prototype._setUpSerial = function(callback) { - this.serialPort = new Serialport(this.options.port, { - baudRate: this.board.baud, - autoOpen: false - }); - return callback(null); -}; - -/** - * Finds a list of available USB ports, and matches for the right pid - * Auto finds the correct port for the chosen Arduino - * - * @param {function} callback - function to run upon completion/error - */ -Connection.prototype._sniffPort = function(callback) { - var _this = this; - var pidList = _this.board.productId.map(function(id) { - return parseInt(id, 16); - }); - - _this._listPorts(function(error, ports) { - // filter for a match by product id - var portMatch = ports.filter(function(p) { - return pidList.indexOf(parseInt(p._standardPid, 16)) !== -1; - }); - - return callback(null, portMatch); - }); -}; - -/** - * Sets the DTR/RTS lines to either true or false - * - * @param {boolean} bool - value to set DTR and RTS to - * @param {number} timeout - number in milliseconds to delay after - * @param {function} callback - function to run upon completion/error - */ -Connection.prototype._setDTR = function(bool, timeout, callback) { - var _this = this; - var props = { - rts: bool, - dtr: bool - }; - - _this.serialPort.set(props, function(error) { - if (error) { return callback(error); } - - setTimeout(function() { - callback(error); - }, timeout); - }); -}; - -/** - * Checks the list of ports 4 times for a device to show up - * - * @param {function} callback - function to run upon completion/error - */ -Connection.prototype._pollForPort = function(callback) { - var _this = this; - - var poll = awty(function(next) { - var found = false; - - // try to sniff port instead (for port hopping devices) - _this._sniffPort(function(error, port) { - if (port.length) { - // found a port, save it - _this.options.port = port[0].comName; - found = true; - } - - next(found); - }); - }); - - poll.every(100).ask(15); - - poll(function(foundPort) { - if (foundPort) { - // set up serialport for it - _this._setUpSerial(function(error) { - return callback(error); - }); - } else { - // we also could not find the device on auto sniff - return callback(new Error('could not reconnect after resetting board.')); - } - }); -}; - -Connection.prototype._pollForOpen = function(callback) { - var _this = this; - - var poll = awty(function(next) { - _this.serialPort.open(function(error) { - next(!error); - }); - }); - - poll.every(100).ask(6); - - poll(function(isOpen) { - var error; - if (!isOpen) { - error = new Error('could not open board on ' + _this.serialPort.path); - } - - callback(error); - }); -}; - -/** - * Pulse the DTR/RTS lines low then high - * - * @param {function} callback - function to run upon completion/error - */ -Connection.prototype._cycleDTR = function(callback) { - var _this = this; - - async.series([ - _this._setDTR.bind(_this, true, 250), - _this._setDTR.bind(_this, false, 50) - ], - function(error) { - return callback(error); - }); - -}; - -/** - * Return a list of devices on serial ports. In addition to the output provided - * by SerialPort.list, it adds a platform independent PID in _pid - * - * @param {function} callback - function to run upon completion/error - */ -Connection.prototype._listPorts = function(callback) { - var foundPorts = []; - - // list all available ports - Serialport.list(function(err, ports) { - if (err) { return callback(err); } - - // iterate through ports - for (var i = 0; i < ports.length; i += 1) { - var pid; - - // are we on windows or unix? - if (ports[i].productId) { - pid = ports[i].productId; - } else if (ports[i].pnpId) { - try { - pid = '0x' + /PID_\d*/.exec(ports[i].pnpId)[0].substr(4); - } catch (err) { - pid = ''; - } - } else { - pid = ''; - } - - ports[i]._standardPid = pid; - foundPorts.push(ports[i]); - } - - return callback(null, foundPorts); - }); -}; - -module.exports = Connection; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/protocol.js b/res-pc/node_modules/avrgirl-arduino/lib/protocol.js deleted file mode 100644 index 7d3045cb..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/protocol.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Generic Protocol for other protocols to inherit from - * - */ -var Protocol = function(options) { - this.debug = options.debug; - - this.board = options.board; - this.connection = options.connection; - - this.chip = new options.protocol({ quiet: true }); -}; - -/** - * Resets an Arduino STK500 bootloaded chip by pulsing DTR high. - * - * Avoids the dreaded timeout bug if the serialport was opened since the device - * was powered. - * - * @param {function} callback - function to run upon completion/error - */ -Protocol.prototype._reset = function(callback) { - var _this = this; - - // cycle DTR/RTS from low to high - _this.connection._cycleDTR(function(error) { - if (!error) { - _this.debug('reset complete.'); - } - - return callback(error); - }); -}; - -module.exports = Protocol; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/protocols.js b/res-pc/node_modules/avrgirl-arduino/lib/protocols.js deleted file mode 100644 index 222c85c2..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/protocols.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - stk500v1: require('./stk500v1'), - stk500v2: require('./stk500v2'), - avr109: require('./avr109') -}; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/stk500v1.js b/res-pc/node_modules/avrgirl-arduino/lib/stk500v1.js deleted file mode 100644 index d743b8cd..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/stk500v1.js +++ /dev/null @@ -1,70 +0,0 @@ -var STK = require('stk500'); -var colors = require('colors'); -var tools = require('./tools'); -var Protocol = require('./protocol'); -var util = require('util'); - -var Stk500v1 = function(options) { - options.protocol = STK; - Protocol.call(this, options); -}; - -util.inherits(Stk500v1, Protocol); - -/** - * Uploads the provided hex file to the board, via the stk500v1 protocol - * - * @param {string} file - path to hex file for uploading - * @param {function} callback - function to run upon completion/error - */ -Stk500v1.prototype._upload = function(file, callback) { - var _this = this; - - this.serialPort = this.connection.serialPort; - - // open/parse supplied hex file - var hex = tools._parseHex(file); - if (!Buffer.isBuffer(hex)) { - return callback(hex); - } - - // open connection - _this.serialPort.open(function(error) { - if (error) { return callback(error); } - - _this.debug('connected'); - - // reset - _this._reset(function(error) { - if (error) { return callback(error); } - - _this.debug('flashing, please wait...'); - - // flash - _this.chip.bootload(_this.serialPort, hex, _this.board, function(error) { - var color = (error ? colors.red : colors.green); - - _this.debug(color('flash complete.')); - - // Always close the serialport - _this.serialPort.close(); - - return callback(error); - }); - }); - }); -}; - -Stk500v1.prototype._reset = function(callback) { - var _this = this; - - _this.connection._setDTR(true, 250, function(error) { - if (!error) { - _this.debug('reset complete.'); - } - - return callback(error); - }); -}; - -module.exports = Stk500v1; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/stk500v2.js b/res-pc/node_modules/avrgirl-arduino/lib/stk500v2.js deleted file mode 100644 index b6891ae4..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/stk500v2.js +++ /dev/null @@ -1,67 +0,0 @@ -var STK2 = require('stk500-v2'); -var async = require('async'); -var colors = require('colors'); -var tools = require('./tools'); -var Protocol = require('./protocol'); -var util = require('util'); - -var Stk500v2 = function(options) { - options.protocol = function() { return STK2; }; - - Protocol.call(this, options); -}; - -util.inherits(Stk500v2, Protocol); - -/** - * Uploads the provided hex file to the board, via the stk500v2 protocol - * - * @param {buffer} hex - buffer of hex file for uploading - * @param {function} callback - function to run upon completion/error - */ -Stk500v2.prototype._upload = function(file, callback) { - var _this = this; - - // open/parse supplied hex file - _this.serialPort = _this.connection.serialPort; - - var hex = tools._parseHex(file); - if (!Buffer.isBuffer(hex)) { - return callback(hex); - } - - // open connection - _this.serialPort.open(function(error) { - if (error) { return callback(error); } - - _this.debug('connected'); - - // instantiate stk500v2 with newly open serialport - var chip = _this.chip(_this.serialPort); - - async.series([ - _this._reset.bind(_this), - chip.sync.bind(chip, 5), - chip.verifySignature.bind(chip, _this.board.signature), - chip.enterProgrammingMode.bind(chip, _this.board), - function debugLog(callback) { - _this.debug('flashing, please wait...'); - callback(null); - }, - - chip.upload.bind(chip, hex, _this.board.pageSize), - chip.exitProgrammingMode.bind(chip) - ], - function(error) { - var color = (error ? colors.red : colors.green); - _this.debug(color('flash complete.')); - - // Always close the serialport - _this.serialPort.close(); - - return callback(error); - }); - }); -}; - -module.exports = Stk500v2; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/test-pilot-checker.js b/res-pc/node_modules/avrgirl-arduino/lib/test-pilot-checker.js deleted file mode 100644 index 176aeaf1..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/test-pilot-checker.js +++ /dev/null @@ -1,22 +0,0 @@ -var child = require('child_process'); -var path = require('path'); - -module.exports.checkForInstall = function(callback) { - child.exec('npm ls --json', {cwd: __dirname}, function(error, stdout) { - if (error) return callback(error); - return callback(null, !!JSON.parse(stdout).dependencies['avrga-tester']); - }); -}; - -module.exports.install = function(callback) { - child.exec('npm install avrga-tester', {cwd: __dirname}, function(error) { - return callback(error); - }); -}; - -module.exports.run = function() { - var tp = child.exec('node ' + path.join(__dirname, '..', 'tests', 'test-pilot.js'), function(error) { - console.log(error); - }); - tp.stdout.pipe(process.stdout); -}; diff --git a/res-pc/node_modules/avrgirl-arduino/lib/tools.js b/res-pc/node_modules/avrgirl-arduino/lib/tools.js deleted file mode 100644 index ce52b2cb..00000000 --- a/res-pc/node_modules/avrgirl-arduino/lib/tools.js +++ /dev/null @@ -1,26 +0,0 @@ -var fs = require('graceful-fs'); -var intelhex = require('intel-hex'); - -var tools = {}; - -/** - * Opens and parses a given hex file - */ -tools._parseHex = function(file) { - try { - var data; - if (typeof file === 'string') { - data = fs.readFileSync(file, { - encoding: 'utf8' - }); - } else { - data = file; - } - - return intelhex.parse(data).data; - } catch (error) { - return error; - } -}; - -module.exports = tools; diff --git a/res-pc/node_modules/avrgirl-arduino/package.json b/res-pc/node_modules/avrgirl-arduino/package.json deleted file mode 100644 index cd90ba6f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "_from": "avrgirl-arduino", - "_id": "avrgirl-arduino@2.2.7", - "_inBundle": false, - "_integrity": "sha512-lCATyBVd1CR0cQCQOkjhtcDWull5X2d/T+EiFULdSKO/+V/ZPt7ocDlhg8Zu95FFvafGO+QWBrWDw14yzYXDdg==", - "_location": "/avrgirl-arduino", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "avrgirl-arduino", - "name": "avrgirl-arduino", - "escapedName": "avrgirl-arduino", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/avrgirl-arduino/-/avrgirl-arduino-2.2.7.tgz", - "_shasum": "c4bf221d2c72aa2c36b7e28c7722d6b737be77d7", - "_spec": "avrgirl-arduino", - "_where": "/home/manga/Projects/ProjectABE/build", - "author": { - "name": "Suz Hinton" - }, - "bin": { - "avrgirl-arduino": "./bin/cli.js" - }, - "browser": { - "graceful-fs": false, - "serialport": "browser-serialport" - }, - "bugs": { - "url": "https://github.com/noopkat/avrgirl-arduino/issues" - }, - "bundleDependencies": false, - "dependencies": { - "async": "^2.1.2", - "awty": "^0.1.0", - "browser-serialport": "git+https://github.com/noopkat/browser-serialport.git#api-updates", - "chip.avr.avr109": "^1.1.0", - "colors": "^1.1.2", - "graceful-fs": "^4.1.2", - "intel-hex": "^0.1.1", - "minimist": "^1.2.0", - "serialport": "^6.0.4", - "stk500": "git+https://github.com/noopkat/js-stk500v1.git#avrgirl", - "stk500-v2": "^1.0.2" - }, - "deprecated": false, - "description": "A NodeJS library for flashing compiled sketch files to Arduino microcontroller boards.", - "devDependencies": { - "avrga-tester": "1.x", - "gulp": "^3.9.0", - "gulp-jscs": "^4.0.0", - "gulp-jshint": "^2.0.3", - "gulp-tape": "0.0.9", - "istanbul": "^0.4.0", - "istanbul-coveralls": "^1.0.3", - "jshint": "^2.9.2", - "jshint-stylish": "^2.1.0", - "proxyquire": "^1.7.3", - "sinon": "^4.1.2", - "tap-spec": "^4.1.0", - "tape": "^4.2.1", - "virtual-serialport": "^0.3.1" - }, - "homepage": "https://github.com/noopkat/avrgirl-arduino", - "keywords": [ - "arduino", - "avr", - "avr109", - "stk500", - "avrdude", - "avrgirl", - "avrg" - ], - "license": "MIT", - "main": "avrgirl-arduino.js", - "name": "avrgirl-arduino", - "repository": { - "type": "git", - "url": "git+https://github.com/noopkat/avrgirl-arduino.git" - }, - "scripts": { - "cover": "istanbul cover ./tests/*.spec.js && istanbul-coveralls", - "test": "gulp test" - }, - "version": "2.2.7" -} diff --git a/res-pc/node_modules/avrgirl-arduino/tests/avrgirl-arduino.spec.js b/res-pc/node_modules/avrgirl-arduino/tests/avrgirl-arduino.spec.js deleted file mode 100644 index 8ee71488..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/avrgirl-arduino.spec.js +++ /dev/null @@ -1,134 +0,0 @@ -var test = require('tape'); -var proxyquire = require('proxyquire'); - -var sinon = require('sinon'); - -// proxyquired connection module -// var Connection = proxyquire.noCallThru().load('../lib/connection', {SerialPort: mockSerial}); -var Connection = proxyquire.noCallThru().load('../lib/connection', { serialport: { - list: function(callback) { - callback(null, [ - { comName: '/dev/cu.sierravsp', manufacturer: '', serialNumber: '', - pnpId: '', locationId: '', vendorId: '', productId: '' }, - { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: '', - serialNumber: '', pnpId: '', locationId: '', vendorId: '', - productId: '' }, - { comName: '/dev/cu.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', - serialNumber: '55432333038351F03170', pnpId: '', locationId: '0x14200000', - vendorId: '0x2341', productId: '0x0043' } - ]); - }, - - SerialPort: require('./helpers/mockSerial').SerialPort -} }); - -// module to test -var Avrgirl = proxyquire('../avrgirl-arduino', { Connection: Connection }); - -// default options -var DEF_OPTS2 = { - board: 'uno' -}; - -test('[ AVRGIRL-ARDUINO ] method presence', function(t) { - var a = new Avrgirl(DEF_OPTS2); - function isFn(name) { - return typeof a[name] === 'function'; - } - - var methods = [ - 'flash', - '_validateBoard', - 'listPorts', - ]; - for (var i = 0; i < methods.length; i += 1) { - t.ok(isFn(methods[i]), methods[i]); - if (i === (methods.length - 1)) { - t.end(); - } - } -}); - -test('[ AVRGIRL-ARDUINO ] new creation', function(t) { - t.plan(3); - - var a = new Avrgirl(DEF_OPTS2); - t.ok(a.connection, 'connection was established'); - t.ok(a.options.board.baud, 'board was established'); - t.ok(a.protocol.chip, 'protocol was established'); -}); - -test('[ AVRGIRL-ARDUINO ] ::_validateBoard (GOOD)', function(t) { - t.plan(1); - - var a = new Avrgirl(DEF_OPTS2); - a._validateBoard(function(error) { - t.error(error, 'no error'); - }); -}); - -test('[ AVRGIRL-ARDUINO ] ::_validateBoard (NO BOARD)', function(t) { - t.plan(1); - - var a = new Avrgirl({ board: 'bacon' }); - a._validateBoard(function(error) { - t.ok(error, 'error returned'); - }); -}); - -test('[ AVRGIRL-ARDUINO ] ::_validateBoard (NO PROTOCOL)', function(t) { - t.plan(1); - - var a = new Avrgirl(DEF_OPTS2); - a.protocol = 'bacon'; - a._validateBoard(function(error) { - t.ok(error, 'error returned'); - }); -}); - -test('[ AVRGIRL-ARDUINO ] ::_validateBoard (NO PORT & PRO-MINI)', function(t) { - t.plan(1); - - var a = new Avrgirl({ board: 'pro-mini' }); - a._validateBoard(function(error) { - t.ok(error, 'error returned'); - }); -}); - -test('[ AVRGIRL-ARDUINO ] ::listPorts', function(t) { - t.plan(3); - Avrgirl.listPorts(function(error, ports) { - t.ok(ports.length, 'got a list of ports'); - t.ok(ports[2]._standardPid, 'added _standardPid property'); - t.error(error, 'no error on listing'); - }); -}); - -test('[ AVRGIRL-ARDUINO ] ::listPorts (prototype)', function(t) { - t.plan(3); - var a = new Avrgirl(DEF_OPTS2); - a.listPorts(function(error, ports) { - t.ok(ports.length, 'got a list of ports'); - t.ok(ports[2]._standardPid, 'added _standardPid property'); - t.error(error, 'no error on listing'); - }); -}); - - test('[ AVRGIRL-ARDUINO ] ::flash (shallow)', function(t) { - t.plan(4); - var a = new Avrgirl(DEF_OPTS2); - var spyInit = sinon.stub(a.connection, '_init').callsFake(function(callback) {return callback(null);}); - - var spyUpload = sinon.stub(a.protocol, '_upload').callsFake(function(file, callback) { - return callback(null); - }); - - var spyValidate = sinon.spy(a, '_validateBoard'); - - a.flash(__dirname + '/../junk/hex/uno/Blink.cpp.hex', function(error) { - t.ok(spyValidate.calledOnce, 'validated board'); - t.ok(spyInit.calledOnce, 'connection init'); - t.ok(spyUpload.calledOnce, 'upload to board attempt'); - t.error(error, 'no error'); - }); -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/connection.spec.js b/res-pc/node_modules/avrgirl-arduino/tests/connection.spec.js deleted file mode 100644 index 19918824..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/connection.spec.js +++ /dev/null @@ -1,201 +0,0 @@ -var test = require('tape'); -var proxyquire = require('proxyquire'); -var mockSerial = require('./helpers/mockSerial'); -var sinon = require('sinon'); - -// module to test -var ConnectionTest = proxyquire.noCallThru() - .load('../lib/connection', { SerialPort: mockSerial.SerialPort }); - -// default options -var DEF_OPTS1 = { - debug: false, - board: { - baud: 115200, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x0043', '0x7523', '0x0001', '0xea60'], - protocol: 'stk500v1' - }, - port: '' -}; - -test('[ Connection ] - new creation', function(t) { - t.plan(2); - var c = new ConnectionTest(DEF_OPTS1); - t.ok(c.board, 'board exists'); - t.equal(c.board.protocol, 'stk500v1', 'random board property is as expected'); -}); - -test('[ Connection ] ::_listPorts (UNIX)', function(t) { - t.plan(3); - var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { - list: function(callback) { - callback(null, [ - { comName: '/dev/cu.sierravsp', manufacturer: '', serialNumber: '', - pnpId: '', locationId: '', vendorId: '', productId: '' }, - { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: '', - serialNumber: '', pnpId: '', locationId: '', vendorId: '', - productId: '' }, - { comName: '/dev/cu.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', - serialNumber: '55432333038351F03170', pnpId: '', locationId: '0x14200000', - vendorId: '0x2341', productId: '0x0043' } - ]); - }, - - SerialPort: mockSerial.SerialPort - } }); - - // nodejs 0.10.x race condition needs this - setTimeout(function() { - var c = new ConnectionTest(DEF_OPTS1); - c._listPorts(function(error, ports) { - t.ok(ports.length, 'got a list of ports'); - t.ok(ports[2]._standardPid, 'added _standardPid property'); - t.error(error, 'no error on listing'); - }); - }, 200); -}); - -test('[ Connection ] ::_listPorts (WINDOWS)', function(t) { - t.plan(3); - var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { - list: function(callback) { - callback(null, [ - { comName: 'COM3', manufacturer: 'Microsoft', serialNumber: '', - pnpId: 'USB\\\\VID_2341&PID_0043\\\\55432333038351F03170', - locationId: '', vendorId: '', productId: '' } - ]); - }, - - SerialPort: mockSerial.SerialPort - } }); - - // nodejs 0.10.x race condition needs this - setTimeout(function() { - var c = new ConnectionTest(DEF_OPTS1); - c._listPorts(function(error, ports) { - t.ok(ports.length, 'got a list of ports'); - t.ok(ports[0]._standardPid, 'added _standardPid property'); - t.error(error, 'no error on listing'); - }); - }, 200); -}); - -test('[ Connection ] ::_sniffPort (UNIX)', function(t) { - t.plan(3); - var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { - list: function(callback) { - callback(null, [ - { comName: '/dev/cu.sierravsp', manufacturer: '', serialNumber: '', - pnpId: '', locationId: '', vendorId: '', productId: '' }, - { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: '', - serialNumber: '', pnpId: '', locationId: '', vendorId: '', - productId: '' }, - { comName: '/dev/cu.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', - serialNumber: '55432333038351F03170', pnpId: '', locationId: '0x14200000', - vendorId: '0x2341', productId: '0x0043' } - ]); - }, - - SerialPort: mockSerial.SerialPort - } }); - - // nodejs 0.10.x race condition needs this - setTimeout(function() { - var c = new ConnectionTest(DEF_OPTS1); - c._sniffPort(function(error, match) { - t.ok(match.length, 'board was detected'); - t.equal(match[0].comName, '/dev/cu.usbmodem1421', 'correct comName to match against'); - t.error(error, 'no error on return'); - }); - }, 200); -}); - -test('[ Connection ] ::_sniffPort (WINDOWS)', function(t) { - t.plan(3); - var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { - list: function(callback) { - callback(null, [ - { comName: 'COM3', manufacturer: 'Microsoft', serialNumber: '', - pnpId: 'USB\\\\VID_2341&PID_0043\\\\55432333038351F03170', - locationId: '', vendorId: '', productId: '' } - ]); - }, - - SerialPort: mockSerial.SerialPort - } }); - - // nodejs 0.10.x race condition needs this - setTimeout(function() { - var c = new ConnectionTest(DEF_OPTS1); - c._sniffPort(function(error, match) { - t.ok(match.length, 'board was detected'); - t.equal(match[0].comName, 'COM3', 'correct comName to match against'); - t.error(error, 'no error on return'); - }); - }, 200); -}); - -test('[ Connection ] ::_cycleDTR', function(t) { - t.plan(2); - var options = { - debug: false, - board: 'uno', - port: '/dev/cu.usbmodem1421' - }; - var c = new ConnectionTest(options); - var stub = sinon.stub(c, '_setDTR').callsFake(function(bool, timeout, callback) { - return callback(null); - }); - - c._cycleDTR(function(error) { - t.ok(stub.calledTwice, '_setDTR was called twice'); - t.error(error, 'no error'); - }); -}); - -test('[ Connection ] ::_pollForPort', function(t) { - t.plan(1); - var mockedSerial = mockSerial.SerialPort; - mockedSerial.list = function(callback) { - callback(null, [ - { comName: '/dev/cu.sierravsp', manufacturer: '', serialNumber: '', - pnpId: '', locationId: '', vendorId: '', productId: '' }, - { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: '', - serialNumber: '', pnpId: '', locationId: '', vendorId: '', - productId: '' }, - { comName: '/dev/cu.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', - serialNumber: '55432333038351F03170', pnpId: '', locationId: '0x14200000', - vendorId: '0x2341', productId: '0x0043' } - ]); - }; - - var ConnectionTest = proxyquire.noCallThru() - .load('../lib/connection', { serialport: mockSerial.SerialPort }); - - var options = { - debug: false, - board: { - baud: 115200, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x0043', '0x7523', '0x0001', '0xea60'], - protocol: 'stk500v1' - }, - port: '/dev/cu.usbmodem1421' - }; - - // nodejs 0.10.x race condition needs this - setTimeout(function() { - var c = new ConnectionTest(options); - c._pollForPort(function(error) { - t.error(error, 'no error on polling result'); - }); - }, 200); - -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/arduboy.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/arduboy.js deleted file mode 100644 index 82f22a25..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/arduboy.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'leonardo', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/arduboy/rund.cpp.leonardo.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/blend-micro.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/blend-micro.js deleted file mode 100644 index 364350d8..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/blend-micro.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'blend-micro', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/blend-micro/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/circuit-playground-classic.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/circuit-playground-classic.js deleted file mode 100644 index 152e102f..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/circuit-playground-classic.js +++ /dev/null @@ -1,16 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); - -var avrgirl = new Avrgirl({ - board: 'circuit-playground-classic', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/circuit-playground-classic/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.log('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/due168.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/due168.js deleted file mode 100644 index 78ca032c..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/due168.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'duemilanove168', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/duemilanove168/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/feather.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/feather.js deleted file mode 100644 index b00947b2..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/feather.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'feather', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/feather/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/imuduino.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/imuduino.js deleted file mode 100644 index eee3d2d4..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/imuduino.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'imuduino', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/imuduino/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/leonardo.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/leonardo.js deleted file mode 100644 index f5a0d885..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/leonardo.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'leonardo', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/leonardo/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/lilypad-usb.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/lilypad-usb.js deleted file mode 100644 index 80927a75..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/lilypad-usb.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'lilypad-usb', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/lilypad-usb/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/mega.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/mega.js deleted file mode 100644 index 7cc799c4..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/mega.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'mega', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/mega/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/micro.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/micro.js deleted file mode 100644 index 89a2bf58..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/micro.js +++ /dev/null @@ -1,23 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var board = { - name: 'micro', - baud: 57600, - signature: new Buffer([0x43, 0x41, 0x54, 0x45, 0x52, 0x49, 0x4e]), - productId: ['0x0037', '0x8037', '0x0036'], - protocol: 'avr109' -}; - -var avrgirl = new Avrgirl({ - board: board, - debug: true -}); - -var hex = __dirname + '/../../junk/hex/micro/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/nano.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/nano.js deleted file mode 100644 index 2a2e29a3..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/nano.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'nano', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/nano/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/pinoccio.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/pinoccio.js deleted file mode 100644 index bc6d5793..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/pinoccio.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'pinoccio', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/pinoccio/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/pro-mini.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/pro-mini.js deleted file mode 100644 index 9721a4b1..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/pro-mini.js +++ /dev/null @@ -1,16 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'pro-mini', - port: '/dev/cu.usbserial-A50285BI', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/pro-mini/StandardFirmata-3v.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/qduino.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/qduino.js deleted file mode 100644 index d4d56c42..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/qduino.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'qduino', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/qduino/rainbow.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/sf-pro-micro.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/sf-pro-micro.js deleted file mode 100644 index d2042b2d..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/sf-pro-micro.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'sf-pro-micro', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/sf-pro-micro/Blink-5v.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/tinyduino.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/tinyduino.js deleted file mode 100644 index 5517642b..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/tinyduino.js +++ /dev/null @@ -1,15 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); -var avrgirl = new Avrgirl({ - board: 'tinyduino', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/tinyduino/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/demos/uno.js b/res-pc/node_modules/avrgirl-arduino/tests/demos/uno.js deleted file mode 100644 index 8b565a30..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/demos/uno.js +++ /dev/null @@ -1,16 +0,0 @@ -var Avrgirl = require('../../avrgirl-arduino'); - -var avrgirl = new Avrgirl({ - board: 'uno', - debug: true -}); - -var hex = __dirname + '/../../junk/hex/uno/Blink.cpp.hex'; - -avrgirl.flash(hex, function(error) { - if (error) { - console.error(error); - } else { - console.info('done.'); - } -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/helpers/mockSerial.js b/res-pc/node_modules/avrgirl-arduino/tests/helpers/mockSerial.js deleted file mode 100644 index c5cfb813..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/helpers/mockSerial.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Provides a somewhat complete mock implementation of node-serialport - * built on top of virtual-serialport for later stubbing. - */ - -var util = require('util'); -var VirtualSerialPort = require('virtual-serialport'); - -var MockSerial = function() { - VirtualSerialPort.call(this); -}; - -util.inherits(MockSerial, VirtualSerialPort); - -MockSerial.prototype.open = function(callback) { - if (callback) { - return callback(null); - } - - return; -}; - -MockSerial.prototype.close = function(callback) { - if (callback) { - return callback(null); - } - - return; -}; - -MockSerial.prototype.drain = function(callback) { - if (callback) { - return callback(null); - } - - return; -}; - -MockSerial.prototype.set = function(props, callback) { - if (callback) { - return callback(null); - } - - return; -}; - -module.exports = { - list: function(callback) { - callback(null, []); - }, - - parsers: { - raw: function() {}, - - readline: function() {}, - - byteLength: function() {}, - - byteDelimeter: function() {} - }, - SerialPort: MockSerial -}; diff --git a/res-pc/node_modules/avrgirl-arduino/tests/helpers/mockStk500.js b/res-pc/node_modules/avrgirl-arduino/tests/helpers/mockStk500.js deleted file mode 100644 index e4b6d3fb..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/helpers/mockStk500.js +++ /dev/null @@ -1,8 +0,0 @@ -function mockStk500() { -} - -mockStk500.prototype.bootload = function(serialPort, hex, board, callback) { - callback(); -}; - -module.exports = mockStk500; diff --git a/res-pc/node_modules/avrgirl-arduino/tests/protocol.spec.js b/res-pc/node_modules/avrgirl-arduino/tests/protocol.spec.js deleted file mode 100644 index b23299c7..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/protocol.spec.js +++ /dev/null @@ -1,28 +0,0 @@ -var test = require('tape'); -var Protocol = require('../lib/protocol.js'); -var STK = require('stk500'); - -// default options -var DEF_OPTS3 = { - protocol: STK, - board: { - baud: 115200, - signature: new Buffer([0x1e, 0x95, 0x0f]), - pageSize: 128, - numPages: 256, - timeout: 400, - productId: ['0x0043', '0x7523'], - protocol: 'stk500v1' - }, - connection: {}, - debug: function() {} -}; - -test('[ Protocol ] - new creation', function(t) { - t.plan(4); - var p = new Protocol(DEF_OPTS3); - t.ok(p.board, 'established board'); - t.ok(p.connection, 'established connection'); - t.ok(p.chip, 'established chip'); - t.equal(typeof p._reset, 'function', 'has _reset function'); -}); diff --git a/res-pc/node_modules/avrgirl-arduino/tests/test-pilot.js b/res-pc/node_modules/avrgirl-arduino/tests/test-pilot.js deleted file mode 100644 index 07db4200..00000000 --- a/res-pc/node_modules/avrgirl-arduino/tests/test-pilot.js +++ /dev/null @@ -1,11 +0,0 @@ -var testpilot = require('avrga-tester'); -var Avrgirl = require('../avrgirl-arduino'); -var fs = require('fs'); -var path = require('path'); - -fs.readFile(path.join(__dirname, '..', 'package.json'), function (err, data) { - var pjson = JSON.parse(data); - var avrgav = pjson.version; - var hexpath = path.join(__dirname, '..', 'junk', 'hex'); - testpilot(Avrgirl, avrgav, hexpath); -}); diff --git a/res-pc/node_modules/awty/LICENSE b/res-pc/node_modules/awty/LICENSE deleted file mode 100644 index 937eb5f3..00000000 --- a/res-pc/node_modules/awty/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Christopher Turner - -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/res-pc/node_modules/awty/README.md b/res-pc/node_modules/awty/README.md deleted file mode 100644 index 0902837c..00000000 --- a/res-pc/node_modules/awty/README.md +++ /dev/null @@ -1,112 +0,0 @@ -# awty - -`awty`, *Are We There Yet?*, is a simplistic polling module for repeat checking on asynchrous tasks. - -[![Build Status](https://travis-ci.org/tur-nr/node-awty.svg?branch=master)](https://travis-ci.org/tur-nr/node-awty) - -### Example - -```js -var awty = require('awty'); -var poll = awty(function() { - // perform check on a certain length task - // return true if and when finished polling -}); - -poll(function() { - console.log('finished polling'); -}); -``` - -## Installation - -### Node - -To install `awty` in a Node application use npm. - -``` -$ npm install awty -``` - -### Browser - -No tests available for the browser but you may try using it via [webpack](https://github.com/webpack/webpack). - -``` -$ webpack index.js awty.js -``` - -## Test - -To run tests use npm. - -``` -$ npm install -$ npm test -``` - -## Documentation - -### Basic Usage - -`awty` takes a callback that will be called on each poll. Simply return `true` whenever the polling is finished. To start polling call the returned instance supplying a done callback. - -```js -poll.every(250) // every 250ms - .ask(5); // only poll check 5 times - -// start polling -poll(function(fin) { - if (fin) console.log('polling finished'); - else console.log('polling stopped unfinished'); -}); -``` - -Set the timeout for each poll by the `every` method, passing a number of ms each call should wait. - -A poll limit can also be set by the `ask` method, just pass a maximum number the poll should call. - -### Async Usage - -The callback that `awty` takes is also provided a `next` function as an argument. If the function uses the argument, it will wait until the `next` function is called. - -Instead of returning, whether or not to stop needs to be provided as an argument to the `next` function. - -```js -var awty = require('awty'); -var poll = awty(function(next) { - setTimeout(function() { - next(/* `true` if polling should be finished */); - }, 100) -}); - -poll(function() { - console.log('finished polling'); -}); -``` - -### Incremental Polls - -It possible to increment the timeout after each poll, using the `incr` method it will double the last timeout. Or supplying an number of ms to increment by. - -```js -poll.incr(); // 250, 500, 1000, 2000, 4000, ... - -// or set ms - -poll.incr(50); // 250, 300, 350, 400, 450, ... -``` - -## API - -#### awty(*<poll>*) -#### poll(*<cb>*) -#### poll.every(*<ms>*) -#### poll.ask(*<num>*) -#### poll.incr(*<val>*) - -## License - -[MIT](LICENSE) - -Copyright (c) 2014 [Christopher Turner](https://github.com/tur-nr) diff --git a/res-pc/node_modules/awty/doubler.js b/res-pc/node_modules/awty/doubler.js deleted file mode 100644 index aa6411e1..00000000 --- a/res-pc/node_modules/awty/doubler.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = function doubler(start, n) { - var i = 0; - while (i++ < n) { - start = start * 2; - } - return start; -}; diff --git a/res-pc/node_modules/awty/index.js b/res-pc/node_modules/awty/index.js deleted file mode 100644 index e2a9fe4a..00000000 --- a/res-pc/node_modules/awty/index.js +++ /dev/null @@ -1,111 +0,0 @@ -var isval = require('isval') - , doubler = require('./doubler'); - -module.exports = function awty(poll) { - if (!arguments.length) { - throw new SyntaxError('must supply a polling function'); - } - - if (!isval(poll, 'function')) { - throw new TypeError('poll must be a function'); - } - - return (function() { - var times = Infinity - , incr = false - , every = 1000 - , interval = null - , counter = 0 - , instance - , done; - - function run() { - var result = poll(next); - - if (poll.length === 0) { - next(result); - } - } - - function next(result) { - var timeout = every - , fin = done; - - counter += 1; - - if (result || counter >= times) { - if (done) { - done = null; - fin(!!result); - } - return; - } - - if (incr) { - if (incr === true) { - timeout = doubler(timeout, counter); - } else { - timeout += (counter * incr); - } - } - - interval = setTimeout(run, timeout); - } - - instance = function pollInstance(cb) { - if (interval) { - clearTimeout(interval); - interval = null; - if (done) { - done(false); - } - done = null; - counter = 0; - } - - if (arguments.length) { - if (!isval(cb, 'function')) { - throw new TypeError('done callback must be a function'); - } - done = cb; - } - - interval = setTimeout(run, every); - }; - - instance.ask = function pollAsk(n) { - if (interval) { - throw new SyntaxError('can not set ask limit during polling'); - } else if (!isval(n, 'number')) { - throw new TypeError('ask limit must be a number'); - } - times = n; - return instance; - }; - - instance.every = function pollEvery(ms) { - if (interval) { - throw new SyntaxError('can not set timeout during polling'); - } else if (!isval(ms, 'number')) { - throw new TypeError('timout must be a number'); - } - every = ms; - return instance; - }; - - instance.incr = function pollIncr(ms) { - if (interval) { - throw new SyntexError('can not set increment during polling'); - } else if (!arguments.length || isval(ms, 'boolean')) { - incr = !!ms; - } else if (isval(ms, 'number')) { - incr = ms; - } else { - throw new TypeError('increment must be a boolean or number'); - } - return instance; - }; - - return instance; - })(); -}; diff --git a/res-pc/node_modules/awty/package.json b/res-pc/node_modules/awty/package.json deleted file mode 100644 index 53ca4244..00000000 --- a/res-pc/node_modules/awty/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "_from": "awty@^0.1.0", - "_id": "awty@0.1.0", - "_inBundle": false, - "_integrity": "sha1-i3BcHuMTn41unylAnZC3T5PoQLo=", - "_location": "/awty", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "awty@^0.1.0", - "name": "awty", - "escapedName": "awty", - "rawSpec": "^0.1.0", - "saveSpec": null, - "fetchSpec": "^0.1.0" - }, - "_requiredBy": [ - "/avrgirl-arduino" - ], - "_resolved": "https://registry.npmjs.org/awty/-/awty-0.1.0.tgz", - "_shasum": "8b705c1ee3139f8d6e9f29409d90b74f93e840ba", - "_spec": "awty@^0.1.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/avrgirl-arduino", - "author": { - "name": "Christopher Turner", - "email": "turner296@gmail.com" - }, - "bugs": { - "url": "https://github.com/tur-nr/node-awty/issues" - }, - "bundleDependencies": false, - "dependencies": { - "isval": "0.0.2" - }, - "deprecated": false, - "description": "\"Are we there yet?\", a timeout/interval utility for polling.", - "devDependencies": { - "mocha": "^2.0.1" - }, - "homepage": "https://github.com/tur-nr/node-awty", - "keywords": [ - "poll", - "polling", - "interval", - "timeout" - ], - "license": "MIT", - "main": "index.js", - "name": "awty", - "repository": { - "type": "git", - "url": "git+https://github.com/tur-nr/node-awty.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.1.0" -} diff --git a/res-pc/node_modules/bindings/README.md b/res-pc/node_modules/bindings/README.md deleted file mode 100644 index a1f0d225..00000000 --- a/res-pc/node_modules/bindings/README.md +++ /dev/null @@ -1,98 +0,0 @@ -node-bindings -============= -### Helper module for loading your native module's .node file - -This is a helper module for authors of Node.js native addon modules. -It is basically the "swiss army knife" of `require()`ing your native module's -`.node` file. - -Throughout the course of Node's native addon history, addons have ended up being -compiled in a variety of different places, depending on which build tool and which -version of node was used. To make matters worse, now the _gyp_ build tool can -produce either a _Release_ or _Debug_ build, each being built into different -locations. - -This module checks _all_ the possible locations that a native addon would be built -at, and returns the first one that loads successfully. - - -Installation ------------- - -Install with `npm`: - -``` bash -$ npm install bindings -``` - -Or add it to the `"dependencies"` section of your _package.json_ file. - - -Example -------- - -`require()`ing the proper bindings file for the current node version, platform -and architecture is as simple as: - -``` js -var bindings = require('bindings')('binding.node') - -// Use your bindings defined in your C files -bindings.your_c_function() -``` - - -Nice Error Output ------------------ - -When the `.node` file could not be loaded, `node-bindings` throws an Error with -a nice error message telling you exactly what was tried. You can also check the -`err.tries` Array property. - -``` -Error: Could not load the bindings file. Tried: - → /Users/nrajlich/ref/build/binding.node - → /Users/nrajlich/ref/build/Debug/binding.node - → /Users/nrajlich/ref/build/Release/binding.node - → /Users/nrajlich/ref/out/Debug/binding.node - → /Users/nrajlich/ref/Debug/binding.node - → /Users/nrajlich/ref/out/Release/binding.node - → /Users/nrajlich/ref/Release/binding.node - → /Users/nrajlich/ref/build/default/binding.node - → /Users/nrajlich/ref/compiled/0.8.2/darwin/x64/binding.node - at bindings (/Users/nrajlich/ref/node_modules/bindings/bindings.js:84:13) - at Object. (/Users/nrajlich/ref/lib/ref.js:5:47) - at Module._compile (module.js:449:26) - at Object.Module._extensions..js (module.js:467:10) - at Module.load (module.js:356:32) - at Function.Module._load (module.js:312:12) - ... -``` - -The searching for the `.node` file will originate from the first directory in which has a `package.json` file is found. - -License -------- - -(The MIT License) - -Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net> - -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/res-pc/node_modules/bindings/bindings.js b/res-pc/node_modules/bindings/bindings.js deleted file mode 100644 index 9a497bf0..00000000 --- a/res-pc/node_modules/bindings/bindings.js +++ /dev/null @@ -1,171 +0,0 @@ - -/** - * Module dependencies. - */ - -var fs = require('fs') - , path = require('path') - , join = path.join - , dirname = path.dirname - , exists = ((fs.accessSync && function (path) { try { fs.accessSync(path); } catch (e) { return false; } return true; }) - || fs.existsSync || path.existsSync) - , defaults = { - arrow: process.env.NODE_BINDINGS_ARROW || ' → ' - , compiled: process.env.NODE_BINDINGS_COMPILED_DIR || 'compiled' - , platform: process.platform - , arch: process.arch - , version: process.versions.node - , bindings: 'bindings.node' - , try: [ - // node-gyp's linked version in the "build" dir - [ 'module_root', 'build', 'bindings' ] - // node-waf and gyp_addon (a.k.a node-gyp) - , [ 'module_root', 'build', 'Debug', 'bindings' ] - , [ 'module_root', 'build', 'Release', 'bindings' ] - // Debug files, for development (legacy behavior, remove for node v0.9) - , [ 'module_root', 'out', 'Debug', 'bindings' ] - , [ 'module_root', 'Debug', 'bindings' ] - // Release files, but manually compiled (legacy behavior, remove for node v0.9) - , [ 'module_root', 'out', 'Release', 'bindings' ] - , [ 'module_root', 'Release', 'bindings' ] - // Legacy from node-waf, node <= 0.4.x - , [ 'module_root', 'build', 'default', 'bindings' ] - // Production "Release" buildtype binary (meh...) - , [ 'module_root', 'compiled', 'version', 'platform', 'arch', 'bindings' ] - ] - } - -/** - * The main `bindings()` function loads the compiled bindings for a given module. - * It uses V8's Error API to determine the parent filename that this function is - * being invoked from, which is then used to find the root directory. - */ - -function bindings (opts) { - - // Argument surgery - if (typeof opts == 'string') { - opts = { bindings: opts } - } else if (!opts) { - opts = {} - } - - // maps `defaults` onto `opts` object - Object.keys(defaults).map(function(i) { - if (!(i in opts)) opts[i] = defaults[i]; - }); - - // Get the module root - if (!opts.module_root) { - opts.module_root = exports.getRoot(exports.getFileName()) - } - - // Ensure the given bindings name ends with .node - if (path.extname(opts.bindings) != '.node') { - opts.bindings += '.node' - } - - var tries = [] - , i = 0 - , l = opts.try.length - , n - , b - , err - - for (; i* - -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/res-pc/node_modules/bl/README.md b/res-pc/node_modules/bl/README.md deleted file mode 100644 index da0c1833..00000000 --- a/res-pc/node_modules/bl/README.md +++ /dev/null @@ -1,208 +0,0 @@ -# bl *(BufferList)* - -[![Build Status](https://travis-ci.org/rvagg/bl.svg?branch=master)](https://travis-ci.org/rvagg/bl) - -**A Node.js Buffer list collector, reader and streamer thingy.** - -[![NPM](https://nodei.co/npm/bl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/bl/) -[![NPM](https://nodei.co/npm-dl/bl.png?months=6&height=3)](https://nodei.co/npm/bl/) - -**bl** is a storage object for collections of Node Buffers, exposing them with the main Buffer readable API. Also works as a duplex stream so you can collect buffers from a stream that emits them and emit buffers to a stream that consumes them! - -The original buffers are kept intact and copies are only done as necessary. Any reads that require the use of a single original buffer will return a slice of that buffer only (which references the same memory as the original buffer). Reads that span buffers perform concatenation as required and return the results transparently. - -```js -const BufferList = require('bl') - -var bl = new BufferList() -bl.append(new Buffer('abcd')) -bl.append(new Buffer('efg')) -bl.append('hi') // bl will also accept & convert Strings -bl.append(new Buffer('j')) -bl.append(new Buffer([ 0x3, 0x4 ])) - -console.log(bl.length) // 12 - -console.log(bl.slice(0, 10).toString('ascii')) // 'abcdefghij' -console.log(bl.slice(3, 10).toString('ascii')) // 'defghij' -console.log(bl.slice(3, 6).toString('ascii')) // 'def' -console.log(bl.slice(3, 8).toString('ascii')) // 'defgh' -console.log(bl.slice(5, 10).toString('ascii')) // 'fghij' - -// or just use toString! -console.log(bl.toString()) // 'abcdefghij\u0003\u0004' -console.log(bl.toString('ascii', 3, 8)) // 'defgh' -console.log(bl.toString('ascii', 5, 10)) // 'fghij' - -// other standard Buffer readables -console.log(bl.readUInt16BE(10)) // 0x0304 -console.log(bl.readUInt16LE(10)) // 0x0403 -``` - -Give it a callback in the constructor and use it just like **[concat-stream](https://github.com/maxogden/node-concat-stream)**: - -```js -const bl = require('bl') - , fs = require('fs') - -fs.createReadStream('README.md') - .pipe(bl(function (err, data) { // note 'new' isn't strictly required - // `data` is a complete Buffer object containing the full data - console.log(data.toString()) - })) -``` - -Note that when you use the *callback* method like this, the resulting `data` parameter is a concatenation of all `Buffer` objects in the list. If you want to avoid the overhead of this concatenation (in cases of extreme performance consciousness), then avoid the *callback* method and just listen to `'end'` instead, like a standard Stream. - -Or to fetch a URL using [hyperquest](https://github.com/substack/hyperquest) (should work with [request](http://github.com/mikeal/request) and even plain Node http too!): -```js -const hyperquest = require('hyperquest') - , bl = require('bl') - , url = 'https://raw.github.com/rvagg/bl/master/README.md' - -hyperquest(url).pipe(bl(function (err, data) { - console.log(data.toString()) -})) -``` - -Or, use it as a readable stream to recompose a list of Buffers to an output source: - -```js -const BufferList = require('bl') - , fs = require('fs') - -var bl = new BufferList() -bl.append(new Buffer('abcd')) -bl.append(new Buffer('efg')) -bl.append(new Buffer('hi')) -bl.append(new Buffer('j')) - -bl.pipe(fs.createWriteStream('gibberish.txt')) -``` - -## API - - * new BufferList([ callback ]) - * bl.length - * bl.append(buffer) - * bl.get(index) - * bl.slice([ start[, end ] ]) - * bl.shallowSlice([ start[, end ] ]) - * bl.copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ]) - * bl.duplicate() - * bl.consume(bytes) - * bl.toString([encoding, [ start, [ end ]]]) - * bl.readDoubleBE(), bl.readDoubleLE(), bl.readFloatBE(), bl.readFloatLE(), bl.readInt32BE(), bl.readInt32LE(), bl.readUInt32BE(), bl.readUInt32LE(), bl.readInt16BE(), bl.readInt16LE(), bl.readUInt16BE(), bl.readUInt16LE(), bl.readInt8(), bl.readUInt8() - * Streams - --------------------------------------------------------- - -### new BufferList([ callback | Buffer | Buffer array | BufferList | BufferList array | String ]) -The constructor takes an optional callback, if supplied, the callback will be called with an error argument followed by a reference to the **bl** instance, when `bl.end()` is called (i.e. from a piped stream). This is a convenient method of collecting the entire contents of a stream, particularly when the stream is *chunky*, such as a network stream. - -Normally, no arguments are required for the constructor, but you can initialise the list by passing in a single `Buffer` object or an array of `Buffer` object. - -`new` is not strictly required, if you don't instantiate a new object, it will be done automatically for you so you can create a new instance simply with: - -```js -var bl = require('bl') -var myinstance = bl() - -// equivilant to: - -var BufferList = require('bl') -var myinstance = new BufferList() -``` - --------------------------------------------------------- - -### bl.length -Get the length of the list in bytes. This is the sum of the lengths of all of the buffers contained in the list, minus any initial offset for a semi-consumed buffer at the beginning. Should accurately represent the total number of bytes that can be read from the list. - --------------------------------------------------------- - -### bl.append(Buffer | Buffer array | BufferList | BufferList array | String) -`append(buffer)` adds an additional buffer or BufferList to the internal list. `this` is returned so it can be chained. - --------------------------------------------------------- - -### bl.get(index) -`get()` will return the byte at the specified index. - --------------------------------------------------------- - -### bl.slice([ start, [ end ] ]) -`slice()` returns a new `Buffer` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively. - -If the requested range spans a single internal buffer then a slice of that buffer will be returned which shares the original memory range of that Buffer. If the range spans multiple buffers then copy operations will likely occur to give you a uniform Buffer. - --------------------------------------------------------- - -### bl.shallowSlice([ start, [ end ] ]) -`shallowSlice()` returns a new `BufferList` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively. - -No copies will be performed. All buffers in the result share memory with the original list. - --------------------------------------------------------- - -### bl.copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ]) -`copy()` copies the content of the list in the `dest` buffer, starting from `destStart` and containing the bytes within the range specified with `srcStart` to `srcEnd`. `destStart`, `start` and `end` are optional and will default to the beginning of the `dest` buffer, and the beginning and end of the list respectively. - --------------------------------------------------------- - -### bl.duplicate() -`duplicate()` performs a **shallow-copy** of the list. The internal Buffers remains the same, so if you change the underlying Buffers, the change will be reflected in both the original and the duplicate. This method is needed if you want to call `consume()` or `pipe()` and still keep the original list.Example: - -```js -var bl = new BufferList() - -bl.append('hello') -bl.append(' world') -bl.append('\n') - -bl.duplicate().pipe(process.stdout, { end: false }) - -console.log(bl.toString()) -``` - --------------------------------------------------------- - -### bl.consume(bytes) -`consume()` will shift bytes *off the start of the list*. The number of bytes consumed don't need to line up with the sizes of the internal Buffers—initial offsets will be calculated accordingly in order to give you a consistent view of the data. - --------------------------------------------------------- - -### bl.toString([encoding, [ start, [ end ]]]) -`toString()` will return a string representation of the buffer. The optional `start` and `end` arguments are passed on to `slice()`, while the `encoding` is passed on to `toString()` of the resulting Buffer. See the [Buffer#toString()](http://nodejs.org/docs/latest/api/buffer.html#buffer_buf_tostring_encoding_start_end) documentation for more information. - --------------------------------------------------------- - -### bl.readDoubleBE(), bl.readDoubleLE(), bl.readFloatBE(), bl.readFloatLE(), bl.readInt32BE(), bl.readInt32LE(), bl.readUInt32BE(), bl.readUInt32LE(), bl.readInt16BE(), bl.readInt16LE(), bl.readUInt16BE(), bl.readUInt16LE(), bl.readInt8(), bl.readUInt8() - -All of the standard byte-reading methods of the `Buffer` interface are implemented and will operate across internal Buffer boundaries transparently. - -See the [Buffer](http://nodejs.org/docs/latest/api/buffer.html) documentation for how these work. - --------------------------------------------------------- - -### Streams -**bl** is a Node **[Duplex Stream](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_duplex)**, so it can be read from and written to like a standard Node stream. You can also `pipe()` to and from a **bl** instance. - --------------------------------------------------------- - -## Contributors - -**bl** is brought to you by the following hackers: - - * [Rod Vagg](https://github.com/rvagg) - * [Matteo Collina](https://github.com/mcollina) - * [Jarett Cruger](https://github.com/jcrugzz) - -======= - - -## License & copyright - -Copyright (c) 2013-2016 bl contributors (listed above). - -bl is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details. diff --git a/res-pc/node_modules/bl/bl.js b/res-pc/node_modules/bl/bl.js deleted file mode 100644 index 98983316..00000000 --- a/res-pc/node_modules/bl/bl.js +++ /dev/null @@ -1,280 +0,0 @@ -var DuplexStream = require('readable-stream/duplex') - , util = require('util') - - -function BufferList (callback) { - if (!(this instanceof BufferList)) - return new BufferList(callback) - - this._bufs = [] - this.length = 0 - - if (typeof callback == 'function') { - this._callback = callback - - var piper = function piper (err) { - if (this._callback) { - this._callback(err) - this._callback = null - } - }.bind(this) - - this.on('pipe', function onPipe (src) { - src.on('error', piper) - }) - this.on('unpipe', function onUnpipe (src) { - src.removeListener('error', piper) - }) - } else { - this.append(callback) - } - - DuplexStream.call(this) -} - - -util.inherits(BufferList, DuplexStream) - - -BufferList.prototype._offset = function _offset (offset) { - var tot = 0, i = 0, _t - if (offset === 0) return [ 0, 0 ] - for (; i < this._bufs.length; i++) { - _t = tot + this._bufs[i].length - if (offset < _t || i == this._bufs.length - 1) - return [ i, offset - tot ] - tot = _t - } -} - - -BufferList.prototype.append = function append (buf) { - var i = 0 - - if (Buffer.isBuffer(buf)) { - this._appendBuffer(buf); - } else if (Array.isArray(buf)) { - for (; i < buf.length; i++) - this.append(buf[i]) - } else if (buf instanceof BufferList) { - // unwrap argument into individual BufferLists - for (; i < buf._bufs.length; i++) - this.append(buf._bufs[i]) - } else if (buf != null) { - // coerce number arguments to strings, since Buffer(number) does - // uninitialized memory allocation - if (typeof buf == 'number') - buf = buf.toString() - - this._appendBuffer(new Buffer(buf)); - } - - return this -} - - -BufferList.prototype._appendBuffer = function appendBuffer (buf) { - this._bufs.push(buf) - this.length += buf.length -} - - -BufferList.prototype._write = function _write (buf, encoding, callback) { - this._appendBuffer(buf) - - if (typeof callback == 'function') - callback() -} - - -BufferList.prototype._read = function _read (size) { - if (!this.length) - return this.push(null) - - size = Math.min(size, this.length) - this.push(this.slice(0, size)) - this.consume(size) -} - - -BufferList.prototype.end = function end (chunk) { - DuplexStream.prototype.end.call(this, chunk) - - if (this._callback) { - this._callback(null, this.slice()) - this._callback = null - } -} - - -BufferList.prototype.get = function get (index) { - return this.slice(index, index + 1)[0] -} - - -BufferList.prototype.slice = function slice (start, end) { - if (typeof start == 'number' && start < 0) - start += this.length - if (typeof end == 'number' && end < 0) - end += this.length - return this.copy(null, 0, start, end) -} - - -BufferList.prototype.copy = function copy (dst, dstStart, srcStart, srcEnd) { - if (typeof srcStart != 'number' || srcStart < 0) - srcStart = 0 - if (typeof srcEnd != 'number' || srcEnd > this.length) - srcEnd = this.length - if (srcStart >= this.length) - return dst || new Buffer(0) - if (srcEnd <= 0) - return dst || new Buffer(0) - - var copy = !!dst - , off = this._offset(srcStart) - , len = srcEnd - srcStart - , bytes = len - , bufoff = (copy && dstStart) || 0 - , start = off[1] - , l - , i - - // copy/slice everything - if (srcStart === 0 && srcEnd == this.length) { - if (!copy) { // slice, but full concat if multiple buffers - return this._bufs.length === 1 - ? this._bufs[0] - : Buffer.concat(this._bufs, this.length) - } - - // copy, need to copy individual buffers - for (i = 0; i < this._bufs.length; i++) { - this._bufs[i].copy(dst, bufoff) - bufoff += this._bufs[i].length - } - - return dst - } - - // easy, cheap case where it's a subset of one of the buffers - if (bytes <= this._bufs[off[0]].length - start) { - return copy - ? this._bufs[off[0]].copy(dst, dstStart, start, start + bytes) - : this._bufs[off[0]].slice(start, start + bytes) - } - - if (!copy) // a slice, we need something to copy in to - dst = new Buffer(len) - - for (i = off[0]; i < this._bufs.length; i++) { - l = this._bufs[i].length - start - - if (bytes > l) { - this._bufs[i].copy(dst, bufoff, start) - } else { - this._bufs[i].copy(dst, bufoff, start, start + bytes) - break - } - - bufoff += l - bytes -= l - - if (start) - start = 0 - } - - return dst -} - -BufferList.prototype.shallowSlice = function shallowSlice (start, end) { - start = start || 0 - end = end || this.length - - if (start < 0) - start += this.length - if (end < 0) - end += this.length - - var startOffset = this._offset(start) - , endOffset = this._offset(end) - , buffers = this._bufs.slice(startOffset[0], endOffset[0] + 1) - - if (endOffset[1] == 0) - buffers.pop() - else - buffers[buffers.length-1] = buffers[buffers.length-1].slice(0, endOffset[1]) - - if (startOffset[1] != 0) - buffers[0] = buffers[0].slice(startOffset[1]) - - return new BufferList(buffers) -} - -BufferList.prototype.toString = function toString (encoding, start, end) { - return this.slice(start, end).toString(encoding) -} - -BufferList.prototype.consume = function consume (bytes) { - while (this._bufs.length) { - if (bytes >= this._bufs[0].length) { - bytes -= this._bufs[0].length - this.length -= this._bufs[0].length - this._bufs.shift() - } else { - this._bufs[0] = this._bufs[0].slice(bytes) - this.length -= bytes - break - } - } - return this -} - - -BufferList.prototype.duplicate = function duplicate () { - var i = 0 - , copy = new BufferList() - - for (; i < this._bufs.length; i++) - copy.append(this._bufs[i]) - - return copy -} - - -BufferList.prototype.destroy = function destroy () { - this._bufs.length = 0 - this.length = 0 - this.push(null) -} - - -;(function () { - var methods = { - 'readDoubleBE' : 8 - , 'readDoubleLE' : 8 - , 'readFloatBE' : 4 - , 'readFloatLE' : 4 - , 'readInt32BE' : 4 - , 'readInt32LE' : 4 - , 'readUInt32BE' : 4 - , 'readUInt32LE' : 4 - , 'readInt16BE' : 2 - , 'readInt16LE' : 2 - , 'readUInt16BE' : 2 - , 'readUInt16LE' : 2 - , 'readInt8' : 1 - , 'readUInt8' : 1 - } - - for (var m in methods) { - (function (m) { - BufferList.prototype[m] = function (offset) { - return this.slice(offset, offset + methods[m])[m](0) - } - }(m)) - } -}()) - - -module.exports = BufferList diff --git a/res-pc/node_modules/bl/package.json b/res-pc/node_modules/bl/package.json deleted file mode 100644 index 38728f92..00000000 --- a/res-pc/node_modules/bl/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "bl@^1.0.0", - "_id": "bl@1.2.1", - "_inBundle": false, - "_integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "_location": "/bl", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "bl@^1.0.0", - "name": "bl", - "escapedName": "bl", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/tar-stream" - ], - "_resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "_shasum": "cac328f7bee45730d404b692203fcb590e172d5e", - "_spec": "bl@^1.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/tar-stream", - "authors": [ - "Rod Vagg (https://github.com/rvagg)", - "Matteo Collina (https://github.com/mcollina)", - "Jarett Cruger (https://github.com/jcrugzz)" - ], - "bugs": { - "url": "https://github.com/rvagg/bl/issues" - }, - "bundleDependencies": false, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "deprecated": false, - "description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!", - "devDependencies": { - "faucet": "0.0.1", - "hash_file": "~0.1.1", - "tape": "~4.6.0" - }, - "homepage": "https://github.com/rvagg/bl", - "keywords": [ - "buffer", - "buffers", - "stream", - "awesomesauce" - ], - "license": "MIT", - "main": "bl.js", - "name": "bl", - "repository": { - "type": "git", - "url": "git+https://github.com/rvagg/bl.git" - }, - "scripts": { - "test": "node test/test.js | faucet" - }, - "version": "1.2.1" -} diff --git a/res-pc/node_modules/bl/test/test.js b/res-pc/node_modules/bl/test/test.js deleted file mode 100644 index 396974ec..00000000 --- a/res-pc/node_modules/bl/test/test.js +++ /dev/null @@ -1,701 +0,0 @@ -var tape = require('tape') - , crypto = require('crypto') - , fs = require('fs') - , hash = require('hash_file') - , BufferList = require('../') - - , encodings = - ('hex utf8 utf-8 ascii binary base64' - + (process.browser ? '' : ' ucs2 ucs-2 utf16le utf-16le')).split(' ') - -tape('single bytes from single buffer', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abcd')) - - t.equal(bl.length, 4) - - t.equal(bl.get(0), 97) - t.equal(bl.get(1), 98) - t.equal(bl.get(2), 99) - t.equal(bl.get(3), 100) - - t.end() -}) - -tape('single bytes from multiple buffers', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.length, 10) - - t.equal(bl.get(0), 97) - t.equal(bl.get(1), 98) - t.equal(bl.get(2), 99) - t.equal(bl.get(3), 100) - t.equal(bl.get(4), 101) - t.equal(bl.get(5), 102) - t.equal(bl.get(6), 103) - t.equal(bl.get(7), 104) - t.equal(bl.get(8), 105) - t.equal(bl.get(9), 106) - t.end() -}) - -tape('multi bytes from single buffer', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abcd')) - - t.equal(bl.length, 4) - - t.equal(bl.slice(0, 4).toString('ascii'), 'abcd') - t.equal(bl.slice(0, 3).toString('ascii'), 'abc') - t.equal(bl.slice(1, 4).toString('ascii'), 'bcd') - t.equal(bl.slice(-4, -1).toString('ascii'), 'abc') - - t.end() -}) - -tape('multi bytes from single buffer (negative indexes)', function (t) { - var bl = new BufferList() - bl.append(new Buffer('buffer')) - - t.equal(bl.length, 6) - - t.equal(bl.slice(-6, -1).toString('ascii'), 'buffe') - t.equal(bl.slice(-6, -2).toString('ascii'), 'buff') - t.equal(bl.slice(-5, -2).toString('ascii'), 'uff') - - t.end() -}) - -tape('multiple bytes from multiple buffers', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - t.equal(bl.slice(3, 10).toString('ascii'), 'defghij') - t.equal(bl.slice(3, 6).toString('ascii'), 'def') - t.equal(bl.slice(3, 8).toString('ascii'), 'defgh') - t.equal(bl.slice(5, 10).toString('ascii'), 'fghij') - t.equal(bl.slice(-7, -4).toString('ascii'), 'def') - - t.end() -}) - -tape('multiple bytes from multiple buffer lists', function (t) { - var bl = new BufferList() - - bl.append(new BufferList([ new Buffer('abcd'), new Buffer('efg') ])) - bl.append(new BufferList([ new Buffer('hi'), new Buffer('j') ])) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - - t.equal(bl.slice(3, 10).toString('ascii'), 'defghij') - t.equal(bl.slice(3, 6).toString('ascii'), 'def') - t.equal(bl.slice(3, 8).toString('ascii'), 'defgh') - t.equal(bl.slice(5, 10).toString('ascii'), 'fghij') - - t.end() -}) - -// same data as previous test, just using nested constructors -tape('multiple bytes from crazy nested buffer lists', function (t) { - var bl = new BufferList() - - bl.append(new BufferList([ - new BufferList([ - new BufferList(new Buffer('abc')) - , new Buffer('d') - , new BufferList(new Buffer('efg')) - ]) - , new BufferList([ new Buffer('hi') ]) - , new BufferList(new Buffer('j')) - ])) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - - t.equal(bl.slice(3, 10).toString('ascii'), 'defghij') - t.equal(bl.slice(3, 6).toString('ascii'), 'def') - t.equal(bl.slice(3, 8).toString('ascii'), 'defgh') - t.equal(bl.slice(5, 10).toString('ascii'), 'fghij') - - t.end() -}) - -tape('append accepts arrays of Buffers', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abc')) - bl.append([ new Buffer('def') ]) - bl.append([ new Buffer('ghi'), new Buffer('jkl') ]) - bl.append([ new Buffer('mnop'), new Buffer('qrstu'), new Buffer('vwxyz') ]) - t.equal(bl.length, 26) - t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz') - t.end() -}) - -tape('append accepts arrays of BufferLists', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abc')) - bl.append([ new BufferList('def') ]) - bl.append(new BufferList([ new Buffer('ghi'), new BufferList('jkl') ])) - bl.append([ new Buffer('mnop'), new BufferList([ new Buffer('qrstu'), new Buffer('vwxyz') ]) ]) - t.equal(bl.length, 26) - t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz') - t.end() -}) - -tape('append chainable', function (t) { - var bl = new BufferList() - t.ok(bl.append(new Buffer('abcd')) === bl) - t.ok(bl.append([ new Buffer('abcd') ]) === bl) - t.ok(bl.append(new BufferList(new Buffer('abcd'))) === bl) - t.ok(bl.append([ new BufferList(new Buffer('abcd')) ]) === bl) - t.end() -}) - -tape('append chainable (test results)', function (t) { - var bl = new BufferList('abc') - .append([ new BufferList('def') ]) - .append(new BufferList([ new Buffer('ghi'), new BufferList('jkl') ])) - .append([ new Buffer('mnop'), new BufferList([ new Buffer('qrstu'), new Buffer('vwxyz') ]) ]) - - t.equal(bl.length, 26) - t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz') - t.end() -}) - -tape('consuming from multiple buffers', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - - bl.consume(3) - t.equal(bl.length, 7) - t.equal(bl.slice(0, 7).toString('ascii'), 'defghij') - - bl.consume(2) - t.equal(bl.length, 5) - t.equal(bl.slice(0, 5).toString('ascii'), 'fghij') - - bl.consume(1) - t.equal(bl.length, 4) - t.equal(bl.slice(0, 4).toString('ascii'), 'ghij') - - bl.consume(1) - t.equal(bl.length, 3) - t.equal(bl.slice(0, 3).toString('ascii'), 'hij') - - bl.consume(2) - t.equal(bl.length, 1) - t.equal(bl.slice(0, 1).toString('ascii'), 'j') - - t.end() -}) - -tape('complete consumption', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('a')) - bl.append(new Buffer('b')) - - bl.consume(2) - - t.equal(bl.length, 0) - t.equal(bl._bufs.length, 0) - - t.end() -}) - -tape('test readUInt8 / readInt8', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x3 - buf2[2] = 0x4 - buf3[0] = 0x23 - buf3[1] = 0x42 - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readUInt8(2), 0x3) - t.equal(bl.readInt8(2), 0x3) - t.equal(bl.readUInt8(3), 0x4) - t.equal(bl.readInt8(3), 0x4) - t.equal(bl.readUInt8(4), 0x23) - t.equal(bl.readInt8(4), 0x23) - t.equal(bl.readUInt8(5), 0x42) - t.equal(bl.readInt8(5), 0x42) - t.end() -}) - -tape('test readUInt16LE / readUInt16BE / readInt16LE / readInt16BE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x3 - buf2[2] = 0x4 - buf3[0] = 0x23 - buf3[1] = 0x42 - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readUInt16BE(2), 0x0304) - t.equal(bl.readUInt16LE(2), 0x0403) - t.equal(bl.readInt16BE(2), 0x0304) - t.equal(bl.readInt16LE(2), 0x0403) - t.equal(bl.readUInt16BE(3), 0x0423) - t.equal(bl.readUInt16LE(3), 0x2304) - t.equal(bl.readInt16BE(3), 0x0423) - t.equal(bl.readInt16LE(3), 0x2304) - t.equal(bl.readUInt16BE(4), 0x2342) - t.equal(bl.readUInt16LE(4), 0x4223) - t.equal(bl.readInt16BE(4), 0x2342) - t.equal(bl.readInt16LE(4), 0x4223) - t.end() -}) - -tape('test readUInt32LE / readUInt32BE / readInt32LE / readInt32BE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x3 - buf2[2] = 0x4 - buf3[0] = 0x23 - buf3[1] = 0x42 - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readUInt32BE(2), 0x03042342) - t.equal(bl.readUInt32LE(2), 0x42230403) - t.equal(bl.readInt32BE(2), 0x03042342) - t.equal(bl.readInt32LE(2), 0x42230403) - t.end() -}) - -tape('test readFloatLE / readFloatBE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x00 - buf2[2] = 0x00 - buf3[0] = 0x80 - buf3[1] = 0x3f - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readFloatLE(2), 0x01) - t.end() -}) - -tape('test readDoubleLE / readDoubleBE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(10) - , bl = new BufferList() - - buf2[1] = 0x55 - buf2[2] = 0x55 - buf3[0] = 0x55 - buf3[1] = 0x55 - buf3[2] = 0x55 - buf3[3] = 0x55 - buf3[4] = 0xd5 - buf3[5] = 0x3f - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readDoubleLE(2), 0.3333333333333333) - t.end() -}) - -tape('test toString', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.toString('ascii', 0, 10), 'abcdefghij') - t.equal(bl.toString('ascii', 3, 10), 'defghij') - t.equal(bl.toString('ascii', 3, 6), 'def') - t.equal(bl.toString('ascii', 3, 8), 'defgh') - t.equal(bl.toString('ascii', 5, 10), 'fghij') - - t.end() -}) - -tape('test toString encoding', function (t) { - var bl = new BufferList() - , b = new Buffer('abcdefghij\xff\x00') - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - bl.append(new Buffer('\xff\x00')) - - encodings.forEach(function (enc) { - t.equal(bl.toString(enc), b.toString(enc), enc) - }) - - t.end() -}) - -!process.browser && tape('test stream', function (t) { - var random = crypto.randomBytes(65534) - , rndhash = hash(random, 'md5') - , md5sum = crypto.createHash('md5') - , bl = new BufferList(function (err, buf) { - t.ok(Buffer.isBuffer(buf)) - t.ok(err === null) - t.equal(rndhash, hash(bl.slice(), 'md5')) - t.equal(rndhash, hash(buf, 'md5')) - - bl.pipe(fs.createWriteStream('/tmp/bl_test_rnd_out.dat')) - .on('close', function () { - var s = fs.createReadStream('/tmp/bl_test_rnd_out.dat') - s.on('data', md5sum.update.bind(md5sum)) - s.on('end', function() { - t.equal(rndhash, md5sum.digest('hex'), 'woohoo! correct hash!') - t.end() - }) - }) - - }) - - fs.writeFileSync('/tmp/bl_test_rnd.dat', random) - fs.createReadStream('/tmp/bl_test_rnd.dat').pipe(bl) -}) - -tape('instantiation with Buffer', function (t) { - var buf = crypto.randomBytes(1024) - , buf2 = crypto.randomBytes(1024) - , b = BufferList(buf) - - t.equal(buf.toString('hex'), b.slice().toString('hex'), 'same buffer') - b = BufferList([ buf, buf2 ]) - t.equal(b.slice().toString('hex'), Buffer.concat([ buf, buf2 ]).toString('hex'), 'same buffer') - t.end() -}) - -tape('test String appendage', function (t) { - var bl = new BufferList() - , b = new Buffer('abcdefghij\xff\x00') - - bl.append('abcd') - bl.append('efg') - bl.append('hi') - bl.append('j') - bl.append('\xff\x00') - - encodings.forEach(function (enc) { - t.equal(bl.toString(enc), b.toString(enc)) - }) - - t.end() -}) - -tape('test Number appendage', function (t) { - var bl = new BufferList() - , b = new Buffer('1234567890') - - bl.append(1234) - bl.append(567) - bl.append(89) - bl.append(0) - - encodings.forEach(function (enc) { - t.equal(bl.toString(enc), b.toString(enc)) - }) - - t.end() -}) - -tape('write nothing, should get empty buffer', function (t) { - t.plan(3) - BufferList(function (err, data) { - t.notOk(err, 'no error') - t.ok(Buffer.isBuffer(data), 'got a buffer') - t.equal(0, data.length, 'got a zero-length buffer') - t.end() - }).end() -}) - -tape('unicode string', function (t) { - t.plan(2) - var inp1 = '\u2600' - , inp2 = '\u2603' - , exp = inp1 + ' and ' + inp2 - , bl = BufferList() - bl.write(inp1) - bl.write(' and ') - bl.write(inp2) - t.equal(exp, bl.toString()) - t.equal(new Buffer(exp).toString('hex'), bl.toString('hex')) -}) - -tape('should emit finish', function (t) { - var source = BufferList() - , dest = BufferList() - - source.write('hello') - source.pipe(dest) - - dest.on('finish', function () { - t.equal(dest.toString('utf8'), 'hello') - t.end() - }) -}) - -tape('basic copy', function (t) { - var buf = crypto.randomBytes(1024) - , buf2 = new Buffer(1024) - , b = BufferList(buf) - - b.copy(buf2) - t.equal(b.slice().toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy after many appends', function (t) { - var buf = crypto.randomBytes(512) - , buf2 = new Buffer(1024) - , b = BufferList(buf) - - b.append(buf) - b.copy(buf2) - t.equal(b.slice().toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy at a precise position', function (t) { - var buf = crypto.randomBytes(1004) - , buf2 = new Buffer(1024) - , b = BufferList(buf) - - b.copy(buf2, 20) - t.equal(b.slice().toString('hex'), buf2.slice(20).toString('hex'), 'same buffer') - t.end() -}) - -tape('copy starting from a precise location', function (t) { - var buf = crypto.randomBytes(10) - , buf2 = new Buffer(5) - , b = BufferList(buf) - - b.copy(buf2, 0, 5) - t.equal(b.slice(5).toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy in an interval', function (t) { - var rnd = crypto.randomBytes(10) - , b = BufferList(rnd) // put the random bytes there - , actual = new Buffer(3) - , expected = new Buffer(3) - - rnd.copy(expected, 0, 5, 8) - b.copy(actual, 0, 5, 8) - - t.equal(actual.toString('hex'), expected.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy an interval between two buffers', function (t) { - var buf = crypto.randomBytes(10) - , buf2 = new Buffer(10) - , b = BufferList(buf) - - b.append(buf) - b.copy(buf2, 0, 5, 15) - - t.equal(b.slice(5, 15).toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('shallow slice across buffer boundaries', function (t) { - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice(3, 13).toString(), 'stSecondTh') - t.end() -}) - -tape('shallow slice within single buffer', function (t) { - t.plan(2) - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice(5, 10).toString(), 'Secon') - t.equal(bl.shallowSlice(7, 10).toString(), 'con') - t.end() -}) - -tape('shallow slice single buffer', function (t) { - t.plan(3) - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice(0, 5).toString(), 'First') - t.equal(bl.shallowSlice(5, 11).toString(), 'Second') - t.equal(bl.shallowSlice(11, 16).toString(), 'Third') -}) - -tape('shallow slice with negative or omitted indices', function (t) { - t.plan(4) - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice().toString(), 'FirstSecondThird') - t.equal(bl.shallowSlice(5).toString(), 'SecondThird') - t.equal(bl.shallowSlice(5, -3).toString(), 'SecondTh') - t.equal(bl.shallowSlice(-8).toString(), 'ondThird') -}) - -tape('shallow slice does not make a copy', function (t) { - t.plan(1) - var buffers = [new Buffer('First'), new Buffer('Second'), new Buffer('Third')] - var bl = (new BufferList(buffers)).shallowSlice(5, -3) - - buffers[1].fill('h') - buffers[2].fill('h') - - t.equal(bl.toString(), 'hhhhhhhh') -}) - -tape('duplicate', function (t) { - t.plan(2) - - var bl = new BufferList('abcdefghij\xff\x00') - , dup = bl.duplicate() - - t.equal(bl.prototype, dup.prototype) - t.equal(bl.toString('hex'), dup.toString('hex')) -}) - -tape('destroy no pipe', function (t) { - t.plan(2) - - var bl = new BufferList('alsdkfja;lsdkfja;lsdk') - bl.destroy() - - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) -}) - -!process.browser && tape('destroy with pipe before read end', function (t) { - t.plan(2) - - var bl = new BufferList() - fs.createReadStream(__dirname + '/test.js') - .pipe(bl) - - bl.destroy() - - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) - -}) - -!process.browser && tape('destroy with pipe before read end with race', function (t) { - t.plan(2) - - var bl = new BufferList() - fs.createReadStream(__dirname + '/test.js') - .pipe(bl) - - setTimeout(function () { - bl.destroy() - setTimeout(function () { - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) - }, 500) - }, 500) -}) - -!process.browser && tape('destroy with pipe after read end', function (t) { - t.plan(2) - - var bl = new BufferList() - fs.createReadStream(__dirname + '/test.js') - .on('end', onEnd) - .pipe(bl) - - function onEnd () { - bl.destroy() - - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) - } -}) - -!process.browser && tape('destroy with pipe while writing to a destination', function (t) { - t.plan(4) - - var bl = new BufferList() - , ds = new BufferList() - - fs.createReadStream(__dirname + '/test.js') - .on('end', onEnd) - .pipe(bl) - - function onEnd () { - bl.pipe(ds) - - setTimeout(function () { - bl.destroy() - - t.equals(bl._bufs.length, 0) - t.equals(bl.length, 0) - - ds.destroy() - - t.equals(bl._bufs.length, 0) - t.equals(bl.length, 0) - - }, 100) - } -}) - -!process.browser && tape('handle error', function (t) { - t.plan(2) - fs.createReadStream('/does/not/exist').pipe(BufferList(function (err, data) { - t.ok(err instanceof Error, 'has error') - t.notOk(data, 'no data') - })) -}) diff --git a/res-pc/node_modules/browser-serialport/.jshintrc b/res-pc/node_modules/browser-serialport/.jshintrc deleted file mode 100644 index 468cce0d..00000000 --- a/res-pc/node_modules/browser-serialport/.jshintrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "node": true, - "browser": true, - "debug": true, - "mocha": true, - "undef": true, - "unused": true, - "predef": [ - "chrome" - ] -} diff --git a/res-pc/node_modules/browser-serialport/LICENSE.md b/res-pc/node_modules/browser-serialport/LICENSE.md deleted file mode 100644 index e9c48401..00000000 --- a/res-pc/node_modules/browser-serialport/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Glen Arrowsmith - -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. \ No newline at end of file diff --git a/res-pc/node_modules/browser-serialport/README.md b/res-pc/node_modules/browser-serialport/README.md deleted file mode 100644 index ad385714..00000000 --- a/res-pc/node_modules/browser-serialport/README.md +++ /dev/null @@ -1,148 +0,0 @@ -# browser-serialport - -Robots in the browser. Just like [node-serialport](https://npmjs.org/package/serialport) but for browser apps. - - -## Why not Node.js? - -[Nodebots](http://nodebots.io/) are awesome but HTML5 apps have access to a lot of APIs that make sense for robotics like the [GamepadAPI](http://www.html5rocks.com/en/tutorials/doodles/gamepad/), [WebRTC Video and Data](http://www.webrtc.org/), [Web Speech API](http://www.google.com/intl/en/chrome/demos/speech.html), etc. Also you get a nice GUI and its easier to run. I have also made a fork of [Johnny-Five](https://github.com/garrows/johnny-five) to work with [Browserify](http://browserify.org/) as well by modifying it's dependancy [Firmata](https://github.com/garrows/firmata) to use browser-serialport. - -## Restrictions - -You will not be able to add this to your normal website. - -This library only works in a [Chrome Packaged App](http://developer.chrome.com/apps/about_apps.html) as this is the only way to get access to the [serial ports API](http://developer.chrome.com/apps/serial.html) in the browser. Incidentally, since [NW.js](http://nwjs.io/) (a.k.a. node-webkit) now fully supports the Chrome Packaged App platform, this means you can also use this library in NW.js v0.13+. - -If you want help making your first Chrome App, read the ["Create Your First App"](http://developer.chrome.com/apps/first_app.html) tutorial. - -There is currently no Firefox extension support but that might come soon if possible. - - -Known incompatibilities with node-serialport -------------------------------------------- -* Parsers not implemented -* Inconsistent error messages -* Chrome has a slightly different options set: - * __dataBits__: 7, 8 - * __stopBits__: 1, 2 - * __parity__: 'none', 'even', 'mark', 'odd', 'space' - * __flowControl__: 'RTSCTS' - - -## Installation - -``` -npm install browser-serialport -``` - -To Use ------- - -Opening a serial port: - -```js -var SerialPort = require("browser-serialport"); -var serialPort = new SerialPort("/dev/tty-usbserial1", { - baudrate: 57600 -}); -``` - -When opening a serial port, you can specify (in this order). - -1. Path to Serial Port - required. -1. Options - optional and described below. - -The options object allows you to pass named options to the serial port during initialization. The valid attributes for the options object are the following: - -* baudrate: Baud Rate, defaults to 9600. Should be one of: 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1800, 1200, 600, 300, 200, 150, 134, 110, 75, or 50. Custom rates as allowed by hardware is supported. -* databits: Data Bits, defaults to 8. Must be one of: 8, 7, ~~6~~, or ~~5~~. -* stopbits: Stop Bits, defaults to 1. Must be one of: 1 or 2. -* parity: Parity, defaults to 'none'. Must be one of: 'none', 'even', 'mark', 'odd', 'space' -* buffersize: Size of read buffer, defaults to 255. Must be an integer value. -* parser: The parser engine to use with read data, defaults to rawPacket strategy which just emits the raw buffer as a "data" event. Can be any function that accepts EventEmitter as first parameter and the raw buffer as the second parameter. - -**Note, we have added support for either all lowercase OR camelcase of the options (thanks @jagautier), use whichever style you prefer.** - -open event ----------- - -You MUST wait for the open event to be emitted before reading/writing to the serial port. The open happens asynchronously so installing 'data' listeners and writing -before the open event might result in... nothing at all. - -Assuming you are connected to a serial console, you would for example: - -```js -serialPort.on("open", function () { - console.log('open'); - serialPort.on('data', function(data) { - console.log('data received: ' + data); - }); - serialPort.write("ls\n", function(err, results) { - console.log('err ' + err); - console.log('results ' + results); - }); -}); -``` - -You can also call the open function, in this case instantiate the serialport with an additional `autoOpen` property set to `false`. - -```js -var SerialPort = require("browser-serialport").SerialPort -var serialPort = new SerialPort("/dev/tty-usbserial1", { - baudrate: 57600, - autoOpen: false -}); - -serialPort.open(function (error) { - if ( error ) { - console.log('failed to open: '+error); - } else { - console.log('open'); - serialPort.on('data', function(data) { - console.log('data received: ' + data); - }); - serialPort.write("ls\n", function(err, results) { - console.log('err ' + err); - console.log('results ' + results); - }); - } -}); -``` - -List Ports ----------- - -You can also list the ports along with some metadata as well. - -```js -var serialPort = require("browser-serialport"); -serialPort.list(function (err, ports) { - ports.forEach(function(port) { - console.log(port.comName); - console.log(port.pnpId); - console.log(port.manufacturer); - }); -}); -``` - -Parsers -------- - -Browser-serialport doesn't as of 2.0.0 support parsers. - - -You can get updates of new data from the Serial Port as follows: - -```js -serialPort.on("data", function (data) { - sys.puts("here: "+data); -}); -``` - -You can write to the serial port by sending a string or buffer to the write method as follows: - -```js -serialPort.write("OMG IT WORKS\r"); -``` - -Enjoy and do cool things with this code. diff --git a/res-pc/node_modules/browser-serialport/index.js b/res-pc/node_modules/browser-serialport/index.js deleted file mode 100644 index 72610de6..00000000 --- a/res-pc/node_modules/browser-serialport/index.js +++ /dev/null @@ -1,418 +0,0 @@ -'use strict'; - -var EE = require('events').EventEmitter; -var util = require('util'); - -var DATABITS = [7, 8]; -var STOPBITS = [1, 2]; -var PARITY = ['none', 'even', 'mark', 'odd', 'space']; -var FLOWCONTROLS = ['RTSCTS']; - -var _options = { - baudrate: 9600, - parity: 'none', - rtscts: false, - databits: 8, - stopbits: 1, - buffersize: 256 -}; - -function convertOptions(options){ - switch (options.dataBits) { - case 7: - options.dataBits = 'seven'; - break; - case 8: - options.dataBits = 'eight'; - break; - } - - switch (options.stopBits) { - case 1: - options.stopBits = 'one'; - break; - case 2: - options.stopBits = 'two'; - break; - } - - switch (options.parity) { - case 'none': - options.parity = 'no'; - break; - } - - return options; -} - -function SerialPort(path, options, callback) { - - EE.call(this); - - var self = this; - - var args = Array.prototype.slice.call(arguments); - callback = args.pop(); - if (typeof(callback) !== 'function') { - callback = null; - } - - options = (typeof options !== 'function') && options || {}; - - var autoOpen = (options.autoOpen === undefined || options.autoOpen === null) ? true : options.autoOpen; - - callback = callback || function (err) { - if (err) { - self.emit('error', err); - } - }; - - var err; - - options.baudRate = options.baudRate || options.baudrate || _options.baudrate; - - options.dataBits = options.dataBits || options.databits || _options.databits; - if (DATABITS.indexOf(options.dataBits) === -1) { - err = new Error('Invalid "databits": ' + options.dataBits); - callback(err); - return; - } - - options.stopBits = options.stopBits || options.stopbits || _options.stopbits; - if (STOPBITS.indexOf(options.stopBits) === -1) { - err = new Error('Invalid "stopbits": ' + options.stopbits); - callback(err); - return; - } - - options.parity = options.parity || _options.parity; - if (PARITY.indexOf(options.parity) === -1) { - err = new Error('Invalid "parity": ' + options.parity); - callback(err); - return; - } - - if (!path) { - err = new Error('Invalid port specified: ' + path); - callback(err); - return; - } - - options.rtscts = _options.rtscts; - - if (options.flowControl || options.flowcontrol) { - var fc = options.flowControl || options.flowcontrol; - - if (typeof fc === 'boolean') { - options.rtscts = true; - } else { - var clean = fc.every(function (flowControl) { - var fcup = flowControl.toUpperCase(); - var idx = FLOWCONTROLS.indexOf(fcup); - if (idx < 0) { - var err = new Error('Invalid "flowControl": ' + fcup + '. Valid options: ' + FLOWCONTROLS.join(', ')); - callback(err); - return false; - } else { - - // "XON", "XOFF", "XANY", "DTRDTS", "RTSCTS" - switch (idx) { - case 0: options.rtscts = true; break; - } - return true; - } - }); - if(!clean){ - return; - } - } - } - - options.bufferSize = options.bufferSize || options.buffersize || _options.buffersize; - - // defaults to chrome.serial if no options.serial passed - // inlined instead of on _options to allow mocking global chrome.serial for optional options test - options.serial = options.serial || (typeof chrome !== 'undefined' && chrome.serial); - - if (!options.serial) { - throw new Error('No access to serial ports. Try loading as a Chrome Application.'); - } - - this.options = convertOptions(options); - - this.options.serial.onReceiveError.addListener(function(info){ - - switch (info.error) { - - case 'disconnected': - case 'device_lost': - case 'system_error': - err = new Error('Disconnected'); - // send notification of disconnect - if (self.options.disconnectedCallback) { - self.options.disconnectedCallback(err); - } else { - self.emit('disconnect', err); - } - if(self.connectionId >= 0){ - self.close(); - } - break; - case 'timeout': - break; - } - - }); - - this.path = path; - - if (autoOpen) { - process.nextTick(function () { - self.open(callback); - }); - } -} - -util.inherits(SerialPort, EE); - -SerialPort.prototype.connectionId = -1; - -SerialPort.prototype.open = function (callback) { - var options = { - bitrate: parseInt(this.options.baudRate, 10), - dataBits: this.options.dataBits, - parityBit: this.options.parity, - stopBits: this.options.stopBits, - ctsFlowControl: this.options.rtscts - }; - - this.options.serial.connect(this.path, options, this.proxy('onOpen', callback)); -}; - -SerialPort.prototype.onOpen = function (callback, openInfo) { - if(chrome.runtime.lastError){ - if(typeof callback === 'function'){ - callback(chrome.runtime.lastError); - }else{ - this.emit('error', chrome.runtime.lastError); - } - return; - } - - this.connectionId = openInfo.connectionId; - - if (this.connectionId === -1) { - this.emit('error', new Error('Could not open port.')); - return; - } - - this.emit('open', openInfo); - - this._reader = this.proxy('onRead'); - - this.options.serial.onReceive.addListener(this._reader); - - if(typeof callback === 'function'){ - callback(chrome.runtime.lastError, openInfo); - } -}; - -SerialPort.prototype.onRead = function (readInfo) { - if (readInfo && this.connectionId === readInfo.connectionId) { - - if (this.options.dataCallback) { - this.options.dataCallback(toBuffer(readInfo.data)); - } else { - this.emit('data', toBuffer(readInfo.data)); - } - - } -}; - -SerialPort.prototype.write = function (buffer, callback) { - if (this.connectionId < 0) { - var err = new Error('Serialport not open.'); - if(typeof callback === 'function'){ - callback(err); - }else{ - this.emit('error', err); - } - return; - } - - if (typeof buffer === 'string') { - buffer = str2ab(buffer); - } - - //Make sure its not a browserify faux Buffer. - if (buffer instanceof ArrayBuffer === false) { - buffer = buffer2ArrayBuffer(buffer); - } - - this.options.serial.send(this.connectionId, buffer, function(info) { - if (typeof callback === 'function') { - callback(chrome.runtime.lastError, info); - } - }); -}; - - -SerialPort.prototype.close = function (callback) { - if (this.connectionId < 0) { - var err = new Error('Serialport not open.'); - if(typeof callback === 'function'){ - callback(err); - }else{ - this.emit('error', err); - } - return; - } - - this.options.serial.disconnect(this.connectionId, this.proxy('onClose', callback)); -}; - -SerialPort.prototype.onClose = function (callback, result) { - this.connectionId = -1; - this.emit('close'); - - this.removeAllListeners(); - if(this._reader){ - this.options.serial.onReceive.removeListener(this._reader); - this._reader = null; - } - - if (typeof callback === 'function') { - callback(chrome.runtime.lastError, result); - } -}; - -SerialPort.prototype.flush = function (callback) { - if (this.connectionId < 0) { - var err = new Error('Serialport not open.'); - if(typeof callback === 'function'){ - callback(err); - }else{ - this.emit('error', err); - } - return; - } - - var self = this; - - this.options.serial.flush(this.connectionId, function(result) { - if (chrome.runtime.lastError) { - if (typeof callback === 'function') { - callback(chrome.runtime.lastError, result); - } else { - self.emit('error', chrome.runtime.lastError); - } - return; - } else { - callback(null, result); - } - }); -}; - -SerialPort.prototype.drain = function (callback) { - if (this.connectionId < 0) { - var err = new Error('Serialport not open.'); - if(typeof callback === 'function'){ - callback(err); - }else{ - this.emit('error', err); - } - return; - } - - if (typeof callback === 'function') { - callback(); - } -}; - - -SerialPort.prototype.proxy = function () { - var self = this; - var proxyArgs = []; - - //arguments isnt actually an array. - for (var i = 0; i < arguments.length; i++) { - proxyArgs[i] = arguments[i]; - } - - var functionName = proxyArgs.splice(0, 1)[0]; - - var func = function() { - var funcArgs = []; - for (var i = 0; i < arguments.length; i++) { - funcArgs[i] = arguments[i]; - } - var allArgs = proxyArgs.concat(funcArgs); - - self[functionName].apply(self, allArgs); - }; - - return func; -}; - -SerialPort.prototype.set = function (options, callback) { - this.options.serial.setControlSignals(this.connectionId, options, function(result){ - callback(chrome.runtime.lastError, result); - }); -}; - -function SerialPortList(callback) { - if (typeof chrome != 'undefined' && chrome.serial) { - chrome.serial.getDevices(function(ports) { - var portObjects = new Array(ports.length); - for (var i = 0; i < ports.length; i++) { - portObjects[i] = { - comName: ports[i].path, - manufacturer: ports[i].displayName, - serialNumber: '', - pnpId: '', - locationId:'', - vendorId: '0x' + (ports[i].vendorId||0).toString(16), - productId: '0x' + (ports[i].productId||0).toString(16) - }; - } - callback(chrome.runtime.lastError, portObjects); - }); - } else { - callback(new Error('No access to serial ports. Try loading as a Chrome Application.'), null); - } -} - -// Convert string to ArrayBuffer -function str2ab(str) { - var buf = new ArrayBuffer(str.length); - var bufView = new Uint8Array(buf); - for (var i = 0; i < str.length; i++) { - bufView[i] = str.charCodeAt(i); - } - return buf; -} - -// Convert buffer to ArrayBuffer -function buffer2ArrayBuffer(buffer) { - var buf = new ArrayBuffer(buffer.length); - var bufView = new Uint8Array(buf); - for (var i = 0; i < buffer.length; i++) { - bufView[i] = buffer[i]; - } - return buf; -} - -function toBuffer(ab) { - var buffer = new Buffer(ab.byteLength); - var view = new Uint8Array(ab); - for (var i = 0; i < buffer.length; ++i) { - buffer[i] = view[i]; - } - return buffer; -} - -SerialPort.buffer2ArrayBuffer = buffer2ArrayBuffer; -SerialPort.list = SerialPortList; -SerialPort.used = []; - -module.exports = SerialPort; diff --git a/res-pc/node_modules/browser-serialport/package.json b/res-pc/node_modules/browser-serialport/package.json deleted file mode 100644 index 0c6ebd06..00000000 --- a/res-pc/node_modules/browser-serialport/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_from": "git+https://github.com/noopkat/browser-serialport.git#api-updates", - "_id": "browser-serialport@2.0.3", - "_inBundle": false, - "_location": "/browser-serialport", - "_phantomChildren": {}, - "_requested": { - "type": "git", - "raw": "browser-serialport@git+https://github.com/noopkat/browser-serialport.git#api-updates", - "name": "browser-serialport", - "escapedName": "browser-serialport", - "rawSpec": "git+https://github.com/noopkat/browser-serialport.git#api-updates", - "saveSpec": "git+https://github.com/noopkat/browser-serialport.git#api-updates", - "fetchSpec": "https://github.com/noopkat/browser-serialport.git", - "gitCommittish": "api-updates" - }, - "_requiredBy": [ - "/avrgirl-arduino" - ], - "_resolved": "git+https://github.com/noopkat/browser-serialport.git#a1cecbee1276bfe78b0491f8d13544c70859ff36", - "_spec": "browser-serialport@git+https://github.com/noopkat/browser-serialport.git#api-updates", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/avrgirl-arduino", - "author": { - "name": "Glen Arrowsmith @garrows" - }, - "browser": "./index.js", - "bugs": { - "url": "https://github.com/garrows/browser-serialport/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Robots in the browser. Just like node-serialport but for browser/chrome apps.", - "devDependencies": { - "chai": "^1.10.0", - "jshint": "^2.5.11", - "lodash": "^3.6.0", - "mocha": "^2.1.0", - "sinon": "^1.12.2", - "sinon-chai": "^2.6.0" - }, - "homepage": "https://github.com/garrows/browser-serialport#readme", - "keywords": [ - "serial", - "firmata", - "nodebots", - "chromebots", - "browserbots", - "robot", - "robots" - ], - "license": "MIT", - "main": "index.js", - "name": "browser-serialport", - "repository": { - "type": "git", - "url": "git://github.com/garrows/browser-serialport.git" - }, - "scripts": { - "test": "jshint index.js && mocha" - }, - "version": "2.0.3" -} diff --git a/res-pc/node_modules/browser-serialport/test/parsers.js b/res-pc/node_modules/browser-serialport/test/parsers.js deleted file mode 100644 index d024c7a8..00000000 --- a/res-pc/node_modules/browser-serialport/test/parsers.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; - -var chai = require('chai'); -var expect = chai.expect; -var sinonChai = require("sinon-chai"); -var sinon = require("sinon"); -chai.use(sinonChai); - -// var parsers = require('../parsers'); - -describe.skip("parsers", function () { - - describe("#raw", function () { - it("emits data exactly as it's written", function () { - var data = new Buffer("BOGUS"); - var spy = sinon.spy(); - parsers.raw({ emit: spy }, data); - expect(spy.getCall(0).args[1]).to.deep.equal(new Buffer("BOGUS")); - }); - }); - - describe("#readline", function () { - it("emits data events split on a delimiter", function () { - var data = new Buffer("I love robots\rEach and Every One\r"); - var spy = sinon.spy(); - var parser = parsers.readline(); - parser({ emit: spy }, data); - expect(spy).to.have.been.calledWith("data", "I love robots"); - expect(spy).to.have.been.calledWith("data", "Each and Every One"); - }); - }); - - describe('#byteLength', function(){ - it("emits data events every 8 bytes", function () { - var data = new Buffer("Robots are so freaking cool!"); - var spy = sinon.spy(); - var parser = parsers.byteLength(8); - parser({ emit: spy }, data); - expect(spy.callCount).to.equal(3); - expect(spy.getCall(0).args[1].length).to.equal(8); - expect(spy.getCall(0).args[1]).to.deep.equal(new Buffer("Robots a")); - expect(spy.getCall(1).args[1]).to.deep.equal(new Buffer("re so fr")); - expect(spy.getCall(2).args[1]).to.deep.equal(new Buffer("eaking c")); - }); - }); - -}); diff --git a/res-pc/node_modules/browser-serialport/test/serialport-basic.js b/res-pc/node_modules/browser-serialport/test/serialport-basic.js deleted file mode 100644 index 5d3ff589..00000000 --- a/res-pc/node_modules/browser-serialport/test/serialport-basic.js +++ /dev/null @@ -1,434 +0,0 @@ -'use strict'; - -var sinon = require('sinon'); -var chai = require('chai'); -var without = require('lodash/array/without'); -var expect = chai.expect; - -var MockedSerialPort = require('../'); -var SerialPort = MockedSerialPort; - -var options; - -function unset(msg){ - return function(){ - throw new Error(msg); - }; -} - -var serialListeners = []; - -var hardware = { - ports: {}, - createPort: function(path){ - this.ports[path] = true; - }, - reset: function(){ - this.ports = {}; - this.onReceive = unset('onreceive unset'); - this.onReceiveError = unset('onReceiveError unset'); - }, - onReceive: unset('onReceive unset'), - onReceiveError: unset('onReceiveError unset'), - emitData: function(buffer){ - process.nextTick(function(){ - var readInfo = {data: MockedSerialPort.buffer2ArrayBuffer(buffer), connectionId: 1}; - serialListeners.forEach(function(cb){ - cb(readInfo); - }); - }); - }, - disconnect: function(path){ - this.ports[path] = false; - var info = {error: 'disconnected', connectionId: 1}; - this.onReceiveError(info); - }, - timeout: function(path){ - this.ports[path] = false; - var info = {error: 'timeout', connectionId: 1}; - this.onReceiveError(info); - }, - loseDevice: function(path){ - this.ports[path] = false; - var info = {error: 'device_lost', connectionId: 1}; - this.onReceiveError(info); - }, - systemError: function(path){ - this.ports[path] = false; - var info = {error: 'system_error', connectionId: 1}; - this.onReceiveError(info); - } -}; - -describe('SerialPort', function () { - var sandbox; - - beforeEach(function () { - sandbox = sinon.sandbox.create(); - - global.chrome = { runtime: { lastError: null } }; - - serialListeners = []; - - options = { - serial: { - connect: function(path, options, cb){ - if (!hardware.ports[path]) { - global.chrome.runtime.lastError = new Error({message: 'Failed to connect to the port.'}); - } - - chai.assert.ok(options.bitrate, 'baudrate not set'); - chai.assert.ok(options.dataBits, 'databits not set'); - chai.assert.ok(options.parityBit, 'parity not set'); - chai.assert.ok(options.stopBits, 'stopbits not set'); - chai.assert.isBoolean(options.ctsFlowControl, 'flowcontrol not set'); - - cb({ - bitrate: 9600, - bufferSize: 4096, - connectionId: 1, - ctsFlowControl: true, - dataBits: 'eight', - name: '', - parityBit: 'no', - paused: false, - persistent: false, - receiveTimeout: 0, - sendTimeout: 0, - stopBits: 'one' - }); - }, - onReceive: { - addListener: function(cb){ - serialListeners.push(cb); - }, - removeListener: function(cb){ - serialListeners = without(serialListeners, cb); - } - }, - onReceiveError: { - addListener: function(cb){ - hardware.onReceiveError = cb; - } - }, - send: function(connectionId, buffer, cb){ - - }, - disconnect: function(connectionId, cb){ - cb(); - }, - setControlSignals: function(connectionId, options, cb){ - cb(); - } - } - }; - // Create a port for fun and profit - hardware.reset(); - hardware.createPort('/dev/exists'); - }); - - afterEach(function () { - options = null; - - sandbox.restore(); - }); - - describe('Constructor', function () { - it('opens the port immediately', function (done) { - var port = new SerialPort('/dev/exists', options, function (err) { - expect(err).to.not.be.ok; - done(); - }); - }); - - it('emits the open event', function (done) { - var port = new SerialPort('/dev/exists', options); - port.on('open', function(){ - done(); - }); - }); - - it.skip('emits an error on the factory when erroring without a callback', function (done) { - // finish the test on error - MockedSerialPort.once('error', function (err) { - chai.assert.isDefined(err, 'didn\'t get an error'); - done(); - }); - - var port = new SerialPort('/dev/johnJacobJingleheimerSchmidt'); - }); - - it('emits an error on the serialport when explicit error handler present', function (done) { - var port = new SerialPort('/dev/johnJacobJingleheimerSchmidt', options); - - port.once('error', function(err) { - chai.assert.isDefined(err); - done(); - }); - }); - - it('errors with invalid databits', function (done) { - var errorCallback = function (err) { - chai.assert.isDefined(err, 'err is not defined'); - done(); - }; - - var port = new SerialPort('/dev/exists', { databits : 19 }, false, errorCallback); - }); - - it('errors with invalid stopbits', function (done) { - var errorCallback = function (err) { - chai.assert.isDefined(err, 'err is not defined'); - done(); - }; - - var port = new SerialPort('/dev/exists', { stopbits : 19 }, false, errorCallback); - }); - - it('errors with invalid parity', function (done) { - var errorCallback = function (err) { - chai.assert.isDefined(err, 'err is not defined'); - done(); - }; - - var port = new SerialPort('/dev/exists', { parity : 'pumpkins' }, false, errorCallback); - }); - - it('errors with invalid flow control', function (done) { - var errorCallback = function (err) { - chai.assert.isDefined(err, 'err is not defined'); - done(); - }; - - var port = new SerialPort('/dev/exists', { flowcontrol : ['pumpkins'] }, false, errorCallback); - }); - - it('errors with invalid path', function (done) { - var errorCallback = function (err) { - chai.assert.isDefined(err, 'err is not defined'); - done(); - }; - - var port = new SerialPort(null, false, errorCallback); - }); - - it('allows optional options', function (done) { - global.chrome.serial = options.serial; - var cb = function () {}; - var port = new SerialPort('/dev/exists', cb); - // console.log(port); - expect(typeof port.options).to.eq('object'); - delete global.chrome.serial; - done(); - }); - - }); - - describe('Functions', function () { - - it('write errors when serialport not open', function (done) { - var cb = function () {}; - var port = new SerialPort('/dev/exists', options, false, cb); - port.write(null, function(err){ - chai.assert.isDefined(err, 'err is not defined'); - done(); - }); - }); - - it('close errors when serialport not open', function (done) { - var cb = function () {}; - var port = new SerialPort('/dev/exists', options, false, cb); - port.close(function(err){ - chai.assert.isDefined(err, 'err is not defined'); - done(); - }); - }); - - it('flush errors when serialport not open', function (done) { - var cb = function () {}; - var port = new SerialPort('/dev/exists', options, false, cb); - port.flush(function(err){ - chai.assert.isDefined(err, 'err is not defined'); - done(); - }); - }); - - it('set errors when serialport not open', function (done) { - var cb = function () {}; - var port = new SerialPort('/dev/exists', options, false, cb); - port.set({}, function(err){ - chai.assert.isDefined(err, 'err is not defined'); - done(); - }); - }); - - it('drain errors when serialport not open', function (done) { - var cb = function () {}; - var port = new SerialPort('/dev/exists', options, false, cb); - port.drain(function(err){ - chai.assert.isDefined(err, 'err is not defined'); - done(); - }); - }); - - }); - - describe('reading data', function () { - - it('emits data events by default', function (done) { - var testData = new Buffer('I am a really short string'); - var port = new SerialPort('/dev/exists', options, function () { - port.once('data', function(recvData) { - expect(recvData).to.eql(testData); - done(); - }); - hardware.emitData(testData); - }); - }); - - it('calls the dataCallback if set', function (done) { - var testData = new Buffer('I am a really short string'); - options.dataCallback = function (recvData) { - expect(recvData).to.eql(testData); - done(); - }; - - var port = new SerialPort('/dev/exists', options, function () { - hardware.emitData(testData); - }); - }); - - }); - - describe('#open', function () { - - it('passes the port to the bindings', function (done) { - var openSpy = sandbox.spy(options.serial, 'connect'); - var port = new SerialPort('/dev/exists', options, false); - port.open(function (err) { - expect(err).to.not.be.ok; - expect(openSpy.calledWith('/dev/exists')); - done(); - }); - }); - - it('calls back an error when opening an invalid port', function (done) { - var port = new SerialPort('/dev/unhappy', options, false); - port.open(function (err) { - expect(err).to.be.ok; - done(); - }); - }); - - it('emits data after being reopened', function (done) { - var data = new Buffer('Howdy!'); - var port = new SerialPort('/dev/exists', options, function () { - port.close(function () { - port.open(function () { - port.once('data', function (res) { - expect(res).to.eql(data); - done(); - }); - hardware.emitData(data); - }); - }); - }); - }); - - it('does not emit data twice if reopened', function (done) { - var data = new Buffer('Howdy!'); - var port = new SerialPort('/dev/exists', options, function () { - port.close(function () { - port.open(function () { - var count = 0; - port.on('data', function (res) { - count++; - }); - hardware.emitData(data); - - setTimeout(function(){ - expect(count).to.equal(1); - done(); - }, 200); - }); - }); - }); - }); - }); - - describe('#send', function () { - - it('errors when writing a closed port', function (done) { - var port = new SerialPort('/dev/exists', options, false); - port.write(new Buffer(''), function(err){ - expect(err).to.be.ok; - done(); - }); - }); - - }); - - describe('close', function () { - it('fires a close event when it\'s closed', function (done) { - var port = new SerialPort('/dev/exists', options, function () { - var closeSpy = sandbox.spy(); - port.on('close', closeSpy); - port.close(); - expect(closeSpy.calledOnce); - done(); - }); - }); - - it('fires a close event after being reopened', function (done) { - var port = new SerialPort('/dev/exists', options, function () { - var closeSpy = sandbox.spy(); - port.on('close', closeSpy); - port.close(); - port.open(); - port.close(); - expect(closeSpy.calledTwice); - done(); - }); - }); - - it('errors when closing an invalid port', function (done) { - var port = new SerialPort('/dev/exists', options, false); - port.close(function(err){ - expect(err).to.be.ok; - done(); - }); - }); - - it('emits a close event', function (done) { - var port = new SerialPort('/dev/exists', options, function () { - port.on('close', function () { - done(); - }); - port.close(); - }); - }); - }); - - describe('disconnect', function () { - it('fires a disconnect event', function (done) { - options.disconnectedCallback = function (err) { - expect(err).to.be.ok; - done(); - }; - var port = new SerialPort('/dev/exists', options, function () { - hardware.disconnect('/dev/exists'); - }); - }); - - it('emits a disconnect event', function (done) { - var port = new SerialPort('/dev/exists', options, function () { - port.on('disconnect', function () { - done(); - }); - hardware.disconnect('/dev/exists'); - }); - }); - }); - -}); - diff --git a/res-pc/node_modules/buffer-equal/.travis.yml b/res-pc/node_modules/buffer-equal/.travis.yml deleted file mode 100644 index dad2273c..00000000 --- a/res-pc/node_modules/buffer-equal/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.8 - - "0.10" diff --git a/res-pc/node_modules/buffer-equal/README.markdown b/res-pc/node_modules/buffer-equal/README.markdown deleted file mode 100644 index 8c062fd0..00000000 --- a/res-pc/node_modules/buffer-equal/README.markdown +++ /dev/null @@ -1,62 +0,0 @@ -buffer-equal -============ - -Return whether two buffers are equal. - -[![build status](https://secure.travis-ci.org/substack/node-buffer-equal.png)](http://travis-ci.org/substack/node-buffer-equal) - -example -======= - -``` js -var bufferEqual = require('buffer-equal'); - -console.dir(bufferEqual( - new Buffer([253,254,255]), - new Buffer([253,254,255]) -)); -console.dir(bufferEqual( - new Buffer('abc'), - new Buffer('abcd') -)); -console.dir(bufferEqual( - new Buffer('abc'), - 'abc' -)); -``` - -output: - -``` -true -false -undefined -``` - -methods -======= - -``` js -var bufferEqual = require('buffer-equal') -``` - -bufferEqual(a, b) ------------------ - -Return whether the two buffers `a` and `b` are equal. - -If `a` or `b` is not a buffer, return `undefined`. - -install -======= - -With [npm](http://npmjs.org) do: - -``` -npm install buffer-equal -``` - -license -======= - -MIT diff --git a/res-pc/node_modules/buffer-equal/example/eq.js b/res-pc/node_modules/buffer-equal/example/eq.js deleted file mode 100644 index 1eb05095..00000000 --- a/res-pc/node_modules/buffer-equal/example/eq.js +++ /dev/null @@ -1,14 +0,0 @@ -var bufferEqual = require('../'); - -console.dir(bufferEqual( - new Buffer([253,254,255]), - new Buffer([253,254,255]) -)); -console.dir(bufferEqual( - new Buffer('abc'), - new Buffer('abcd') -)); -console.dir(bufferEqual( - new Buffer('abc'), - 'abc' -)); diff --git a/res-pc/node_modules/buffer-equal/index.js b/res-pc/node_modules/buffer-equal/index.js deleted file mode 100644 index e640d4e2..00000000 --- a/res-pc/node_modules/buffer-equal/index.js +++ /dev/null @@ -1,14 +0,0 @@ -var Buffer = require('buffer').Buffer; // for use with browserify - -module.exports = function (a, b) { - if (!Buffer.isBuffer(a)) return undefined; - if (!Buffer.isBuffer(b)) return undefined; - if (typeof a.equals === 'function') return a.equals(b); - if (a.length !== b.length) return false; - - for (var i = 0; i < a.length; i++) { - if (a[i] !== b[i]) return false; - } - - return true; -}; diff --git a/res-pc/node_modules/buffer-equal/package.json b/res-pc/node_modules/buffer-equal/package.json deleted file mode 100644 index c20ac728..00000000 --- a/res-pc/node_modules/buffer-equal/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_from": "buffer-equal@0.0.1", - "_id": "buffer-equal@0.0.1", - "_inBundle": false, - "_integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "_location": "/buffer-equal", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "buffer-equal@0.0.1", - "name": "buffer-equal", - "escapedName": "buffer-equal", - "rawSpec": "0.0.1", - "saveSpec": null, - "fetchSpec": "0.0.1" - }, - "_requiredBy": [ - "/stk500", - "/stk500-v2" - ], - "_resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "_shasum": "91bc74b11ea405bc916bc6aa908faafa5b4aac4b", - "_spec": "buffer-equal@0.0.1", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/stk500", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/node-buffer-equal/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "return whether two buffers are equal", - "devDependencies": { - "tap": "0.2.4" - }, - "directories": { - "example": "example", - "test": "test" - }, - "engines": { - "node": ">=0.4.0" - }, - "homepage": "https://github.com/substack/node-buffer-equal#readme", - "keywords": [ - "buffer", - "equal" - ], - "license": "MIT", - "main": "index.js", - "name": "buffer-equal", - "repository": { - "type": "git", - "url": "git://github.com/substack/node-buffer-equal.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "0.0.1" -} diff --git a/res-pc/node_modules/buffer-equal/test/eq.js b/res-pc/node_modules/buffer-equal/test/eq.js deleted file mode 100644 index 3d340062..00000000 --- a/res-pc/node_modules/buffer-equal/test/eq.js +++ /dev/null @@ -1,35 +0,0 @@ -var bufferEqual = require('../'); -var test = require('tap').test; - -test('equal', function (t) { - var eq = bufferEqual( - new Buffer([253,254,255]), - new Buffer([253,254,255]) - ); - t.strictEqual(eq, true); - t.end(); -}); - -test('not equal', function (t) { - var eq = bufferEqual( - new Buffer('abc'), - new Buffer('abcd') - ); - t.strictEqual(eq, false); - t.end(); -}); - -test('not equal not buffer', function (t) { - var eq = bufferEqual( - new Buffer('abc'), - 'abc' - ); - t.strictEqual(eq, undefined); - t.end(); -}); - -test('equal not buffer', function (t) { - var eq = bufferEqual('abc', 'abc'); - t.strictEqual(eq, undefined); - t.end(); -}); diff --git a/res-pc/node_modules/chip.avr.avr109/.npmignore b/res-pc/node_modules/chip.avr.avr109/.npmignore deleted file mode 100644 index f633618e..00000000 --- a/res-pc/node_modules/chip.avr.avr109/.npmignore +++ /dev/null @@ -1,15 +0,0 @@ -lib-cov -*.seed -*.log -*.csv -*.dat -*.out -*.pid -*.gz - -pids -logs -results - -node_modules -npm-debug.log \ No newline at end of file diff --git a/res-pc/node_modules/chip.avr.avr109/LICENSE.txt b/res-pc/node_modules/chip.avr.avr109/LICENSE.txt deleted file mode 100644 index 5760acc7..00000000 --- a/res-pc/node_modules/chip.avr.avr109/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) -Copyright © 2015 Elijah Insua - -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/res-pc/node_modules/chip.avr.avr109/README.md b/res-pc/node_modules/chip.avr.avr109/README.md deleted file mode 100644 index ace2f9b5..00000000 --- a/res-pc/node_modules/chip.avr.avr109/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# chip.avr.avr109 - -Flash firmware onto an avr device running a bootloader that speaks the [avr109](http://www.atmel.com/images/doc1644.pdf) protocol. - -## install - -`npm install chip.avr.avr109` - -## use - -```javascript -var avr109 = require('chip.avr.avr109'); -var serialport = require('serialport'); -var sp = new serialport.SerialPort('/dev/tty.usbmodemfd121'); -var fs = require('fs'); - -sp.on('open', function() { - fs.readFile(__dirname + '/test.hex', function(err, data) { - - avr109.init(sp, { signature: 'LUFACDC' }, function (err, flasher) { - if (err) { - throw err; - } - flasher.erase(function() { - console.log('initialized'); - - flasher.program(data.toString(), function(err) { - if (err) throw err; - console.log('programmed!'); - - flasher.verify(function(err) { - if (err) { - throw err - } - flasher.fuseCheck(function(err) { - if (err) throw err; - console.log('OK!'); - }); - }); - }); - }); - }); - }); -}); -``` - -## license - -[MIT](LICENSE.txt) diff --git a/res-pc/node_modules/chip.avr.avr109/chip.avr.avr109.js b/res-pc/node_modules/chip.avr.avr109/chip.avr.avr109.js deleted file mode 100644 index 03873d05..00000000 --- a/res-pc/node_modules/chip.avr.avr109/chip.avr.avr109.js +++ /dev/null @@ -1,250 +0,0 @@ -var - intelHex = require('intel-hex'), - Stream = require('stream').Stream, - util = require('util'); - -var out = module.exports = {}; - -var d = function(c) { - return (c + '').charCodeAt(0); -}; - -out.Flasher = function(serialport, options) { - var that = this; - this.options = options || {}; - this.sp = serialport; - this.signature = this.options.signature || 'LUFACDC'; - - if (this.options.debug) { - this.sp.on('data', function(d) { - process.stdout.write(' -> '); - - for (var i=0; i 126) { - c = '.'; - } - - process.stdout.write(c + ' [' + d.readUInt8(i).toString(16) + '] '); - } - process.stdout.write('\n'); - }); - } - - this.c = function(value, fn, expectedResponseLength) { - that.cmds.push({ - value : value, - callback : function(data) { - fn && fn(data); - }, - expectedResponseLength: expectedResponseLength - }); - return this; - } - - this.flashChunkSize = 0; - this.bytes = []; - this.cmds = []; -}; - -out.Flasher.prototype = { - run : function(fn) { - var that = this; - process.nextTick(function() { - if (that.running) { return; } - var cmd = that.cmds.shift(); - - if (cmd) { - running = true; - that.options.debug && process.stdout.write('Send: ' + cmd.value); - var response = new Buffer(0); - var onData = function(d) { - response = Buffer.concat([ - response, - d - ]); - - if (cmd.expectedResponseLength === undefined || // optional expected length not passed in - cmd.expectedResponseLength <= response.length) { - that.sp.removeListener('data', onData); - that.running = false; - cmd.callback(response); - - process.nextTick(function() { - if (that.cmds.length > 0) { - that.run(fn); - } else { - fn && fn(); - } - }); - } - }; - - that.sp.on('data', onData); - - that.sp.write(cmd.value); - } - }); - }, - - prepare : function(fn) { - var that = this; - this.c('S', function(d) { - if (d.toString() !== that.signature) { - fn(new Error('Invalid device signature; expecting: ' + that.signature + ' received: ' + d.toString())); - } - }) - .c('V') - .c('v') - .c('p') - .c('a') - .c('b', function(d) { - if ((d.toString() || 'X')[0] != 'Y') { - fn(new Error('Buffered memory access not supported.')); - } - that.flashChunkSize = d.readUInt16BE(1); - }) - .c('t') - .c('TD') - .c('P') - .c('F') - .c('F') - .c('F') - .c('N') - .c('N') - .c('N') - .c('Q') - .c('Q') - .c('Q') - .c([d('A'), 0x03, 0xfc]) - .c([d('g'), 0x00, 0x01, d('E')]) - .c([d('A'), 0x03, 0xff]) - .c([d('g'), 0x00, 0x01, d('E')]) - .c([d('A'), 0x03, 0xff]) - .c([d('g'), 0x00, 0x01, d('E')]) - .c([d('A'), 0x03, 0xff]) - .c([d('g'), 0x00, 0x01, d('E')]) - - this.run(function() { - fn(null, that); - }); - }, - - erase : function(fn) { - this.c('e', function() { - fn && fn(); - }) // erase - - this.run(); - }, - - program : function(fullString, fn) { - - var - that = this, - converter, - bytes = []; - - this.totalBytes = 0; - - this.c([d('A'), 0x00, 0x00], function() { - converter = intelHex.parse(fullString); - - that.totalBytes = converter.data.length; - // buffer the bytes so we can push them in the expected size on 'end' - Array.prototype.push.apply(bytes, converter.data); - // copy this array so we can use it strictly for comparing later - that.allBytes = bytes; - - that.options.debug && console.log('programming', bytes.length, 'bytes'); - that.chunksSent = []; - - for (var i=0; i> 8) & 0xFF, chunk.length & 0xFF, d('F')].concat(chunk)); - } - }); - - this.run(function() { fn && fn() }); - }, - - verify : function(fn) { - var that = this; - // compare flash on device with the chunks we sent - this.c([d('A'), 0x00, 0x00], function() { - - var - index = 0, - compare = function(deviceData) { - var error = null; - index++; - - if (!that.allBytes.length) { - fn && fn(); - return; - } - - var deviceDataLength = deviceData.length; - var localChunk = that.allBytes.splice(0, deviceDataLength); - - // iterate through the bytes sent to compare with the latest bytes received - localChunk.forEach(function(val, idx) { - if (val !== deviceData.readUInt8(idx)) { - error = new Error('Firmware on the device does not match local data'); - } - }); - - if (error) { - return fn(error); - } - - process.nextTick(function() { - var readSize = that.flashChunkSize; - that.options.debug && console.log(that.totalBytes - index*that.flashChunkSize); - if (that.totalBytes - index*that.flashChunkSize < that.flashChunkSize) { - readSize = that.totalBytes - index*that.flashChunkSize; - } - that.c([d('g'), (readSize >> 8) & 0xFF, readSize & 0xFF, d('F')], compare, readSize); - that.run(); - }); - }; - - that.options.debug && console.log('\n\nVerifying flash..') - - that.c([d('g'), (that.flashChunkSize >> 8) & 0xFF, that.flashChunkSize & 0xFF, d('F')], compare, that.flashChunkSize); - that.run(); - }); - that.run(); - }, - - fuseCheck : fuseCheck = function(fn) { - this.options.debug && console.log('checking fuses'); - // fuse check - this.c('F') - .c('F') - .c('F') - .c('N') - .c('N') - .c('N') - .c('Q') - .c('Q') - .c('Q') - .c('L') - .c('E'); - - this.run(function() { - fn(); - }); - } -}; - -out.init = function(serialport, options, fn) { - if (typeof options === 'function' && !fn) { - fn = options; - options = {}; - } - - var flasher = new out.Flasher(serialport, options); - flasher.prepare(fn); -}; diff --git a/res-pc/node_modules/chip.avr.avr109/package.json b/res-pc/node_modules/chip.avr.avr109/package.json deleted file mode 100644 index a4dcabd4..00000000 --- a/res-pc/node_modules/chip.avr.avr109/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "_from": "chip.avr.avr109@^1.1.0", - "_id": "chip.avr.avr109@1.1.0", - "_inBundle": false, - "_integrity": "sha1-khWQ9+jYUKzpWjw8J9ucMilc5/o=", - "_location": "/chip.avr.avr109", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "chip.avr.avr109@^1.1.0", - "name": "chip.avr.avr109", - "escapedName": "chip.avr.avr109", - "rawSpec": "^1.1.0", - "saveSpec": null, - "fetchSpec": "^1.1.0" - }, - "_requiredBy": [ - "/avrgirl-arduino" - ], - "_resolved": "https://registry.npmjs.org/chip.avr.avr109/-/chip.avr.avr109-1.1.0.tgz", - "_shasum": "921590f7e8d850ace95a3c3c27db9c32295ce7fa", - "_spec": "chip.avr.avr109@^1.1.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/avrgirl-arduino", - "author": { - "name": "Elijah Insua", - "email": "tmpvar@gmail.com", - "url": "http://tmpvar.com" - }, - "bugs": { - "url": "https://github.com/tmpvar/chip.avr.avr109/issues" - }, - "bundleDependencies": false, - "dependencies": { - "intel-hex": "*" - }, - "deprecated": false, - "description": "Flash firmware onto an avr device running a bootloader that speaks the avr109 protocol", - "devDependencies": { - "serialport": "4" - }, - "homepage": "https://github.com/tmpvar/chip.avr.avr109#readme", - "main": "chip.avr.avr109.js", - "name": "chip.avr.avr109", - "repository": { - "type": "git", - "url": "git://github.com/tmpvar/chip.avr.avr109.git" - }, - "version": "1.1.0" -} diff --git a/res-pc/node_modules/chip.avr.avr109/test/flash.js b/res-pc/node_modules/chip.avr.avr109/test/flash.js deleted file mode 100644 index 67140c5e..00000000 --- a/res-pc/node_modules/chip.avr.avr109/test/flash.js +++ /dev/null @@ -1,36 +0,0 @@ -var - lufacdc = require('../'), - serialport = require('serialport'), - sp = new serialport.SerialPort('/dev/tty.usbmodemfd121'), - fs = require('fs'), - hexStream; - - -sp.on('open', function() { - fs.readFile(__dirname + '/test.hex', function(err, data) { - - lufacdc.init(sp, function (err, flasher) { - if (err) { - throw err; - } - flasher.erase(function() { - console.log('initialized'); - - flasher.program(data.toString(), function(err) { - if (err) throw err; - console.log('programmed!'); - - flasher.verify(function(err) { - if (err) { - throw err - } - flasher.fuseCheck(function(err) { - if (err) throw err; - console.log('OK!'); - }); - }); - }); - }); - }); - }); -}); \ No newline at end of file diff --git a/res-pc/node_modules/chip.avr.avr109/test/test.hex b/res-pc/node_modules/chip.avr.avr109/test/test.hex deleted file mode 100644 index 65b6850d..00000000 --- a/res-pc/node_modules/chip.avr.avr109/test/test.hex +++ /dev/null @@ -1,429 +0,0 @@ -:1000000093C00000B5C00000B3C00000B1C0000044 -:10001000AFC00000ADC00000ABC00000A9C0000030 -:10002000A7C00000A5C00000C1C4000088C5000032 -:100030009FC000009DC000009BC0000099C0000050 -:1000400097C0000095C0000093C0000091C0000060 -:100050008FC000008DC000008BC0000089C0000070 -:1000600087C0000085C0000083C0000081C0000080 -:100070007FC000007DC000007BC0000079C0000090 -:1000800077C0000075C0000073C0000071C00000A0 -:100090006FC000006DC000006BC0000069C00000B0 -:1000A00067C0000065C0000063C0000012011001BD -:1000B00002000008EB03442000000102DC010902F9 -:1000C0003E00020100C032090400000102020100EA -:1000D000052400100104240206052406000107057A -:1000E00082030800FF09040100020A00000007055E -:1000F000040210000507058302100005040309042B -:100100000E0374006D007000760061007200000044 -:100110001603740070006100640034002D006D004F -:1001200065006700610000008091BF018B3B21F4F6 -:1001300090E09093BF01089511241FBECFEFDAE045 -:10014000DEBFCDBF11E0A0E0B1E0E0E4FAE102C023 -:1001500005900D92A038B107D9F711E0A0E8B1E001 -:1001600001C01D92A53DB107E1F714D20C941E0DFC -:1001700047CF883090F490B321E030E002C0220FE6 -:10018000331F8A95E2F7822F8095892380BB809167 -:100190007E00822B80937E000895883039F4549835 -:1001A00080917D00816080937D000895282F30E04C -:1001B0008B3088F46AB1A9014350504081E090E04F -:1001C000FC0102C0EE0FFF1F4A95E2F7AF01409518 -:1001D00046234AB910C064B1A9014750504081E09C -:1001E00090E0FC0102C0EE0FFF1F4A95E2F7AF015D -:1001F0004095462344B940917D002850304002C0CC -:10020000880F991F2A95E2F7482B40937D000895A7 -:10021000CF93DF93C7E7D1E089919991FC01EE0F6D -:10022000FF1FE80FF91FEE0FFF1FED57FE4F628112 -:100230007381448155818081918103D23BD281E0D9 -:10024000CF37D80749F759D2DF91CF9108950F934F -:100250001F93CF93DF93813279F48BEB8093BF01AF -:100260002CE088E190E00FB6F894A89580936000A8 -:100270000FBE20936000FFCF8C3211F08A30F9F46A -:10028000C0919B01D0919C010DEA11E0C8010E9430 -:10029000070AFE01EE0FFF1FE054FE4F918380839B -:1002A00088E0D8011D928A95E9F71092B601109264 -:1002B000B5012196D0939C01C0939B0120C0209151 -:1002C000B5013091B601F901E355FE4F8083C901B4 -:1002D00001969093B6018093B501883091057CF02A -:1002E0001092B6011092B50188E0EDEAF1E0DF016D -:1002F0001D928A95E9F710929C0110929B018091C2 -:100300009B0190919C018430910574F110929C01A5 -:1003100010929B011092B6011092B5018091C0011C -:100320009091C101FC01EE0FFF1FE80FF91FEE0FC6 -:10033000FF1FED57FE4F8091C2019091C301918341 -:1003400080838091C4019091C501938382838091C1 -:10035000C6019091C7019583848388E0E0ECF1E0C9 -:10036000DF011D928A95E9F7DF91CF911F910F91DF -:10037000089584B7877F84BF88E10FB6F89480938F -:100380006000109260000FBE90E080E80FB6F89415 -:1003900080936100909361000FBEF0D214B8B0D189 -:1003A00085EA80937A0080E0E4DE81E0E2DE84E0AA -:1003B000E0DE85E0DEDE8FEF85B90895EF92FF92F3 -:1003C0000F931F93DF93CF93CDB7DEB7C054D040C8 -:1003D0000FB6F894DEBF0FBECDBF80918201882397 -:1003E00009F5E0918001F0918101EE0FFF1FE159C5 -:1003F000FE4F80819181806680937C0090FF04C0D5 -:1004000080917B00806203C080917B008F7D809310 -:100410007B0080917A00806480937A0081E08093F1 -:100420008201AAC080917A0084FFA6C080917A00E0 -:10043000806180937A0000917800109179000639EC -:10044000110510F400E010E080918001909181018D -:10045000FC01EE0FFF1FDF01A954BE4F2D913C910F -:1004600011972017310709F475C020919D012223AF -:10047000F1F523E0083E120748F4E80FF91FEE0FEC -:10048000FF1FED57FE4F118210820EC03FE1003476 -:10049000130778F4E80FF91FEE0FFF1FED57FE4F1B -:1004A0008FEF93E0918380831382128215821482EE -:1004B00047C0E80FF91F82E3083C180758F4EE0F15 -:1004C000FF1FED57FE4F118210828FEF93E0938351 -:1004D0008283ECCFEE0FFF1FED57FE4F118210828B -:1004E000138212828FEF93E09583848329C0ADB786 -:1004F000BEB718970FB6F894BEBF0FBEADBFEDB72D -:10050000FEB731967E010894E11CF11C1296FC9214 -:10051000EE92119720E031E0338322839583848328 -:1005200017830683BCD72DB73EB7285F3F4F0FB662 -:10053000F8943EBF0FBE2DBFC7016EE971E08CD7A6 -:10054000E0918001F0918101EE0FFF1FE954FE4F11 -:100550001183008380918001909181010196909395 -:100560008101809380018430910524F010928101F3 -:100570001092800110928201C05CDF4F0FB6F89498 -:10058000DEBF0FBECDBFCF91DF911F910F91FF90C6 -:10059000EF9008951F93CF93DF93EBDE84E591E016 -:1005A0006EE971E020D7789411E008DF31DE909198 -:1005B0009D018091AC01992379F0882319F510935E -:1005C000AC0187E091E06EE971E046D78DE091E003 -:1005D0006EE971E041D722C08823A1F0E3E8F1E0A1 -:1005E000118210821382128215821482369681E063 -:1005F000EB39F807A9F71092AC0110929C01109208 -:100600009B010CC084E591E072D6EC01209731F09B -:1006100084E591E0A1D61BDE2197F8CF84E591E037 -:1006200056D6F6D4C2CF84E591E0BBC584E591E00F -:100630000BC5FC01808991898170907080939D0128 -:100640000895242F352F44E02030340710F02FEF89 -:1006500033E0F22FE32FE370262F372F44E02030D2 -:10066000340710F02FEF33E0722F770F770F7E2BC8 -:10067000422F4295469546954370232F2370220FB3 -:10068000220F422B282F392F84E02030380710F01A -:100690002FEF33E0522F5295507F842F8F70422FCF -:1006A00042954F70932F93709295907F6F2F852B6B -:1006B000942B08959B01AC016FE170E0E1E0DA0159 -:1006C000C901062E04C0B695A795979587950A94FB -:1006D000D2F781709070009711F05B9A01C05B981F -:1006E0008BB18E278BB98BB18E278BB9615070403F -:1006F0008FEF6F3F780719F708955A9A5A9808951F -:10070000539A529A519A509A59980895923029F0D2 -:10071000933041F09130F9F419C02EE330E0EEEB64 -:10072000F0E01DC0813049F0813018F0823099F43A -:1007300008C0ECEFF0E0249107C0E0E0F1E0249184 -:1007400003C0E0E1F1E0249130E009C022E130E0B3 -:10075000ECEAF0E004C020E030E0E0E0F0E0DA01B4 -:100760001196FC93EE93C9010895982F2CC0292F60 -:100770002F702093E900981739F07091EC002091C8 -:10078000ED005091F00003C0242F762F50E021FFA0 -:1007900019C03091EB003E7F3093EB003091ED00BB -:1007A0003D7F3093ED003091EB0031603093EB00F2 -:1007B0007093EC002093ED005093F0002091EE0038 -:1007C00027FF08C09F5F973090F28F708093E900F9 -:1007D00081E0089580E008950F931F93CF93DF93F6 -:1007E000162FC82FD92F00E02AC09881992329F10C -:1007F0006B81E981FA812C81892F8F70873018F500 -:100800006295660F660F607C991F9927991F692B67 -:10081000223010F096E001C092E028E030E040E0A5 -:1008200003C04F5F220F331F2E173F07D0F34295AF -:10083000407F492B9ADF882331F00F5F25960117FF -:10084000A0F281E001C080E0DF91CF911F910F9174 -:1008500008958091CD0187FF13C004C08091CC0121 -:100860008823B9F08091E80082FFF8CF8091E800FA -:100870008B778093E80008958091CC01882349F01C -:100880008091E80080FFF8CF8091E8008E77809318 -:10089000E80008958091E4009091E50044E62091FD -:1008A000EC0020FF26C02091E80020FD16C020911A -:1008B000CC012223A1F02530A1F02091EB0025FDF1 -:1008C00012C02091E4003091E5002817390739F370 -:1008D000442359F04150C901E2CF80E0089582E0FD -:1008E000089583E0089581E0089584E0089580E00C -:1008F00008952091E80022FFDACFF9CF0F931F93DC -:10090000CF93DF9346D04DD0C8EDD0E088818F776C -:10091000888388818068888388818F7D888319BCDB -:100920001092CC011092C8011092CA011092C90114 -:1009300000EE10E0F80180818B7F808388818160E8 -:10094000888380E060E042E010DFE1EEF0E080814B -:100950008E7F8083E2EEF0E0808181608083808101 -:1009600088608083F80180818E7F808388818061A8 -:100970008883DF91CF911F910F910895E7EDF0E00B -:1009800080818160808384E082BF81E08093CB019D -:10099000B5CFE8EDF0E080818E7F80831092E20099 -:1009A00008951092DA001092E10008951F920F92BC -:1009B0000FB60F9211242F933F934F935F936F9332 -:1009C0007F938F939F93AF93BF93EF93FF93809108 -:1009D000E10082FF0AC08091E20082FF06C08091A0 -:1009E000E1008B7F8093E10012D38091DA0080FFD9 -:1009F0001DC08091D80080FF19C08091DA008E7FE1 -:100A00008093DA008091D90080FF0CC080E189BD1D -:100A100082E189BD09B400FEFDCF81E08093CC0165 -:100A2000F6D204C019BC1092CC01F1D28091E10041 -:100A300080FF18C08091E20080FF14C08091E20026 -:100A40008E7F8093E2008091E20080618093E200DB -:100A50008091D80080628093D80019BC85E0809393 -:100A6000CC01D5D28091E10084FF2DC08091E200BD -:100A700084FF29C080E189BD82E189BD09B400FEFF -:100A8000FDCF8091D8008F7D8093D8008091E100C8 -:100A90008F7E8093E1008091E2008F7E8093E20060 -:100AA0008091E20081608093E2008091C8018823F8 -:100AB00021F48091E30087FF02C084E001C081E05F -:100AC0008093CC01A4D28091E10083FF27C0809164 -:100AD000E20083FF23C08091E100877F8093E100E3 -:100AE00082E08093CC011092C8018091E1008E7F5A -:100AF0008093E1008091E2008E7F8093E2008091FC -:100B0000E20080618093E20080E060E042E02DDE60 -:100B10008091F00088608093F00079D2FF91EF918E -:100B2000BF91AF919F918F917F916F915F914F9105 -:100B30003F912F910F900FBE0F901F9018951F920D -:100B40000F920FB60F9211242F933F934F935F9301 -:100B50006F937F938F939F93AF93BF93CF93EF93B5 -:100B6000FF93C091E900CF708091EC001092E900F2 -:100B70008091F000877F8093F0007894E2D010920B -:100B8000E9008091F00088608093F000C093E90054 -:100B9000FF91EF91CF91BF91AF919F918F917F91F5 -:100BA0006F915F914F913F912F910F900FBE0F90DA -:100BB0001F901895482F592FFA018091D3019091D9 -:100BC000D4018617970718F4BC0140E03CC06115BA -:100BD0007105D9F78091E8008E778093E800F5CF12 -:100BE0008091CC01882309F444C08530F1F18091D3 -:100BF000E80083FD3CC08091E80082FD30C0809118 -:100C0000E80080FF20C09091F3008091F200392F1E -:100C100020E090E0822B932B06C041914093F1009D -:100C20006150704001966115710519F08830910589 -:100C3000A0F341E08830910509F040E08091E800A0 -:100C40008E778093E8006115710551F6442341F6D3 -:100C500006C08091CC01882361F0853061F08091DD -:100C6000E80082FFF6CF80E0089583E0089581E0F8 -:100C7000089582E0089583E00895E82FF92F809188 -:100C8000D3019091D4018617970718F4BC0140E076 -:100C90003EC061157105D9F78091E8008E77809389 -:100CA000E800F5CF8091CC01882309F446C0853057 -:100CB00009F43FC08091E80083FD3DC08091E800C9 -:100CC00082FD31C08091E80080FF21C09091F30047 -:100CD0008091F200392F20E090E0822B932B07C007 -:100CE00044914093F1003196615070400196611536 -:100CF000710519F08830910598F341E0883091052D -:100D000009F040E08091E8008E778093E80061155B -:100D1000710541F6442331F606C08091CC01882349 -:100D200061F0853061F08091E80082FFF6CF80E0CD -:100D3000089583E0089581E0089582E0089583E0B6 -:100D400008950F931F93DF93CF93CDB7DEB7AC9782 -:100D50000FB6F894DEBF0FBECDBFEDECF1E0809191 -:100D6000F100819321E0E53DF207C9F75FDC809156 -:100D7000E80083FF33C18091CD012091CE01253061 -:100D800009F484C0263040F42130A1F1213070F004 -:100D9000233009F023C12EC0283009F4F1C02930D6 -:100DA00009F400C1263009F019C194C0803821F03F -:100DB000823809F013C108C08091C9019091CA011D -:100DC000992371F082600CC08091D1018F70809363 -:100DD000E9009091EB0081E095FF80E01092E9003E -:100DE0009091E800977F9093E8008093F100109233 -:100DF000F100D1C0882319F0823009F0EFC090E0F3 -:100E00008F719070009729F08230910509F0E6C04B -:100E10000BC08091CF01813009F0E0C0233009F090 -:100E200080E08093CA012CC08091CF01882341F5D6 -:100E30002091D1012F7009F4D1C02093E900809155 -:100E4000EB0080FF1DC08091CE01833021F48091A2 -:100E5000EB00806213C08091EB0080618093EB0017 -:100E600081E090E002C0880F991F2A95E2F78093F5 -:100E7000EA001092EA008091EB0088608093EB001A -:100E80001092E9008091E800877F88C0882309F0EC -:100E9000A5C01091CF011F770FB7F8948091E8009B -:100EA000877F8093E800D5DC8091E80080FFFCCF4D -:100EB0008091E3008078812B8093E30080688093A9 -:100EC000E300112311F083E001C082E08093CC01A4 -:100ED0000FBF84C08058823008F080C08091CF015D -:100EE0009091D00123E08C3D920791F583E08C83B3 -:100EF0008AE28B835FB7F894DE01159680E090E07C -:100F00004EE061E2E42FF0E060935700E49180FF4F -:100F100003C0E295EF704F5FEF702E2F30E0EA30A4 -:100F200018F0295C3F4F02C0205D3F4F2D933D9349 -:100F300001968431910531F75FBF8091E800877F8A -:100F40008093E800CE0103966AE270E033DE12C0BF -:100F50006091D101AE014F5F5F4FD8DBBC010097BC -:100F600009F43CC08091E800877F8093E800898184 -:100F70009A8183DE8091E8008B778093E8002EC011 -:100F8000803861F58091E800877F8093E800809148 -:100F9000C8018093F1008091E8008E778093E8008B -:100FA00058DC1CC08823D1F49091CF019230B0F46A -:100FB0008091E800877F8093E8009093C80149DC26 -:100FC0008091C801882321F48091E30087FF02C04B -:100FD00084E001C081E08093CC0125DB8091E800B2 -:100FE00083FF0AC08091EB0080628093EB008091C8 -:100FF000E800877F8093E800AC960FB6F894DEBFD8 -:101000000FBECDBFCF91DF911F910F91089508952D -:10101000CF938091CC018823A9F08091E9008F7053 -:101020009091EC0090FF02C0C0E801C0C0E0C82B66 -:101030001092E9008091E80083FF01C082DECF704A -:10104000C093E900CF910895CF93DF93EC01809195 -:10105000E80083FFA3C0888190E02091D101309106 -:10106000D2012817390709F099C08091CE01813249 -:1010700069F0823220F4803209F090C03CC08232A4 -:1010800009F46BC0833209F089C07AC08091CD0128 -:10109000813A09F083C08091E800877F8093E8005F -:1010A0008091E80080FFFCCF2C893D894E895F89C3 -:1010B0002093F100BB27A52F942F832F8093F1005D -:1010C000CA01AA27BB278093F100252F3327442785 -:1010D00055272093F100888D8093F100898D8093AE -:1010E000F1008A8D8093F1008091E8008E778093E3 -:1010F000E800AFDB53C08091CD01813209F04EC0D2 -:101100008091E800877F8093E80005C08091CC0142 -:10111000882309F443C08091E80082FFF7CF309123 -:10112000F1002091F1009091F1008091F1003C8B51 -:101130002D8B9E8B8F8B8091F100888F8091F10099 -:10114000898F8091F1008A8F8091E8008B7780935E -:10115000E8007FDBCE015AD121C08091CD018132E0 -:10116000E9F48091E800877F8093E80072DB80914A -:10117000CF019091D001998B888BCE015ADA0EC0A5 -:101180008091CD01813251F48091E800877F809376 -:10119000E8005FDBCE016091CF0138D1DF91CF91C4 -:1011A0000895CF93DF93EC014096FC018BE0DF01C3 -:1011B0001D928A95E9F782E08C83898783E08E8788 -:1011C000CE01019661E008DB882359F0CE01069636 -:1011D00061E002DB882329F0CE010B9661E0FCDAA6 -:1011E00001C080E0DF91CF910895DF93CF930F92FC -:1011F000CDB7DEB7FC018091CC018430F9F42489AD -:101200003589468957892115310541055105B1F0C8 -:1012100081818F708093E9008091E80085FD0AC08C -:101220008091E8008E778093E800698333DB6981E1 -:10123000882329F46093F10080E001C082E00F90E0 -:10124000CF91DF910895282FFB0184859585622F2A -:10125000CCDF882319F02FEF3FEF02C020E030E011 -:10126000C9010895FC018091CC01843051F5248995 -:10127000358946895789211531054105510509F1FF -:1012800081818F708093E9009091F3008091F2004A -:10129000392F20E090E0822B932B0097A1F09091C2 -:1012A000E8008091E8008E778093E80095FD0DC0FE -:1012B000F1DA882359F49091E8009E779093E80042 -:1012C000089582E0089580E0089580E008952091D7 -:1012D000CC01243059F4FC01248935894689578989 -:1012E000211531054105510509F0BCCF0895FC01D8 -:1012F0008091CC01843061F52489358946895789EC -:10130000211531054105510519F186818F708093B2 -:10131000E9008091E80082FF1BC09091F30080916A -:10132000F200392F20E090E0822B932B009731F4CC -:101330008091E8008B778093E8000AC03091F30039 -:101340002091F200932F80E030E0282B392B02C04F -:1013500020E030E0C9010895FC018091CC01843087 -:1013600099F5248935894689578921153105410523 -:10137000510551F186818F708093E9008091E800DA -:1013800082FF22C09091F3008091F200392F20E07B -:1013900090E0822B932B009721F02091F10030E018 -:1013A00002C02FEF3FEF9091F3008091F200592F90 -:1013B00040E090E0842B952B009741F48091E80069 -:1013C0008B778093E80002C02FEF3FEFC9010895AB -:1013D000FC0184859585C0DF9C0197FF02C02EEF3C -:1013E0003FEFC9010895FB012EE0DB011D922A9514 -:1013F000E9F723E0238323E239E03187208728EED1 -:1014000039E0338722879587848708950895FC0102 -:1014100088279927E89421912032E9F3293010F0A8 -:101420002E30C8F32B3239F02D3231F4689403C0DA -:101430000BD0820F911D219120532A30C8F31EF446 -:10144000909581959F4F08957AE0979F902D879F63 -:10145000802D910D11240895EF92FF920F931F9309 -:10146000CF93DF937C01EB018B8181FF11C000E002 -:1014700010E008C0E885F985BE010995009711F0D4 -:101480000FEF1FEFF70181917F01882399F702C0C9 -:101490000FEF1FEFC801CDB7DEB7E6E0C0C2AEE088 -:1014A000B0E0E4E5FAE0A1C20D891E8986E08C83F4 -:1014B0001A8309838FEF9FE79E838D839E01275EAA -:1014C0003F4FCE0101966F89788DA90108D0EF8139 -:1014D000F885E00FF11F10822E96E4E0A2C2ACE086 -:1014E000B0E0E4E7FAE073C26C011B018A01FC0181 -:1014F00017821682838181FFC4C12E010894411C8A -:10150000511CF6019381F10193FD859193FF819127 -:101510001F01882309F4B1C1853239F493FD859107 -:1015200093FF81911F01853221F490E0B601C5D16E -:10153000E8CFEE24FF2420E02032B0F48B3269F0B3 -:101540008C3228F4803251F0833271F40BC08D322A -:1015500039F0803349F421602CC02260246029C016 -:10156000286027C0206125C027FD2CC0382F3053AC -:101570003A3098F426FF08C08E2D880FE82EEE0C26 -:10158000EE0CE80EE30E15C08F2D880FF82EFF0C21 -:10159000FF0CF80EF30E20620CC08E3221F426FDF3 -:1015A0006CC1206406C08C3611F4206802C08836F5 -:1015B00049F4F10193FD859193FF81911F018823E7 -:1015C00009F0BACF982F9554933018F09052933079 -:1015D00028F40C5F1F4FFFE3F9830DC0833631F011 -:1015E000833771F0833509F05CC021C0F801808138 -:1015F00089830E5F1F4F420171E0A72EB12C15C0E9 -:1016000062E0662E712C600E711EF8018080918060 -:1016100026FF03C06E2D70E002C06FEF7FEFC401A4 -:101620002C8740D15C0183012C852F7716C052E0B6 -:10163000652E712C600E711EF8018080918026FF4E -:1016400003C06E2D70E002C06FEF7FEFC4012C87E6 -:101650001ED15C012C852068830123FD1EC007C0BC -:1016600080E290E0B6012C8728D1FA942C858F2D4A -:1016700090E0A816B906A0F310C0F40127FD8591EB -:1016800027FF81914F0190E0B6012C8716D12C8560 -:10169000F110FA940894A108B108A114B10469F7F3 -:1016A000E9C0843611F0893641F527FF08C0F801FA -:1016B00060817181828193810C5F1F4F09C0F801A5 -:1016C00060817181882777FD8095982F0E5F1F4F6D -:1016D0004FE6B42EB22297FF09C090958095709581 -:1016E00061957F4F8F4F9F4FF0E8BF2AA2012AE0FC -:1016F00030E00FD1782E741844C0853731F43FEEB6 -:10170000B32EB2222AE030E025C099EFB92EB222E2 -:101710008F36C1F0803720F4883509F0AEC00DC097 -:10172000803721F0883709F0A8C002C020E1B22A32 -:10173000B4FE0BC084E0B82A08C0B4FE09C0E6E0DD -:10174000BE2A06C028E030E005C020E130E002C03B -:1017500020E132E0B7FE08C0F8016081718182812A -:1017600093810C5F1F4F07C0F8016081718180E099 -:1017700090E00E5F1F4FA201CCD0782E7418FFE7C7 -:10178000BF22B6FE0BC02EEFB2227E1438F4B4FE98 -:1017900007C0B2FC05C08FEEB82202C0A72C01C062 -:1017A000AE2C8B2D90E0B4FE0DC0FE01E70DF11DB7 -:1017B0002081203319F4E9EEBE2209C0A394B2FEC1 -:1017C00006C004C086789070009709F0A3948B2C13 -:1017D0009924B3FC13C0B0FE0EC0AF1428F4E72C5C -:1017E000EF0CEA18AF2C07C0E72C05C080E290E0B0 -:1017F000B60163D0A394AF14C8F304C0AF1410F4BF -:10180000FA1801C0FF2484FE0EC080E390E0B60108 -:1018100054D082FE1DC081FE03C088E590E010C058 -:1018200088E790E00DC0C40186789070009781F041 -:1018300081FC02C080E201C08BE2B7FC8DE290E047 -:10184000B6013BD005C080E390E0B60136D0EA9403 -:101850007E14C8F37A94F201E70DF11D808190E0C7 -:10186000B6012BD07720B1F705C080E290E0B60139 -:1018700024D0FA94FF20C9F744CEF601268137819F -:1018800002C02FEF3FEFC9012C96E2E1BCC0FC0182 -:101890000590615070400110D8F7809590958E0F9B -:1018A0009F1F0895FC016150704001900110D8F70E -:1018B000809590958E0F9F1F08950F931F93CF9340 -:1018C000DF938C01EB018B8181FF1BC082FF0DC078 -:1018D0002E813F818C819D812817390764F4E8812E -:1018E000F9810193F983E88306C0E885F985802FA3 -:1018F0000995009731F48E819F8101969F838E8395 -:1019000002C00FEF1FEFC801DF91CF911F910F9120 -:101910000895FA01AA27283051F1203181F1E89485 -:101920006F936E7F6E5F7F4F8F4F9F4FAF4FB1E0D2 -:101930003ED0B4E03CD0670F781F891F9A1FA11DCD -:10194000680F791F8A1F911DA11D6A0F711D811DCE -:10195000911DA11D20D009F468943F912AE0269F93 -:1019600011243019305D3193DEF6CF010895462FF2 -:101970004770405D4193B3E00FD0C9F7F6CF462FD3 -:101980004F70405D4A3318F0495D31FD405241933C -:1019900002D0A9F7EACFB4E0A695979587957795F9 -:1019A0006795BA95C9F700976105710508959B0180 -:1019B000AC010A2E06945795479537952795BA9509 -:1019C000C9F7620F731F841F951FA01D08952F92E2 -:1019D0003F924F925F926F927F928F929F92AF92BF -:1019E000BF92CF92DF92EF92FF920F931F93CF930C -:1019F000DF93CDB7DEB7CA1BDB0B0FB6F894DEBFA3 -:101A00000FBECDBF09942A88398848885F846E84C8 -:101A10007D848C849B84AA84B984C884DF80EE8012 -:101A2000FD800C811B81AA81B981CE0FD11D0FB61B -:101A3000F894DEBF0FBECDBFED010895F894FFCF3F -:101A400025642C25750A00747061640A007B226E7F -:101A5000616D65223A202274706164342D6D656772 -:101A600061222C20226C656473223A747275652C95 -:101A700020227061647322203A20342C2022766563 -:101A80007273696F6E22203A2022302E302E33225C -:101A9000207D0A0000831000000104100000018274 -:101AA000080000010000000000000000000000002D -:101AB0000001000400050002000300010000000016 -:00000001FF diff --git a/res-pc/node_modules/chownr/LICENSE b/res-pc/node_modules/chownr/LICENSE deleted file mode 100644 index 19129e31..00000000 --- a/res-pc/node_modules/chownr/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/res-pc/node_modules/chownr/README.md b/res-pc/node_modules/chownr/README.md deleted file mode 100644 index 70e9a54a..00000000 --- a/res-pc/node_modules/chownr/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Like `chown -R`. - -Takes the same arguments as `fs.chown()` diff --git a/res-pc/node_modules/chownr/chownr.js b/res-pc/node_modules/chownr/chownr.js deleted file mode 100644 index ecd7b452..00000000 --- a/res-pc/node_modules/chownr/chownr.js +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = chownr -chownr.sync = chownrSync - -var fs = require("fs") -, path = require("path") - -function chownr (p, uid, gid, cb) { - fs.readdir(p, function (er, children) { - // any error other than ENOTDIR means it's not readable, or - // doesn't exist. give up. - if (er && er.code !== "ENOTDIR") return cb(er) - if (er || !children.length) return fs.chown(p, uid, gid, cb) - - var len = children.length - , errState = null - children.forEach(function (child) { - var pathChild = path.resolve(p, child); - fs.lstat(pathChild, function(er, stats) { - if (er) - return cb(er) - if (!stats.isSymbolicLink()) - chownr(pathChild, uid, gid, then) - else - then() - }) - }) - function then (er) { - if (errState) return - if (er) return cb(errState = er) - if (-- len === 0) return fs.chown(p, uid, gid, cb) - } - }) -} - -function chownrSync (p, uid, gid) { - var children - try { - children = fs.readdirSync(p) - } catch (er) { - if (er && er.code === "ENOTDIR") return fs.chownSync(p, uid, gid) - throw er - } - if (!children.length) return fs.chownSync(p, uid, gid) - - children.forEach(function (child) { - var pathChild = path.resolve(p, child) - var stats = fs.lstatSync(pathChild) - if (!stats.isSymbolicLink()) - chownrSync(pathChild, uid, gid) - }) - return fs.chownSync(p, uid, gid) -} diff --git a/res-pc/node_modules/chownr/package.json b/res-pc/node_modules/chownr/package.json deleted file mode 100644 index 151d89ed..00000000 --- a/res-pc/node_modules/chownr/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_from": "chownr@^1.0.1", - "_id": "chownr@1.0.1", - "_inBundle": false, - "_integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "_location": "/chownr", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "chownr@^1.0.1", - "name": "chownr", - "escapedName": "chownr", - "rawSpec": "^1.0.1", - "saveSpec": null, - "fetchSpec": "^1.0.1" - }, - "_requiredBy": [ - "/tar-fs" - ], - "_resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "_shasum": "e2a75042a9551908bebd25b8523d5f9769d79181", - "_spec": "chownr@^1.0.1", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/tar-fs", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/chownr/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "like `chown -R`", - "devDependencies": { - "mkdirp": "0.3", - "rimraf": "", - "tap": "^1.2.0" - }, - "files": [ - "chownr.js" - ], - "homepage": "https://github.com/isaacs/chownr#readme", - "license": "ISC", - "main": "chownr.js", - "name": "chownr", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/chownr.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "1.0.1" -} diff --git a/res-pc/node_modules/code-point-at/index.js b/res-pc/node_modules/code-point-at/index.js deleted file mode 100644 index 0432fe6a..00000000 --- a/res-pc/node_modules/code-point-at/index.js +++ /dev/null @@ -1,32 +0,0 @@ -/* eslint-disable babel/new-cap, xo/throw-new-error */ -'use strict'; -module.exports = function (str, pos) { - if (str === null || str === undefined) { - throw TypeError(); - } - - str = String(str); - - var size = str.length; - var i = pos ? Number(pos) : 0; - - if (Number.isNaN(i)) { - i = 0; - } - - if (i < 0 || i >= size) { - return undefined; - } - - var first = str.charCodeAt(i); - - if (first >= 0xD800 && first <= 0xDBFF && size > i + 1) { - var second = str.charCodeAt(i + 1); - - if (second >= 0xDC00 && second <= 0xDFFF) { - return ((first - 0xD800) * 0x400) + second - 0xDC00 + 0x10000; - } - } - - return first; -}; diff --git a/res-pc/node_modules/code-point-at/license b/res-pc/node_modules/code-point-at/license deleted file mode 100644 index 654d0bfe..00000000 --- a/res-pc/node_modules/code-point-at/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/res-pc/node_modules/code-point-at/package.json b/res-pc/node_modules/code-point-at/package.json deleted file mode 100644 index c5285440..00000000 --- a/res-pc/node_modules/code-point-at/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "_from": "code-point-at@^1.0.0", - "_id": "code-point-at@1.1.0", - "_inBundle": false, - "_integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "_location": "/code-point-at", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "code-point-at@^1.0.0", - "name": "code-point-at", - "escapedName": "code-point-at", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/string-width" - ], - "_resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "_shasum": "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77", - "_spec": "code-point-at@^1.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/string-width", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/code-point-at/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "ES2015 `String#codePointAt()` ponyfill", - "devDependencies": { - "ava": "*", - "xo": "^0.16.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/sindresorhus/code-point-at#readme", - "keywords": [ - "es2015", - "ponyfill", - "polyfill", - "shim", - "string", - "str", - "code", - "point", - "at", - "codepoint", - "unicode" - ], - "license": "MIT", - "name": "code-point-at", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/code-point-at.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.1.0" -} diff --git a/res-pc/node_modules/code-point-at/readme.md b/res-pc/node_modules/code-point-at/readme.md deleted file mode 100644 index 4c97730e..00000000 --- a/res-pc/node_modules/code-point-at/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# code-point-at [![Build Status](https://travis-ci.org/sindresorhus/code-point-at.svg?branch=master)](https://travis-ci.org/sindresorhus/code-point-at) - -> ES2015 [`String#codePointAt()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt) [ponyfill](https://ponyfill.com) - - -## Install - -``` -$ npm install --save code-point-at -``` - - -## Usage - -```js -var codePointAt = require('code-point-at'); - -codePointAt('🐴'); -//=> 128052 - -codePointAt('abc', 2); -//=> 99 -``` - -## API - -### codePointAt(input, [position]) - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/res-pc/node_modules/colors/LICENSE b/res-pc/node_modules/colors/LICENSE deleted file mode 100644 index 3de4e33b..00000000 --- a/res-pc/node_modules/colors/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Original Library - - Copyright (c) Marak Squires - -Additional Functionality - - 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. \ No newline at end of file diff --git a/res-pc/node_modules/colors/ReadMe.md b/res-pc/node_modules/colors/ReadMe.md deleted file mode 100644 index 0326aab3..00000000 --- a/res-pc/node_modules/colors/ReadMe.md +++ /dev/null @@ -1,178 +0,0 @@ -# colors.js [![Build Status](https://travis-ci.org/Marak/colors.js.svg?branch=master)](https://travis-ci.org/Marak/colors.js) - -## get color and style in your node.js console - -![Demo](https://raw.githubusercontent.com/Marak/colors.js/master/screenshots/colors.png) - -## Installation - - npm install colors - -## colors and styles! - -### text colors - - - black - - red - - green - - yellow - - blue - - magenta - - cyan - - white - - gray - - grey - -### background colors - - - bgBlack - - bgRed - - bgGreen - - bgYellow - - bgBlue - - bgMagenta - - bgCyan - - bgWhite - -### styles - - - reset - - bold - - dim - - italic - - underline - - inverse - - hidden - - strikethrough - -### extras - - - rainbow - - zebra - - america - - trap - - random - - -## Usage - -By popular demand, `colors` now ships with two types of usages! - -The super nifty way - -```js -var colors = require('colors'); - -console.log('hello'.green); // outputs green text -console.log('i like cake and pies'.underline.red) // outputs red underlined text -console.log('inverse the color'.inverse); // inverses the color -console.log('OMG Rainbows!'.rainbow); // rainbow -console.log('Run the trap'.trap); // Drops the bass - -``` - -or a slightly less nifty way which doesn't extend `String.prototype` - -```js -var colors = require('colors/safe'); - -console.log(colors.green('hello')); // outputs green text -console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text -console.log(colors.inverse('inverse the color')); // inverses the color -console.log(colors.rainbow('OMG Rainbows!')); // rainbow -console.log(colors.trap('Run the trap')); // Drops the bass - -``` - -I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way. - -If you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object. - -## Disabling Colors - -To disable colors you can pass the following arguments in the command line to your application: - -```bash -node myapp.js --no-color -``` - -## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data) - -```js -var name = 'Marak'; -console.log(colors.green('Hello %s'), name); -// outputs -> 'Hello Marak' -``` - -## Custom themes - -### Using standard API - -```js - -var colors = require('colors'); - -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log("this is an error".error); - -// outputs yellow text -console.log("this is a warning".warn); -``` - -### Using string safe API - -```js -var colors = require('colors/safe'); - -// set single property -var error = colors.red; -error('this is red'); - -// set theme -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log(colors.error("this is an error")); - -// outputs yellow text -console.log(colors.warn("this is a warning")); - -``` - -You can also combine them: - -```javascript -var colors = require('colors'); - -colors.setTheme({ - custom: ['red', 'underline'] -}); - -console.log('test'.custom); -``` - -*Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.* diff --git a/res-pc/node_modules/colors/examples/normal-usage.js b/res-pc/node_modules/colors/examples/normal-usage.js deleted file mode 100644 index 2818741e..00000000 --- a/res-pc/node_modules/colors/examples/normal-usage.js +++ /dev/null @@ -1,74 +0,0 @@ -var colors = require('../lib/index'); - -console.log("First some yellow text".yellow); - -console.log("Underline that text".yellow.underline); - -console.log("Make it bold and red".red.bold); - -console.log(("Double Raindows All Day Long").rainbow) - -console.log("Drop the bass".trap) - -console.log("DROP THE RAINBOW BASS".trap.rainbow) - - -console.log('Chains are also cool.'.bold.italic.underline.red); // styles not widely supported - -console.log('So '.green + 'are'.underline + ' ' + 'inverse'.inverse + ' styles! '.yellow.bold); // styles not widely supported -console.log("Zebras are so fun!".zebra); - -// -// Remark: .strikethrough may not work with Mac OS Terminal App -// -console.log("This is " + "not".strikethrough + " fun."); - -console.log('Background color attack!'.black.bgWhite) -console.log('Use random styles on everything!'.random) -console.log('America, Heck Yeah!'.america) - - -console.log('Setting themes is useful') - -// -// Custom themes -// -console.log('Generic logging theme as JSON'.green.bold.underline); -// Load theme with JSON literal -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log("this is an error".error); - -// outputs yellow text -console.log("this is a warning".warn); - -// outputs grey text -console.log("this is an input".input); - -console.log('Generic logging theme as file'.green.bold.underline); - -// Load a theme from file -colors.setTheme(__dirname + '/../themes/generic-logging.js'); - -// outputs red text -console.log("this is an error".error); - -// outputs yellow text -console.log("this is a warning".warn); - -// outputs grey text -console.log("this is an input".input); - -//console.log("Don't summon".zalgo) \ No newline at end of file diff --git a/res-pc/node_modules/colors/examples/safe-string.js b/res-pc/node_modules/colors/examples/safe-string.js deleted file mode 100644 index 111b363a..00000000 --- a/res-pc/node_modules/colors/examples/safe-string.js +++ /dev/null @@ -1,76 +0,0 @@ -var colors = require('../safe'); - -console.log(colors.yellow("First some yellow text")); - -console.log(colors.yellow.underline("Underline that text")); - -console.log(colors.red.bold("Make it bold and red")); - -console.log(colors.rainbow("Double Raindows All Day Long")) - -console.log(colors.trap("Drop the bass")) - -console.log(colors.rainbow(colors.trap("DROP THE RAINBOW BASS"))); - -console.log(colors.bold.italic.underline.red('Chains are also cool.')); // styles not widely supported - - -console.log(colors.green('So ') + colors.underline('are') + ' ' + colors.inverse('inverse') + colors.yellow.bold(' styles! ')); // styles not widely supported - -console.log(colors.zebra("Zebras are so fun!")); - -console.log("This is " + colors.strikethrough("not") + " fun."); - - -console.log(colors.black.bgWhite('Background color attack!')); -console.log(colors.random('Use random styles on everything!')) -console.log(colors.america('America, Heck Yeah!')); - -console.log('Setting themes is useful') - -// -// Custom themes -// -//console.log('Generic logging theme as JSON'.green.bold.underline); -// Load theme with JSON literal -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log(colors.error("this is an error")); - -// outputs yellow text -console.log(colors.warn("this is a warning")); - -// outputs grey text -console.log(colors.input("this is an input")); - - -// console.log('Generic logging theme as file'.green.bold.underline); - -// Load a theme from file -colors.setTheme(__dirname + '/../themes/generic-logging.js'); - -// outputs red text -console.log(colors.error("this is an error")); - -// outputs yellow text -console.log(colors.warn("this is a warning")); - -// outputs grey text -console.log(colors.input("this is an input")); - -// console.log(colors.zalgo("Don't summon him")) - - - diff --git a/res-pc/node_modules/colors/lib/colors.js b/res-pc/node_modules/colors/lib/colors.js deleted file mode 100644 index 790ffd43..00000000 --- a/res-pc/node_modules/colors/lib/colors.js +++ /dev/null @@ -1,187 +0,0 @@ -/* - -The MIT License (MIT) - -Original Library - - Copyright (c) Marak Squires - -Additional functionality - - 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. - -*/ - -var colors = {}; -module['exports'] = colors; - -colors.themes = {}; - -var ansiStyles = colors.styles = require('./styles'); -var defineProps = Object.defineProperties; - -colors.supportsColor = require('./system/supports-colors'); - -if (typeof colors.enabled === "undefined") { - colors.enabled = colors.supportsColor; -} - -colors.stripColors = colors.strip = function(str){ - return ("" + str).replace(/\x1B\[\d+m/g, ''); -}; - - -var stylize = colors.stylize = function stylize (str, style) { - if (!colors.enabled) { - return str+''; - } - - return ansiStyles[style].open + str + ansiStyles[style].close; -} - -var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; -var escapeStringRegexp = function (str) { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } - return str.replace(matchOperatorsRe, '\\$&'); -} - -function build(_styles) { - var builder = function builder() { - return applyStyle.apply(builder, arguments); - }; - builder._styles = _styles; - // __proto__ is used because we must return a function, but there is - // no way to create a function with a different prototype. - builder.__proto__ = proto; - return builder; -} - -var styles = (function () { - var ret = {}; - ansiStyles.grey = ansiStyles.gray; - Object.keys(ansiStyles).forEach(function (key) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - ret[key] = { - get: function () { - return build(this._styles.concat(key)); - } - }; - }); - return ret; -})(); - -var proto = defineProps(function colors() {}, styles); - -function applyStyle() { - var args = arguments; - var argsLen = args.length; - var str = argsLen !== 0 && String(arguments[0]); - if (argsLen > 1) { - for (var a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } - - if (!colors.enabled || !str) { - return str; - } - - var nestedStyles = this._styles; - - var i = nestedStyles.length; - while (i--) { - var code = ansiStyles[nestedStyles[i]]; - str = code.open + str.replace(code.closeRe, code.open) + code.close; - } - - return str; -} - -function applyTheme (theme) { - for (var style in theme) { - (function(style){ - colors[style] = function(str){ - if (typeof theme[style] === 'object'){ - var out = str; - for (var i in theme[style]){ - out = colors[theme[style][i]](out); - } - return out; - } - return colors[theme[style]](str); - }; - })(style) - } -} - -colors.setTheme = function (theme) { - if (typeof theme === 'string') { - try { - colors.themes[theme] = require(theme); - applyTheme(colors.themes[theme]); - return colors.themes[theme]; - } catch (err) { - console.log(err); - return err; - } - } else { - applyTheme(theme); - } -}; - -function init() { - var ret = {}; - Object.keys(styles).forEach(function (name) { - ret[name] = { - get: function () { - return build([name]); - } - }; - }); - return ret; -} - -var sequencer = function sequencer (map, str) { - var exploded = str.split(""), i = 0; - exploded = exploded.map(map); - return exploded.join(""); -}; - -// custom formatter methods -colors.trap = require('./custom/trap'); -colors.zalgo = require('./custom/zalgo'); - -// maps -colors.maps = {}; -colors.maps.america = require('./maps/america'); -colors.maps.zebra = require('./maps/zebra'); -colors.maps.rainbow = require('./maps/rainbow'); -colors.maps.random = require('./maps/random') - -for (var map in colors.maps) { - (function(map){ - colors[map] = function (str) { - return sequencer(colors.maps[map], str); - } - })(map) -} - -defineProps(colors, init()); \ No newline at end of file diff --git a/res-pc/node_modules/colors/lib/custom/trap.js b/res-pc/node_modules/colors/lib/custom/trap.js deleted file mode 100644 index 3f091437..00000000 --- a/res-pc/node_modules/colors/lib/custom/trap.js +++ /dev/null @@ -1,45 +0,0 @@ -module['exports'] = function runTheTrap (text, options) { - var result = ""; - text = text || "Run the trap, drop the bass"; - text = text.split(''); - var trap = { - a: ["\u0040", "\u0104", "\u023a", "\u0245", "\u0394", "\u039b", "\u0414"], - b: ["\u00df", "\u0181", "\u0243", "\u026e", "\u03b2", "\u0e3f"], - c: ["\u00a9", "\u023b", "\u03fe"], - d: ["\u00d0", "\u018a", "\u0500" , "\u0501" ,"\u0502", "\u0503"], - e: ["\u00cb", "\u0115", "\u018e", "\u0258", "\u03a3", "\u03be", "\u04bc", "\u0a6c"], - f: ["\u04fa"], - g: ["\u0262"], - h: ["\u0126", "\u0195", "\u04a2", "\u04ba", "\u04c7", "\u050a"], - i: ["\u0f0f"], - j: ["\u0134"], - k: ["\u0138", "\u04a0", "\u04c3", "\u051e"], - l: ["\u0139"], - m: ["\u028d", "\u04cd", "\u04ce", "\u0520", "\u0521", "\u0d69"], - n: ["\u00d1", "\u014b", "\u019d", "\u0376", "\u03a0", "\u048a"], - o: ["\u00d8", "\u00f5", "\u00f8", "\u01fe", "\u0298", "\u047a", "\u05dd", "\u06dd", "\u0e4f"], - p: ["\u01f7", "\u048e"], - q: ["\u09cd"], - r: ["\u00ae", "\u01a6", "\u0210", "\u024c", "\u0280", "\u042f"], - s: ["\u00a7", "\u03de", "\u03df", "\u03e8"], - t: ["\u0141", "\u0166", "\u0373"], - u: ["\u01b1", "\u054d"], - v: ["\u05d8"], - w: ["\u0428", "\u0460", "\u047c", "\u0d70"], - x: ["\u04b2", "\u04fe", "\u04fc", "\u04fd"], - y: ["\u00a5", "\u04b0", "\u04cb"], - z: ["\u01b5", "\u0240"] - } - text.forEach(function(c){ - c = c.toLowerCase(); - var chars = trap[c] || [" "]; - var rand = Math.floor(Math.random() * chars.length); - if (typeof trap[c] !== "undefined") { - result += trap[c][rand]; - } else { - result += c; - } - }); - return result; - -} diff --git a/res-pc/node_modules/colors/lib/custom/zalgo.js b/res-pc/node_modules/colors/lib/custom/zalgo.js deleted file mode 100644 index 1538c3b4..00000000 --- a/res-pc/node_modules/colors/lib/custom/zalgo.js +++ /dev/null @@ -1,104 +0,0 @@ -// please no -module['exports'] = function zalgo(text, options) { - text = text || " he is here "; - var soul = { - "up" : [ - '̍', '̎', '̄', '̅', - '̿', '̑', '̆', '̐', - '͒', '͗', '͑', '̇', - '̈', '̊', '͂', '̓', - '̈', '͊', '͋', '͌', - '̃', '̂', '̌', '͐', - '̀', '́', '̋', '̏', - '̒', '̓', '̔', '̽', - '̉', 'ͣ', 'ͤ', 'ͥ', - 'ͦ', 'ͧ', 'ͨ', 'ͩ', - 'ͪ', 'ͫ', 'ͬ', 'ͭ', - 'ͮ', 'ͯ', '̾', '͛', - '͆', '̚' - ], - "down" : [ - '̖', '̗', '̘', '̙', - '̜', '̝', '̞', '̟', - '̠', '̤', '̥', '̦', - '̩', '̪', '̫', '̬', - '̭', '̮', '̯', '̰', - '̱', '̲', '̳', '̹', - '̺', '̻', '̼', 'ͅ', - '͇', '͈', '͉', '͍', - '͎', '͓', '͔', '͕', - '͖', '͙', '͚', '̣' - ], - "mid" : [ - '̕', '̛', '̀', '́', - '͘', '̡', '̢', '̧', - '̨', '̴', '̵', '̶', - '͜', '͝', '͞', - '͟', '͠', '͢', '̸', - '̷', '͡', ' ҉' - ] - }, - all = [].concat(soul.up, soul.down, soul.mid), - zalgo = {}; - - function randomNumber(range) { - var r = Math.floor(Math.random() * range); - return r; - } - - function is_char(character) { - var bool = false; - all.filter(function (i) { - bool = (i === character); - }); - return bool; - } - - - function heComes(text, options) { - var result = '', counts, l; - options = options || {}; - options["up"] = typeof options["up"] !== 'undefined' ? options["up"] : true; - options["mid"] = typeof options["mid"] !== 'undefined' ? options["mid"] : true; - options["down"] = typeof options["down"] !== 'undefined' ? options["down"] : true; - options["size"] = typeof options["size"] !== 'undefined' ? options["size"] : "maxi"; - text = text.split(''); - for (l in text) { - if (is_char(l)) { - continue; - } - result = result + text[l]; - counts = {"up" : 0, "down" : 0, "mid" : 0}; - switch (options.size) { - case 'mini': - counts.up = randomNumber(8); - counts.mid = randomNumber(2); - counts.down = randomNumber(8); - break; - case 'maxi': - counts.up = randomNumber(16) + 3; - counts.mid = randomNumber(4) + 1; - counts.down = randomNumber(64) + 3; - break; - default: - counts.up = randomNumber(8) + 1; - counts.mid = randomNumber(6) / 2; - counts.down = randomNumber(8) + 1; - break; - } - - var arr = ["up", "mid", "down"]; - for (var d in arr) { - var index = arr[d]; - for (var i = 0 ; i <= counts[index]; i++) { - if (options[index]) { - result = result + soul[index][randomNumber(soul[index].length)]; - } - } - } - } - return result; - } - // don't summon him - return heComes(text, options); -} diff --git a/res-pc/node_modules/colors/lib/extendStringPrototype.js b/res-pc/node_modules/colors/lib/extendStringPrototype.js deleted file mode 100644 index 67374a1c..00000000 --- a/res-pc/node_modules/colors/lib/extendStringPrototype.js +++ /dev/null @@ -1,113 +0,0 @@ -var colors = require('./colors'); - -module['exports'] = function () { - - // - // Extends prototype of native string object to allow for "foo".red syntax - // - var addProperty = function (color, func) { - String.prototype.__defineGetter__(color, func); - }; - - var sequencer = function sequencer (map, str) { - return function () { - var exploded = this.split(""), i = 0; - exploded = exploded.map(map); - return exploded.join(""); - } - }; - - addProperty('strip', function () { - return colors.strip(this); - }); - - addProperty('stripColors', function () { - return colors.strip(this); - }); - - addProperty("trap", function(){ - return colors.trap(this); - }); - - addProperty("zalgo", function(){ - return colors.zalgo(this); - }); - - addProperty("zebra", function(){ - return colors.zebra(this); - }); - - addProperty("rainbow", function(){ - return colors.rainbow(this); - }); - - addProperty("random", function(){ - return colors.random(this); - }); - - addProperty("america", function(){ - return colors.america(this); - }); - - // - // Iterate through all default styles and colors - // - var x = Object.keys(colors.styles); - x.forEach(function (style) { - addProperty(style, function () { - return colors.stylize(this, style); - }); - }); - - function applyTheme(theme) { - // - // Remark: This is a list of methods that exist - // on String that you should not overwrite. - // - var stringPrototypeBlacklist = [ - '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', 'charAt', 'constructor', - 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf', 'charCodeAt', - 'indexOf', 'lastIndexof', 'length', 'localeCompare', 'match', 'replace', 'search', 'slice', 'split', 'substring', - 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight' - ]; - - Object.keys(theme).forEach(function (prop) { - if (stringPrototypeBlacklist.indexOf(prop) !== -1) { - console.log('warn: '.red + ('String.prototype' + prop).magenta + ' is probably something you don\'t want to override. Ignoring style name'); - } - else { - if (typeof(theme[prop]) === 'string') { - colors[prop] = colors[theme[prop]]; - addProperty(prop, function () { - return colors[theme[prop]](this); - }); - } - else { - addProperty(prop, function () { - var ret = this; - for (var t = 0; t < theme[prop].length; t++) { - ret = colors[theme[prop][t]](ret); - } - return ret; - }); - } - } - }); - } - - colors.setTheme = function (theme) { - if (typeof theme === 'string') { - try { - colors.themes[theme] = require(theme); - applyTheme(colors.themes[theme]); - return colors.themes[theme]; - } catch (err) { - console.log(err); - return err; - } - } else { - applyTheme(theme); - } - }; - -}; \ No newline at end of file diff --git a/res-pc/node_modules/colors/lib/index.js b/res-pc/node_modules/colors/lib/index.js deleted file mode 100644 index fd0956d0..00000000 --- a/res-pc/node_modules/colors/lib/index.js +++ /dev/null @@ -1,12 +0,0 @@ -var colors = require('./colors'); -module['exports'] = colors; - -// Remark: By default, colors will add style properties to String.prototype -// -// If you don't wish to extend String.prototype you can do this instead and native String will not be touched -// -// var colors = require('colors/safe); -// colors.red("foo") -// -// -require('./extendStringPrototype')(); \ No newline at end of file diff --git a/res-pc/node_modules/colors/lib/maps/america.js b/res-pc/node_modules/colors/lib/maps/america.js deleted file mode 100644 index a07d8327..00000000 --- a/res-pc/node_modules/colors/lib/maps/america.js +++ /dev/null @@ -1,12 +0,0 @@ -var colors = require('../colors'); - -module['exports'] = (function() { - return function (letter, i, exploded) { - if(letter === " ") return letter; - switch(i%3) { - case 0: return colors.red(letter); - case 1: return colors.white(letter) - case 2: return colors.blue(letter) - } - } -})(); \ No newline at end of file diff --git a/res-pc/node_modules/colors/lib/maps/rainbow.js b/res-pc/node_modules/colors/lib/maps/rainbow.js deleted file mode 100644 index a7ce24e6..00000000 --- a/res-pc/node_modules/colors/lib/maps/rainbow.js +++ /dev/null @@ -1,13 +0,0 @@ -var colors = require('../colors'); - -module['exports'] = (function () { - var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta']; //RoY G BiV - return function (letter, i, exploded) { - if (letter === " ") { - return letter; - } else { - return colors[rainbowColors[i++ % rainbowColors.length]](letter); - } - }; -})(); - diff --git a/res-pc/node_modules/colors/lib/maps/random.js b/res-pc/node_modules/colors/lib/maps/random.js deleted file mode 100644 index 5cd101fa..00000000 --- a/res-pc/node_modules/colors/lib/maps/random.js +++ /dev/null @@ -1,8 +0,0 @@ -var colors = require('../colors'); - -module['exports'] = (function () { - var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green', 'blue', 'white', 'cyan', 'magenta']; - return function(letter, i, exploded) { - return letter === " " ? letter : colors[available[Math.round(Math.random() * (available.length - 1))]](letter); - }; -})(); \ No newline at end of file diff --git a/res-pc/node_modules/colors/lib/maps/zebra.js b/res-pc/node_modules/colors/lib/maps/zebra.js deleted file mode 100644 index bf7dcdea..00000000 --- a/res-pc/node_modules/colors/lib/maps/zebra.js +++ /dev/null @@ -1,5 +0,0 @@ -var colors = require('../colors'); - -module['exports'] = function (letter, i, exploded) { - return i % 2 === 0 ? letter : colors.inverse(letter); -}; \ No newline at end of file diff --git a/res-pc/node_modules/colors/lib/styles.js b/res-pc/node_modules/colors/lib/styles.js deleted file mode 100644 index 067d5907..00000000 --- a/res-pc/node_modules/colors/lib/styles.js +++ /dev/null @@ -1,77 +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. - -*/ - -var styles = {}; -module['exports'] = styles; - -var codes = { - reset: [0, 0], - - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29], - - 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], - grey: [90, 39], - - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - - // legacy styles for colors pre v1.0.0 - blackBG: [40, 49], - redBG: [41, 49], - greenBG: [42, 49], - yellowBG: [43, 49], - blueBG: [44, 49], - magentaBG: [45, 49], - cyanBG: [46, 49], - whiteBG: [47, 49] - -}; - -Object.keys(codes).forEach(function (key) { - var val = codes[key]; - var style = styles[key] = []; - style.open = '\u001b[' + val[0] + 'm'; - style.close = '\u001b[' + val[1] + 'm'; -}); \ No newline at end of file diff --git a/res-pc/node_modules/colors/lib/system/supports-colors.js b/res-pc/node_modules/colors/lib/system/supports-colors.js deleted file mode 100644 index 3e008aa9..00000000 --- a/res-pc/node_modules/colors/lib/system/supports-colors.js +++ /dev/null @@ -1,61 +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. - -*/ - -var argv = process.argv; - -module.exports = (function () { - if (argv.indexOf('--no-color') !== -1 || - argv.indexOf('--color=false') !== -1) { - return false; - } - - if (argv.indexOf('--color') !== -1 || - argv.indexOf('--color=true') !== -1 || - argv.indexOf('--color=always') !== -1) { - 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; -})(); \ No newline at end of file diff --git a/res-pc/node_modules/colors/package.json b/res-pc/node_modules/colors/package.json deleted file mode 100644 index 3d5bb949..00000000 --- a/res-pc/node_modules/colors/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "_from": "colors@^1.1.2", - "_id": "colors@1.1.2", - "_inBundle": false, - "_integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "_location": "/colors", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "colors@^1.1.2", - "name": "colors", - "escapedName": "colors", - "rawSpec": "^1.1.2", - "saveSpec": null, - "fetchSpec": "^1.1.2" - }, - "_requiredBy": [ - "/avrgirl-arduino" - ], - "_resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "_shasum": "168a4701756b6a7f51a12ce0c97bfa28c084ed63", - "_spec": "colors@^1.1.2", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/avrgirl-arduino", - "author": { - "name": "Marak Squires" - }, - "bugs": { - "url": "https://github.com/Marak/colors.js/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "get colors in your node.js console", - "engines": { - "node": ">=0.1.90" - }, - "files": [ - "examples", - "lib", - "LICENSE", - "safe.js", - "themes" - ], - "homepage": "https://github.com/Marak/colors.js", - "keywords": [ - "ansi", - "terminal", - "colors" - ], - "license": "MIT", - "main": "lib", - "name": "colors", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/Marak/colors.js.git" - }, - "scripts": { - "test": "node tests/basic-test.js && node tests/safe-test.js" - }, - "version": "1.1.2" -} diff --git a/res-pc/node_modules/colors/safe.js b/res-pc/node_modules/colors/safe.js deleted file mode 100644 index a6a1f3ab..00000000 --- a/res-pc/node_modules/colors/safe.js +++ /dev/null @@ -1,9 +0,0 @@ -// -// Remark: Requiring this file will use the "safe" colors API which will not touch String.prototype -// -// var colors = require('colors/safe); -// colors.red("foo") -// -// -var colors = require('./lib/colors'); -module['exports'] = colors; \ No newline at end of file diff --git a/res-pc/node_modules/colors/themes/generic-logging.js b/res-pc/node_modules/colors/themes/generic-logging.js deleted file mode 100644 index 571972c1..00000000 --- a/res-pc/node_modules/colors/themes/generic-logging.js +++ /dev/null @@ -1,12 +0,0 @@ -module['exports'] = { - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}; \ No newline at end of file diff --git a/res-pc/node_modules/commander/CHANGELOG.md b/res-pc/node_modules/commander/CHANGELOG.md deleted file mode 100644 index 971f8f2e..00000000 --- a/res-pc/node_modules/commander/CHANGELOG.md +++ /dev/null @@ -1,334 +0,0 @@ - -2.13.0 / 2018-01-09 -================== - - * Do not print default for --no- - * remove trailing spaces in command help - * Update CI's Node.js to LTS and latest version - * typedefs: Command and Option types added to commander namespace - -2.12.2 / 2017-11-28 -================== - - * fix: typings are not shipped - -2.12.1 / 2017-11-23 -================== - - * Move @types/node to dev dependency - -2.12.0 / 2017-11-22 -================== - - * add attributeName() method to Option objects - * Documentation updated for options with --no prefix - * typings: `outputHelp` takes a string as the first parameter - * typings: use overloads - * feat(typings): update to match js api - * Print default value in option help - * Fix translation error - * Fail when using same command and alias (#491) - * feat(typings): add help callback - * fix bug when description is add after command with options (#662) - * Format js code - * Rename History.md to CHANGELOG.md (#668) - * feat(typings): add typings to support TypeScript (#646) - * use current node - -2.11.0 / 2017-07-03 -================== - - * Fix help section order and padding (#652) - * feature: support for signals to subcommands (#632) - * Fixed #37, --help should not display first (#447) - * Fix translation errors. (#570) - * Add package-lock.json - * Remove engines - * Upgrade package version - * Prefix events to prevent conflicts between commands and options (#494) - * Removing dependency on graceful-readlink - * Support setting name in #name function and make it chainable - * Add .vscode directory to .gitignore (Visual Studio Code metadata) - * Updated link to ruby commander in readme files - -2.10.0 / 2017-06-19 -================== - - * Update .travis.yml. drop support for older node.js versions. - * Fix require arguments in README.md - * On SemVer you do not start from 0.0.1 - * Add missing semi colon in readme - * Add save param to npm install - * node v6 travis test - * Update Readme_zh-CN.md - * Allow literal '--' to be passed-through as an argument - * Test subcommand alias help - * link build badge to master branch - * Support the alias of Git style sub-command - * added keyword commander for better search result on npm - * Fix Sub-Subcommands - * test node.js stable - * Fixes TypeError when a command has an option called `--description` - * Update README.md to make it beginner friendly and elaborate on the difference between angled and square brackets. - * Add chinese Readme file - -2.9.0 / 2015-10-13 -================== - - * Add option `isDefault` to set default subcommand #415 @Qix- - * Add callback to allow filtering or post-processing of help text #434 @djulien - * Fix `undefined` text in help information close #414 #416 @zhiyelee - -2.8.1 / 2015-04-22 -================== - - * Back out `support multiline description` Close #396 #397 - -2.8.0 / 2015-04-07 -================== - - * Add `process.execArg` support, execution args like `--harmony` will be passed to sub-commands #387 @DigitalIO @zhiyelee - * Fix bug in Git-style sub-commands #372 @zhiyelee - * Allow commands to be hidden from help #383 @tonylukasavage - * When git-style sub-commands are in use, yet none are called, display help #382 @claylo - * Add ability to specify arguments syntax for top-level command #258 @rrthomas - * Support multiline descriptions #208 @zxqfox - -2.7.1 / 2015-03-11 -================== - - * Revert #347 (fix collisions when option and first arg have same name) which causes a bug in #367. - -2.7.0 / 2015-03-09 -================== - - * Fix git-style bug when installed globally. Close #335 #349 @zhiyelee - * Fix collisions when option and first arg have same name. Close #346 #347 @tonylukasavage - * Add support for camelCase on `opts()`. Close #353 @nkzawa - * Add node.js 0.12 and io.js to travis.yml - * Allow RegEx options. #337 @palanik - * Fixes exit code when sub-command failing. Close #260 #332 @pirelenito - * git-style `bin` files in $PATH make sense. Close #196 #327 @zhiyelee - -2.6.0 / 2014-12-30 -================== - - * added `Command#allowUnknownOption` method. Close #138 #318 @doozr @zhiyelee - * Add application description to the help msg. Close #112 @dalssoft - -2.5.1 / 2014-12-15 -================== - - * fixed two bugs incurred by variadic arguments. Close #291 @Quentin01 #302 @zhiyelee - -2.5.0 / 2014-10-24 -================== - - * add support for variadic arguments. Closes #277 @whitlockjc - -2.4.0 / 2014-10-17 -================== - - * fixed a bug on executing the coercion function of subcommands option. Closes #270 - * added `Command.prototype.name` to retrieve command name. Closes #264 #266 @tonylukasavage - * added `Command.prototype.opts` to retrieve all the options as a simple object of key-value pairs. Closes #262 @tonylukasavage - * fixed a bug on subcommand name. Closes #248 @jonathandelgado - * fixed function normalize doesn’t honor option terminator. Closes #216 @abbr - -2.3.0 / 2014-07-16 -================== - - * add command alias'. Closes PR #210 - * fix: Typos. Closes #99 - * fix: Unused fs module. Closes #217 - -2.2.0 / 2014-03-29 -================== - - * add passing of previous option value - * fix: support subcommands on windows. Closes #142 - * Now the defaultValue passed as the second argument of the coercion function. - -2.1.0 / 2013-11-21 -================== - - * add: allow cflag style option params, unit test, fixes #174 - -2.0.0 / 2013-07-18 -================== - - * remove input methods (.prompt, .confirm, etc) - -1.3.2 / 2013-07-18 -================== - - * add support for sub-commands to co-exist with the original command - -1.3.1 / 2013-07-18 -================== - - * add quick .runningCommand hack so you can opt-out of other logic when running a sub command - -1.3.0 / 2013-07-09 -================== - - * add EACCES error handling - * fix sub-command --help - -1.2.0 / 2013-06-13 -================== - - * allow "-" hyphen as an option argument - * support for RegExp coercion - -1.1.1 / 2012-11-20 -================== - - * add more sub-command padding - * fix .usage() when args are present. Closes #106 - -1.1.0 / 2012-11-16 -================== - - * add git-style executable subcommand support. Closes #94 - -1.0.5 / 2012-10-09 -================== - - * fix `--name` clobbering. Closes #92 - * fix examples/help. Closes #89 - -1.0.4 / 2012-09-03 -================== - - * add `outputHelp()` method. - -1.0.3 / 2012-08-30 -================== - - * remove invalid .version() defaulting - -1.0.2 / 2012-08-24 -================== - - * add `--foo=bar` support [arv] - * fix password on node 0.8.8. Make backward compatible with 0.6 [focusaurus] - -1.0.1 / 2012-08-03 -================== - - * fix issue #56 - * fix tty.setRawMode(mode) was moved to tty.ReadStream#setRawMode() (i.e. process.stdin.setRawMode()) - -1.0.0 / 2012-07-05 -================== - - * add support for optional option descriptions - * add defaulting of `.version()` to package.json's version - -0.6.1 / 2012-06-01 -================== - - * Added: append (yes or no) on confirmation - * Added: allow node.js v0.7.x - -0.6.0 / 2012-04-10 -================== - - * Added `.prompt(obj, callback)` support. Closes #49 - * Added default support to .choose(). Closes #41 - * Fixed the choice example - -0.5.1 / 2011-12-20 -================== - - * Fixed `password()` for recent nodes. Closes #36 - -0.5.0 / 2011-12-04 -================== - - * Added sub-command option support [itay] - -0.4.3 / 2011-12-04 -================== - - * Fixed custom help ordering. Closes #32 - -0.4.2 / 2011-11-24 -================== - - * Added travis support - * Fixed: line-buffered input automatically trimmed. Closes #31 - -0.4.1 / 2011-11-18 -================== - - * Removed listening for "close" on --help - -0.4.0 / 2011-11-15 -================== - - * Added support for `--`. Closes #24 - -0.3.3 / 2011-11-14 -================== - - * Fixed: wait for close event when writing help info [Jerry Hamlet] - -0.3.2 / 2011-11-01 -================== - - * Fixed long flag definitions with values [felixge] - -0.3.1 / 2011-10-31 -================== - - * Changed `--version` short flag to `-V` from `-v` - * Changed `.version()` so it's configurable [felixge] - -0.3.0 / 2011-10-31 -================== - - * Added support for long flags only. Closes #18 - -0.2.1 / 2011-10-24 -================== - - * "node": ">= 0.4.x < 0.7.0". Closes #20 - -0.2.0 / 2011-09-26 -================== - - * Allow for defaults that are not just boolean. Default peassignment only occurs for --no-*, optional, and required arguments. [Jim Isaacs] - -0.1.0 / 2011-08-24 -================== - - * Added support for custom `--help` output - -0.0.5 / 2011-08-18 -================== - - * Changed: when the user enters nothing prompt for password again - * Fixed issue with passwords beginning with numbers [NuckChorris] - -0.0.4 / 2011-08-15 -================== - - * Fixed `Commander#args` - -0.0.3 / 2011-08-15 -================== - - * Added default option value support - -0.0.2 / 2011-08-15 -================== - - * Added mask support to `Command#password(str[, mask], fn)` - * Added `Command#password(str, fn)` - -0.0.1 / 2010-01-03 -================== - - * Initial release diff --git a/res-pc/node_modules/commander/LICENSE b/res-pc/node_modules/commander/LICENSE deleted file mode 100644 index 10f997ab..00000000 --- a/res-pc/node_modules/commander/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk - -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/res-pc/node_modules/commander/Readme.md b/res-pc/node_modules/commander/Readme.md deleted file mode 100644 index acd31c61..00000000 --- a/res-pc/node_modules/commander/Readme.md +++ /dev/null @@ -1,370 +0,0 @@ -# Commander.js - - -[![Build Status](https://api.travis-ci.org/tj/commander.js.svg?branch=master)](http://travis-ci.org/tj/commander.js) -[![NPM Version](http://img.shields.io/npm/v/commander.svg?style=flat)](https://www.npmjs.org/package/commander) -[![NPM Downloads](https://img.shields.io/npm/dm/commander.svg?style=flat)](https://www.npmjs.org/package/commander) -[![Join the chat at https://gitter.im/tj/commander.js](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/tj/commander.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - - The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/commander-rb/commander). - [API documentation](http://tj.github.com/commander.js/) - - -## Installation - - $ npm install commander --save - -## Option parsing - - Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options. - -```js -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander'); - -program - .version('0.1.0') - .option('-p, --peppers', 'Add peppers') - .option('-P, --pineapple', 'Add pineapple') - .option('-b, --bbq-sauce', 'Add bbq sauce') - .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble') - .parse(process.argv); - -console.log('you ordered a pizza with:'); -if (program.peppers) console.log(' - peppers'); -if (program.pineapple) console.log(' - pineapple'); -if (program.bbqSauce) console.log(' - bbq'); -console.log(' - %s cheese', program.cheese); -``` - - Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc. - -Note that multi-word options starting with `--no` prefix negate the boolean value of the following word. For example, `--no-sauce` sets the value of `program.sauce` to false. - -```js -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander'); - -program - .option('--no-sauce', 'Remove sauce') - .parse(process.argv); - -console.log('you ordered a pizza'); -if (program.sauce) console.log(' with sauce'); -else console.log(' without sauce'); -``` - -## Coercion - -```js -function range(val) { - return val.split('..').map(Number); -} - -function list(val) { - return val.split(','); -} - -function collect(val, memo) { - memo.push(val); - return memo; -} - -function increaseVerbosity(v, total) { - return total + 1; -} - -program - .version('0.1.0') - .usage('[options] ') - .option('-i, --integer ', 'An integer argument', parseInt) - .option('-f, --float ', 'A float argument', parseFloat) - .option('-r, --range ..', 'A range', range) - .option('-l, --list ', 'A list', list) - .option('-o, --optional [value]', 'An optional value') - .option('-c, --collect [value]', 'A repeatable value', collect, []) - .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0) - .parse(process.argv); - -console.log(' int: %j', program.integer); -console.log(' float: %j', program.float); -console.log(' optional: %j', program.optional); -program.range = program.range || []; -console.log(' range: %j..%j', program.range[0], program.range[1]); -console.log(' list: %j', program.list); -console.log(' collect: %j', program.collect); -console.log(' verbosity: %j', program.verbose); -console.log(' args: %j', program.args); -``` - -## Regular Expression -```js -program - .version('0.1.0') - .option('-s --size ', 'Pizza size', /^(large|medium|small)$/i, 'medium') - .option('-d --drink [drink]', 'Drink', /^(coke|pepsi|izze)$/i) - .parse(process.argv); - -console.log(' size: %j', program.size); -console.log(' drink: %j', program.drink); -``` - -## Variadic arguments - - The last argument of a command can be variadic, and only the last argument. To make an argument variadic you have to - append `...` to the argument name. Here is an example: - -```js -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander'); - -program - .version('0.1.0') - .command('rmdir [otherDirs...]') - .action(function (dir, otherDirs) { - console.log('rmdir %s', dir); - if (otherDirs) { - otherDirs.forEach(function (oDir) { - console.log('rmdir %s', oDir); - }); - } - }); - -program.parse(process.argv); -``` - - An `Array` is used for the value of a variadic argument. This applies to `program.args` as well as the argument passed - to your action as demonstrated above. - -## Specify the argument syntax - -```js -#!/usr/bin/env node - -var program = require('commander'); - -program - .version('0.1.0') - .arguments(' [env]') - .action(function (cmd, env) { - cmdValue = cmd; - envValue = env; - }); - -program.parse(process.argv); - -if (typeof cmdValue === 'undefined') { - console.error('no command given!'); - process.exit(1); -} -console.log('command:', cmdValue); -console.log('environment:', envValue || "no environment given"); -``` -Angled brackets (e.g. ``) indicate required input. Square brackets (e.g. `[env]`) indicate optional input. - -## Git-style sub-commands - -```js -// file: ./examples/pm -var program = require('commander'); - -program - .version('0.1.0') - .command('install [name]', 'install one or more packages') - .command('search [query]', 'search with optional query') - .command('list', 'list packages installed', {isDefault: true}) - .parse(process.argv); -``` - -When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools. -The commander will try to search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-command`, like `pm-install`, `pm-search`. - -Options can be passed with the call to `.command()`. Specifying `true` for `opts.noHelp` will remove the option from the generated help output. Specifying `true` for `opts.isDefault` will run the subcommand if no other subcommand is specified. - -If the program is designed to be installed globally, make sure the executables have proper modes, like `755`. - -### `--harmony` - -You can enable `--harmony` option in two ways: -* Use `#! /usr/bin/env node --harmony` in the sub-commands scripts. Note some os version don’t support this pattern. -* Use the `--harmony` option when call the command, like `node --harmony examples/pm publish`. The `--harmony` option will be preserved when spawning sub-command process. - -## Automated --help - - The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free: - -``` - $ ./examples/pizza --help - - Usage: pizza [options] - - An application for pizzas ordering - - Options: - - -h, --help output usage information - -V, --version output the version number - -p, --peppers Add peppers - -P, --pineapple Add pineapple - -b, --bbq Add bbq sauce - -c, --cheese Add the specified type of cheese [marble] - -C, --no-cheese You do not want any cheese - -``` - -## Custom help - - You can display arbitrary `-h, --help` information - by listening for "--help". Commander will automatically - exit once you are done so that the remainder of your program - does not execute causing undesired behaviours, for example - in the following executable "stuff" will not output when - `--help` is used. - -```js -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander'); - -program - .version('0.1.0') - .option('-f, --foo', 'enable some foo') - .option('-b, --bar', 'enable some bar') - .option('-B, --baz', 'enable some baz'); - -// must be before .parse() since -// node's emit() is immediate - -program.on('--help', function(){ - console.log(' Examples:'); - console.log(''); - console.log(' $ custom-help --help'); - console.log(' $ custom-help -h'); - console.log(''); -}); - -program.parse(process.argv); - -console.log('stuff'); -``` - -Yields the following help output when `node script-name.js -h` or `node script-name.js --help` are run: - -``` - -Usage: custom-help [options] - -Options: - - -h, --help output usage information - -V, --version output the version number - -f, --foo enable some foo - -b, --bar enable some bar - -B, --baz enable some baz - -Examples: - - $ custom-help --help - $ custom-help -h - -``` - -## .outputHelp(cb) - -Output help information without exiting. -Optional callback cb allows post-processing of help text before it is displayed. - -If you want to display help by default (e.g. if no command was provided), you can use something like: - -```js -var program = require('commander'); -var colors = require('colors'); - -program - .version('0.1.0') - .command('getstream [url]', 'get stream URL') - .parse(process.argv); - -if (!process.argv.slice(2).length) { - program.outputHelp(make_red); -} - -function make_red(txt) { - return colors.red(txt); //display the help text in red on the console -} -``` - -## .help(cb) - - Output help information and exit immediately. - Optional callback cb allows post-processing of help text before it is displayed. - -## Examples - -```js -var program = require('commander'); - -program - .version('0.1.0') - .option('-C, --chdir ', 'change the working directory') - .option('-c, --config ', 'set config path. defaults to ./deploy.conf') - .option('-T, --no-tests', 'ignore test hook'); - -program - .command('setup [env]') - .description('run setup commands for all envs') - .option("-s, --setup_mode [mode]", "Which setup mode to use") - .action(function(env, options){ - var mode = options.setup_mode || "normal"; - env = env || 'all'; - console.log('setup for %s env(s) with %s mode', env, mode); - }); - -program - .command('exec ') - .alias('ex') - .description('execute the given remote cmd') - .option("-e, --exec_mode ", "Which exec mode to use") - .action(function(cmd, options){ - console.log('exec "%s" using %s mode', cmd, options.exec_mode); - }).on('--help', function() { - console.log(' Examples:'); - console.log(); - console.log(' $ deploy exec sequential'); - console.log(' $ deploy exec async'); - console.log(); - }); - -program - .command('*') - .action(function(env){ - console.log('deploying "%s"', env); - }); - -program.parse(process.argv); -``` - -More Demos can be found in the [examples](https://github.com/tj/commander.js/tree/master/examples) directory. - -## License - -MIT diff --git a/res-pc/node_modules/commander/index.js b/res-pc/node_modules/commander/index.js deleted file mode 100644 index 710fff3d..00000000 --- a/res-pc/node_modules/commander/index.js +++ /dev/null @@ -1,1158 +0,0 @@ -/** - * Module dependencies. - */ - -var EventEmitter = require('events').EventEmitter; -var spawn = require('child_process').spawn; -var path = require('path'); -var dirname = path.dirname; -var basename = path.basename; -var fs = require('fs'); - -/** - * Expose the root command. - */ - -exports = module.exports = new Command(); - -/** - * Expose `Command`. - */ - -exports.Command = Command; - -/** - * Expose `Option`. - */ - -exports.Option = Option; - -/** - * Initialize a new `Option` with the given `flags` and `description`. - * - * @param {String} flags - * @param {String} description - * @api public - */ - -function Option(flags, description) { - this.flags = flags; - this.required = ~flags.indexOf('<'); - this.optional = ~flags.indexOf('['); - this.bool = !~flags.indexOf('-no-'); - flags = flags.split(/[ ,|]+/); - if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift(); - this.long = flags.shift(); - this.description = description || ''; -} - -/** - * Return option name. - * - * @return {String} - * @api private - */ - -Option.prototype.name = function() { - return this.long - .replace('--', '') - .replace('no-', ''); -}; - -/** - * Return option name, in a camelcase format that can be used - * as a object attribute key. - * - * @return {String} - * @api private - */ - -Option.prototype.attributeName = function() { - return camelcase( this.name() ); -}; - -/** - * Check if `arg` matches the short or long flag. - * - * @param {String} arg - * @return {Boolean} - * @api private - */ - -Option.prototype.is = function(arg) { - return arg == this.short || arg == this.long; -}; - -/** - * Initialize a new `Command`. - * - * @param {String} name - * @api public - */ - -function Command(name) { - this.commands = []; - this.options = []; - this._execs = {}; - this._allowUnknownOption = false; - this._args = []; - this._name = name || ''; -} - -/** - * Inherit from `EventEmitter.prototype`. - */ - -Command.prototype.__proto__ = EventEmitter.prototype; - -/** - * Add command `name`. - * - * The `.action()` callback is invoked when the - * command `name` is specified via __ARGV__, - * and the remaining arguments are applied to the - * function for access. - * - * When the `name` is "*" an un-matched command - * will be passed as the first arg, followed by - * the rest of __ARGV__ remaining. - * - * Examples: - * - * program - * .version('0.0.1') - * .option('-C, --chdir ', 'change the working directory') - * .option('-c, --config ', 'set config path. defaults to ./deploy.conf') - * .option('-T, --no-tests', 'ignore test hook') - * - * program - * .command('setup') - * .description('run remote setup commands') - * .action(function() { - * console.log('setup'); - * }); - * - * program - * .command('exec ') - * .description('run the given remote command') - * .action(function(cmd) { - * console.log('exec "%s"', cmd); - * }); - * - * program - * .command('teardown [otherDirs...]') - * .description('run teardown commands') - * .action(function(dir, otherDirs) { - * console.log('dir "%s"', dir); - * if (otherDirs) { - * otherDirs.forEach(function (oDir) { - * console.log('dir "%s"', oDir); - * }); - * } - * }); - * - * program - * .command('*') - * .description('deploy the given env') - * .action(function(env) { - * console.log('deploying "%s"', env); - * }); - * - * program.parse(process.argv); - * - * @param {String} name - * @param {String} [desc] for git-style sub-commands - * @return {Command} the new command - * @api public - */ - -Command.prototype.command = function(name, desc, opts) { - if(typeof desc === 'object' && desc !== null){ - opts = desc; - desc = null; - } - opts = opts || {}; - var args = name.split(/ +/); - var cmd = new Command(args.shift()); - - if (desc) { - cmd.description(desc); - this.executables = true; - this._execs[cmd._name] = true; - if (opts.isDefault) this.defaultExecutable = cmd._name; - } - cmd._noHelp = !!opts.noHelp; - this.commands.push(cmd); - cmd.parseExpectedArgs(args); - cmd.parent = this; - - if (desc) return this; - return cmd; -}; - -/** - * Define argument syntax for the top-level command. - * - * @api public - */ - -Command.prototype.arguments = function (desc) { - return this.parseExpectedArgs(desc.split(/ +/)); -}; - -/** - * Add an implicit `help [cmd]` subcommand - * which invokes `--help` for the given command. - * - * @api private - */ - -Command.prototype.addImplicitHelpCommand = function() { - this.command('help [cmd]', 'display help for [cmd]'); -}; - -/** - * Parse expected `args`. - * - * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. - * - * @param {Array} args - * @return {Command} for chaining - * @api public - */ - -Command.prototype.parseExpectedArgs = function(args) { - if (!args.length) return; - var self = this; - args.forEach(function(arg) { - var argDetails = { - required: false, - name: '', - variadic: false - }; - - switch (arg[0]) { - case '<': - argDetails.required = true; - argDetails.name = arg.slice(1, -1); - break; - case '[': - argDetails.name = arg.slice(1, -1); - break; - } - - if (argDetails.name.length > 3 && argDetails.name.slice(-3) === '...') { - argDetails.variadic = true; - argDetails.name = argDetails.name.slice(0, -3); - } - if (argDetails.name) { - self._args.push(argDetails); - } - }); - return this; -}; - -/** - * Register callback `fn` for the command. - * - * Examples: - * - * program - * .command('help') - * .description('display verbose help') - * .action(function() { - * // output help here - * }); - * - * @param {Function} fn - * @return {Command} for chaining - * @api public - */ - -Command.prototype.action = function(fn) { - var self = this; - var listener = function(args, unknown) { - // Parse any so-far unknown options - args = args || []; - unknown = unknown || []; - - var parsed = self.parseOptions(unknown); - - // Output help if necessary - outputHelpIfNecessary(self, parsed.unknown); - - // If there are still any unknown options, then we simply - // die, unless someone asked for help, in which case we give it - // to them, and then we die. - if (parsed.unknown.length > 0) { - self.unknownOption(parsed.unknown[0]); - } - - // Leftover arguments need to be pushed back. Fixes issue #56 - if (parsed.args.length) args = parsed.args.concat(args); - - self._args.forEach(function(arg, i) { - if (arg.required && null == args[i]) { - self.missingArgument(arg.name); - } else if (arg.variadic) { - if (i !== self._args.length - 1) { - self.variadicArgNotLast(arg.name); - } - - args[i] = args.splice(i); - } - }); - - // Always append ourselves to the end of the arguments, - // to make sure we match the number of arguments the user - // expects - if (self._args.length) { - args[self._args.length] = self; - } else { - args.push(self); - } - - fn.apply(self, args); - }; - var parent = this.parent || this; - var name = parent === this ? '*' : this._name; - parent.on('command:' + name, listener); - if (this._alias) parent.on('command:' + this._alias, listener); - return this; -}; - -/** - * Define option with `flags`, `description` and optional - * coercion `fn`. - * - * The `flags` string should contain both the short and long flags, - * separated by comma, a pipe or space. The following are all valid - * all will output this way when `--help` is used. - * - * "-p, --pepper" - * "-p|--pepper" - * "-p --pepper" - * - * Examples: - * - * // simple boolean defaulting to false - * program.option('-p, --pepper', 'add pepper'); - * - * --pepper - * program.pepper - * // => Boolean - * - * // simple boolean defaulting to true - * program.option('-C, --no-cheese', 'remove cheese'); - * - * program.cheese - * // => true - * - * --no-cheese - * program.cheese - * // => false - * - * // required argument - * program.option('-C, --chdir ', 'change the working directory'); - * - * --chdir /tmp - * program.chdir - * // => "/tmp" - * - * // optional argument - * program.option('-c, --cheese [type]', 'add cheese [marble]'); - * - * @param {String} flags - * @param {String} description - * @param {Function|*} [fn] or default - * @param {*} [defaultValue] - * @return {Command} for chaining - * @api public - */ - -Command.prototype.option = function(flags, description, fn, defaultValue) { - var self = this - , option = new Option(flags, description) - , oname = option.name() - , name = option.attributeName(); - - // default as 3rd arg - if (typeof fn != 'function') { - if (fn instanceof RegExp) { - var regex = fn; - fn = function(val, def) { - var m = regex.exec(val); - return m ? m[0] : def; - } - } - else { - defaultValue = fn; - fn = null; - } - } - - // preassign default value only for --no-*, [optional], or - if (false == option.bool || option.optional || option.required) { - // when --no-* we make sure default is true - if (false == option.bool) defaultValue = true; - // preassign only if we have a default - if (undefined !== defaultValue) { - self[name] = defaultValue; - option.defaultValue = defaultValue; - } - } - - // register the option - this.options.push(option); - - // when it's passed assign the value - // and conditionally invoke the callback - this.on('option:' + oname, function(val) { - // coercion - if (null !== val && fn) val = fn(val, undefined === self[name] - ? defaultValue - : self[name]); - - // unassigned or bool - if ('boolean' == typeof self[name] || 'undefined' == typeof self[name]) { - // if no value, bool true, and we have a default, then use it! - if (null == val) { - self[name] = option.bool - ? defaultValue || true - : false; - } else { - self[name] = val; - } - } else if (null !== val) { - // reassign - self[name] = val; - } - }); - - return this; -}; - -/** - * Allow unknown options on the command line. - * - * @param {Boolean} arg if `true` or omitted, no error will be thrown - * for unknown options. - * @api public - */ -Command.prototype.allowUnknownOption = function(arg) { - this._allowUnknownOption = arguments.length === 0 || arg; - return this; -}; - -/** - * Parse `argv`, settings options and invoking commands when defined. - * - * @param {Array} argv - * @return {Command} for chaining - * @api public - */ - -Command.prototype.parse = function(argv) { - // implicit help - if (this.executables) this.addImplicitHelpCommand(); - - // store raw args - this.rawArgs = argv; - - // guess name - this._name = this._name || basename(argv[1], '.js'); - - // github-style sub-commands with no sub-command - if (this.executables && argv.length < 3 && !this.defaultExecutable) { - // this user needs help - argv.push('--help'); - } - - // process argv - var parsed = this.parseOptions(this.normalize(argv.slice(2))); - var args = this.args = parsed.args; - - var result = this.parseArgs(this.args, parsed.unknown); - - // executable sub-commands - var name = result.args[0]; - - var aliasCommand = null; - // check alias of sub commands - if (name) { - aliasCommand = this.commands.filter(function(command) { - return command.alias() === name; - })[0]; - } - - if (this._execs[name] && typeof this._execs[name] != "function") { - return this.executeSubCommand(argv, args, parsed.unknown); - } else if (aliasCommand) { - // is alias of a subCommand - args[0] = aliasCommand._name; - return this.executeSubCommand(argv, args, parsed.unknown); - } else if (this.defaultExecutable) { - // use the default subcommand - args.unshift(this.defaultExecutable); - return this.executeSubCommand(argv, args, parsed.unknown); - } - - return result; -}; - -/** - * Execute a sub-command executable. - * - * @param {Array} argv - * @param {Array} args - * @param {Array} unknown - * @api private - */ - -Command.prototype.executeSubCommand = function(argv, args, unknown) { - args = args.concat(unknown); - - if (!args.length) this.help(); - if ('help' == args[0] && 1 == args.length) this.help(); - - // --help - if ('help' == args[0]) { - args[0] = args[1]; - args[1] = '--help'; - } - - // executable - var f = argv[1]; - // name of the subcommand, link `pm-install` - var bin = basename(f, '.js') + '-' + args[0]; - - - // In case of globally installed, get the base dir where executable - // subcommand file should be located at - var baseDir - , link = fs.lstatSync(f).isSymbolicLink() ? fs.readlinkSync(f) : f; - - // when symbolink is relative path - if (link !== f && link.charAt(0) !== '/') { - link = path.join(dirname(f), link) - } - baseDir = dirname(link); - - // prefer local `./` to bin in the $PATH - var localBin = path.join(baseDir, bin); - - // whether bin file is a js script with explicit `.js` extension - var isExplicitJS = false; - if (exists(localBin + '.js')) { - bin = localBin + '.js'; - isExplicitJS = true; - } else if (exists(localBin)) { - bin = localBin; - } - - args = args.slice(1); - - var proc; - if (process.platform !== 'win32') { - if (isExplicitJS) { - args.unshift(bin); - // add executable arguments to spawn - args = (process.execArgv || []).concat(args); - - proc = spawn(process.argv[0], args, { stdio: 'inherit', customFds: [0, 1, 2] }); - } else { - proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] }); - } - } else { - args.unshift(bin); - proc = spawn(process.execPath, args, { stdio: 'inherit'}); - } - - var signals = ['SIGUSR1', 'SIGUSR2', 'SIGTERM', 'SIGINT', 'SIGHUP']; - signals.forEach(function(signal) { - process.on(signal, function(){ - if ((proc.killed === false) && (proc.exitCode === null)){ - proc.kill(signal); - } - }); - }); - proc.on('close', process.exit.bind(process)); - proc.on('error', function(err) { - if (err.code == "ENOENT") { - console.error('\n %s(1) does not exist, try --help\n', bin); - } else if (err.code == "EACCES") { - console.error('\n %s(1) not executable. try chmod or run with root\n', bin); - } - process.exit(1); - }); - - // Store the reference to the child process - this.runningCommand = proc; -}; - -/** - * Normalize `args`, splitting joined short flags. For example - * the arg "-abc" is equivalent to "-a -b -c". - * This also normalizes equal sign and splits "--abc=def" into "--abc def". - * - * @param {Array} args - * @return {Array} - * @api private - */ - -Command.prototype.normalize = function(args) { - var ret = [] - , arg - , lastOpt - , index; - - for (var i = 0, len = args.length; i < len; ++i) { - arg = args[i]; - if (i > 0) { - lastOpt = this.optionFor(args[i-1]); - } - - if (arg === '--') { - // Honor option terminator - ret = ret.concat(args.slice(i)); - break; - } else if (lastOpt && lastOpt.required) { - ret.push(arg); - } else if (arg.length > 1 && '-' == arg[0] && '-' != arg[1]) { - arg.slice(1).split('').forEach(function(c) { - ret.push('-' + c); - }); - } else if (/^--/.test(arg) && ~(index = arg.indexOf('='))) { - ret.push(arg.slice(0, index), arg.slice(index + 1)); - } else { - ret.push(arg); - } - } - - return ret; -}; - -/** - * Parse command `args`. - * - * When listener(s) are available those - * callbacks are invoked, otherwise the "*" - * event is emitted and those actions are invoked. - * - * @param {Array} args - * @return {Command} for chaining - * @api private - */ - -Command.prototype.parseArgs = function(args, unknown) { - var name; - - if (args.length) { - name = args[0]; - if (this.listeners('command:' + name).length) { - this.emit('command:' + args.shift(), args, unknown); - } else { - this.emit('command:*', args); - } - } else { - outputHelpIfNecessary(this, unknown); - - // If there were no args and we have unknown options, - // then they are extraneous and we need to error. - if (unknown.length > 0) { - this.unknownOption(unknown[0]); - } - } - - return this; -}; - -/** - * Return an option matching `arg` if any. - * - * @param {String} arg - * @return {Option} - * @api private - */ - -Command.prototype.optionFor = function(arg) { - for (var i = 0, len = this.options.length; i < len; ++i) { - if (this.options[i].is(arg)) { - return this.options[i]; - } - } -}; - -/** - * Parse options from `argv` returning `argv` - * void of these options. - * - * @param {Array} argv - * @return {Array} - * @api public - */ - -Command.prototype.parseOptions = function(argv) { - var args = [] - , len = argv.length - , literal - , option - , arg; - - var unknownOptions = []; - - // parse options - for (var i = 0; i < len; ++i) { - arg = argv[i]; - - // literal args after -- - if (literal) { - args.push(arg); - continue; - } - - if ('--' == arg) { - literal = true; - continue; - } - - // find matching Option - option = this.optionFor(arg); - - // option is defined - if (option) { - // requires arg - if (option.required) { - arg = argv[++i]; - if (null == arg) return this.optionMissingArgument(option); - this.emit('option:' + option.name(), arg); - // optional arg - } else if (option.optional) { - arg = argv[i+1]; - if (null == arg || ('-' == arg[0] && '-' != arg)) { - arg = null; - } else { - ++i; - } - this.emit('option:' + option.name(), arg); - // bool - } else { - this.emit('option:' + option.name()); - } - continue; - } - - // looks like an option - if (arg.length > 1 && '-' == arg[0]) { - unknownOptions.push(arg); - - // If the next argument looks like it might be - // an argument for this option, we pass it on. - // If it isn't, then it'll simply be ignored - if (argv[i+1] && '-' != argv[i+1][0]) { - unknownOptions.push(argv[++i]); - } - continue; - } - - // arg - args.push(arg); - } - - return { args: args, unknown: unknownOptions }; -}; - -/** - * Return an object containing options as key-value pairs - * - * @return {Object} - * @api public - */ -Command.prototype.opts = function() { - var result = {} - , len = this.options.length; - - for (var i = 0 ; i < len; i++) { - var key = this.options[i].attributeName(); - result[key] = key === 'version' ? this._version : this[key]; - } - return result; -}; - -/** - * Argument `name` is missing. - * - * @param {String} name - * @api private - */ - -Command.prototype.missingArgument = function(name) { - console.error(); - console.error(" error: missing required argument `%s'", name); - console.error(); - process.exit(1); -}; - -/** - * `Option` is missing an argument, but received `flag` or nothing. - * - * @param {String} option - * @param {String} flag - * @api private - */ - -Command.prototype.optionMissingArgument = function(option, flag) { - console.error(); - if (flag) { - console.error(" error: option `%s' argument missing, got `%s'", option.flags, flag); - } else { - console.error(" error: option `%s' argument missing", option.flags); - } - console.error(); - process.exit(1); -}; - -/** - * Unknown option `flag`. - * - * @param {String} flag - * @api private - */ - -Command.prototype.unknownOption = function(flag) { - if (this._allowUnknownOption) return; - console.error(); - console.error(" error: unknown option `%s'", flag); - console.error(); - process.exit(1); -}; - -/** - * Variadic argument with `name` is not the last argument as required. - * - * @param {String} name - * @api private - */ - -Command.prototype.variadicArgNotLast = function(name) { - console.error(); - console.error(" error: variadic arguments must be last `%s'", name); - console.error(); - process.exit(1); -}; - -/** - * Set the program version to `str`. - * - * This method auto-registers the "-V, --version" flag - * which will print the version number when passed. - * - * @param {String} str - * @param {String} [flags] - * @return {Command} for chaining - * @api public - */ - -Command.prototype.version = function(str, flags) { - if (0 == arguments.length) return this._version; - this._version = str; - flags = flags || '-V, --version'; - this.option(flags, 'output the version number'); - this.on('option:version', function() { - process.stdout.write(str + '\n'); - process.exit(0); - }); - return this; -}; - -/** - * Set the description to `str`. - * - * @param {String} str - * @return {String|Command} - * @api public - */ - -Command.prototype.description = function(str) { - if (0 === arguments.length) return this._description; - this._description = str; - return this; -}; - -/** - * Set an alias for the command - * - * @param {String} alias - * @return {String|Command} - * @api public - */ - -Command.prototype.alias = function(alias) { - var command = this; - if(this.commands.length !== 0) { - command = this.commands[this.commands.length - 1] - } - - if (arguments.length === 0) return command._alias; - - if (alias === command._name) throw new Error('Command alias can\'t be the same as its name'); - - command._alias = alias; - return this; -}; - -/** - * Set / get the command usage `str`. - * - * @param {String} str - * @return {String|Command} - * @api public - */ - -Command.prototype.usage = function(str) { - var args = this._args.map(function(arg) { - return humanReadableArgName(arg); - }); - - var usage = '[options]' - + (this.commands.length ? ' [command]' : '') - + (this._args.length ? ' ' + args.join(' ') : ''); - - if (0 == arguments.length) return this._usage || usage; - this._usage = str; - - return this; -}; - -/** - * Get or set the name of the command - * - * @param {String} str - * @return {String|Command} - * @api public - */ - -Command.prototype.name = function(str) { - if (0 === arguments.length) return this._name; - this._name = str; - return this; -}; - -/** - * Return the largest option length. - * - * @return {Number} - * @api private - */ - -Command.prototype.largestOptionLength = function() { - return this.options.reduce(function(max, option) { - return Math.max(max, option.flags.length); - }, 0); -}; - -/** - * Return help for options. - * - * @return {String} - * @api private - */ - -Command.prototype.optionHelp = function() { - var width = this.largestOptionLength(); - - // Append the help information - return this.options.map(function(option) { - return pad(option.flags, width) + ' ' + option.description - + ((option.bool != false && option.defaultValue !== undefined) ? ' (default: ' + option.defaultValue + ')' : ''); - }).concat([pad('-h, --help', width) + ' ' + 'output usage information']) - .join('\n'); -}; - -/** - * Return command help documentation. - * - * @return {String} - * @api private - */ - -Command.prototype.commandHelp = function() { - if (!this.commands.length) return ''; - - var commands = this.commands.filter(function(cmd) { - return !cmd._noHelp; - }).map(function(cmd) { - var args = cmd._args.map(function(arg) { - return humanReadableArgName(arg); - }).join(' '); - - return [ - cmd._name - + (cmd._alias ? '|' + cmd._alias : '') - + (cmd.options.length ? ' [options]' : '') - + (args ? ' ' + args : '') - , cmd._description - ]; - }); - - var width = commands.reduce(function(max, command) { - return Math.max(max, command[0].length); - }, 0); - - return [ - '' - , ' Commands:' - , '' - , commands.map(function(cmd) { - var desc = cmd[1] ? ' ' + cmd[1] : ''; - return (desc ? pad(cmd[0], width) : cmd[0]) + desc; - }).join('\n').replace(/^/gm, ' ') - , '' - ].join('\n'); -}; - -/** - * Return program help documentation. - * - * @return {String} - * @api private - */ - -Command.prototype.helpInformation = function() { - var desc = []; - if (this._description) { - desc = [ - ' ' + this._description - , '' - ]; - } - - var cmdName = this._name; - if (this._alias) { - cmdName = cmdName + '|' + this._alias; - } - var usage = [ - '' - ,' Usage: ' + cmdName + ' ' + this.usage() - , '' - ]; - - var cmds = []; - var commandHelp = this.commandHelp(); - if (commandHelp) cmds = [commandHelp]; - - var options = [ - '' - , ' Options:' - , '' - , '' + this.optionHelp().replace(/^/gm, ' ') - , '' - ]; - - return usage - .concat(desc) - .concat(options) - .concat(cmds) - .join('\n'); -}; - -/** - * Output help information for this command - * - * @api public - */ - -Command.prototype.outputHelp = function(cb) { - if (!cb) { - cb = function(passthru) { - return passthru; - } - } - process.stdout.write(cb(this.helpInformation())); - this.emit('--help'); -}; - -/** - * Output help information and exit. - * - * @api public - */ - -Command.prototype.help = function(cb) { - this.outputHelp(cb); - process.exit(); -}; - -/** - * Camel-case the given `flag` - * - * @param {String} flag - * @return {String} - * @api private - */ - -function camelcase(flag) { - return flag.split('-').reduce(function(str, word) { - return str + word[0].toUpperCase() + word.slice(1); - }); -} - -/** - * Pad `str` to `width`. - * - * @param {String} str - * @param {Number} width - * @return {String} - * @api private - */ - -function pad(str, width) { - var len = Math.max(0, width - str.length); - return str + Array(len + 1).join(' '); -} - -/** - * Output help information if necessary - * - * @param {Command} command to output help for - * @param {Array} array of options to search for -h or --help - * @api private - */ - -function outputHelpIfNecessary(cmd, options) { - options = options || []; - for (var i = 0; i < options.length; i++) { - if (options[i] == '--help' || options[i] == '-h') { - cmd.outputHelp(); - process.exit(0); - } - } -} - -/** - * Takes an argument an returns its human readable equivalent for help usage. - * - * @param {Object} arg - * @return {String} - * @api private - */ - -function humanReadableArgName(arg) { - var nameOutput = arg.name + (arg.variadic === true ? '...' : ''); - - return arg.required - ? '<' + nameOutput + '>' - : '[' + nameOutput + ']' -} - -// for versions before node v0.8 when there weren't `fs.existsSync` -function exists(file) { - try { - if (fs.statSync(file).isFile()) { - return true; - } - } catch (e) { - return false; - } -} - diff --git a/res-pc/node_modules/commander/package.json b/res-pc/node_modules/commander/package.json deleted file mode 100644 index 51725ebc..00000000 --- a/res-pc/node_modules/commander/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "_from": "commander@^2.11.0", - "_id": "commander@2.13.0", - "_inBundle": false, - "_integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "_location": "/commander", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "commander@^2.11.0", - "name": "commander", - "escapedName": "commander", - "rawSpec": "^2.11.0", - "saveSpec": null, - "fetchSpec": "^2.11.0" - }, - "_requiredBy": [ - "/serialport" - ], - "_resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "_shasum": "6964bca67685df7c1f1430c584f07d7597885b9c", - "_spec": "commander@^2.11.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/serialport", - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "bugs": { - "url": "https://github.com/tj/commander.js/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "the complete solution for node.js command-line programs", - "devDependencies": { - "@types/node": "^7.0.48", - "should": "^11.2.1", - "sinon": "^2.4.1", - "typescript": "^2.6.2" - }, - "files": [ - "index.js", - "typings/index.d.ts" - ], - "homepage": "https://github.com/tj/commander.js#readme", - "keywords": [ - "commander", - "command", - "option", - "parser" - ], - "license": "MIT", - "main": "index", - "name": "commander", - "repository": { - "type": "git", - "url": "git+https://github.com/tj/commander.js.git" - }, - "scripts": { - "test": "make test && npm run test-typings", - "test-typings": "node_modules/typescript/bin/tsc -p tsconfig.json" - }, - "typings": "typings/index.d.ts", - "version": "2.13.0" -} diff --git a/res-pc/node_modules/commander/typings/index.d.ts b/res-pc/node_modules/commander/typings/index.d.ts deleted file mode 100644 index acdab44b..00000000 --- a/res-pc/node_modules/commander/typings/index.d.ts +++ /dev/null @@ -1,306 +0,0 @@ -// Type definitions for commander 2.11 -// Project: https://github.com/visionmedia/commander.js -// Definitions by: Alan Agius , Marcelo Dezem , vvakame , Jules Randolph -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -declare namespace local { - - class Option { - flags: string; - required: boolean; - optional: boolean; - bool: boolean; - short?: string; - long: string; - description: string; - - /** - * Initialize a new `Option` with the given `flags` and `description`. - * - * @param {string} flags - * @param {string} [description] - */ - constructor(flags: string, description?: string); - } - - class Command extends NodeJS.EventEmitter { - [key: string]: any; - - args: string[]; - - /** - * Initialize a new `Command`. - * - * @param {string} [name] - */ - constructor(name?: string); - - /** - * Set the program version to `str`. - * - * This method auto-registers the "-V, --version" flag - * which will print the version number when passed. - * - * @param {string} str - * @param {string} [flags] - * @returns {Command} for chaining - */ - version(str: string, flags?: string): Command; - - /** - * Add command `name`. - * - * The `.action()` callback is invoked when the - * command `name` is specified via __ARGV__, - * and the remaining arguments are applied to the - * function for access. - * - * When the `name` is "*" an un-matched command - * will be passed as the first arg, followed by - * the rest of __ARGV__ remaining. - * - * @example - * program - * .version('0.0.1') - * .option('-C, --chdir ', 'change the working directory') - * .option('-c, --config ', 'set config path. defaults to ./deploy.conf') - * .option('-T, --no-tests', 'ignore test hook') - * - * program - * .command('setup') - * .description('run remote setup commands') - * .action(function() { - * console.log('setup'); - * }); - * - * program - * .command('exec ') - * .description('run the given remote command') - * .action(function(cmd) { - * console.log('exec "%s"', cmd); - * }); - * - * program - * .command('teardown [otherDirs...]') - * .description('run teardown commands') - * .action(function(dir, otherDirs) { - * console.log('dir "%s"', dir); - * if (otherDirs) { - * otherDirs.forEach(function (oDir) { - * console.log('dir "%s"', oDir); - * }); - * } - * }); - * - * program - * .command('*') - * .description('deploy the given env') - * .action(function(env) { - * console.log('deploying "%s"', env); - * }); - * - * program.parse(process.argv); - * - * @param {string} name - * @param {string} [desc] for git-style sub-commands - * @param {CommandOptions} [opts] command options - * @returns {Command} the new command - */ - command(name: string, desc?: string, opts?: commander.CommandOptions): Command; - - /** - * Define argument syntax for the top-level command. - * - * @param {string} desc - * @returns {Command} for chaining - */ - arguments(desc: string): Command; - - /** - * Parse expected `args`. - * - * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. - * - * @param {string[]} args - * @returns {Command} for chaining - */ - parseExpectedArgs(args: string[]): Command; - - /** - * Register callback `fn` for the command. - * - * @example - * program - * .command('help') - * .description('display verbose help') - * .action(function() { - * // output help here - * }); - * - * @param {(...args: any[]) => void} fn - * @returns {Command} for chaining - */ - action(fn: (...args: any[]) => void): Command; - - /** - * Define option with `flags`, `description` and optional - * coercion `fn`. - * - * The `flags` string should contain both the short and long flags, - * separated by comma, a pipe or space. The following are all valid - * all will output this way when `--help` is used. - * - * "-p, --pepper" - * "-p|--pepper" - * "-p --pepper" - * - * @example - * // simple boolean defaulting to false - * program.option('-p, --pepper', 'add pepper'); - * - * --pepper - * program.pepper - * // => Boolean - * - * // simple boolean defaulting to true - * program.option('-C, --no-cheese', 'remove cheese'); - * - * program.cheese - * // => true - * - * --no-cheese - * program.cheese - * // => false - * - * // required argument - * program.option('-C, --chdir ', 'change the working directory'); - * - * --chdir /tmp - * program.chdir - * // => "/tmp" - * - * // optional argument - * program.option('-c, --cheese [type]', 'add cheese [marble]'); - * - * @param {string} flags - * @param {string} [description] - * @param {((arg1: any, arg2: any) => void) | RegExp} [fn] function or default - * @param {*} [defaultValue] - * @returns {Command} for chaining - */ - option(flags: string, description?: string, fn?: ((arg1: any, arg2: any) => void) | RegExp, defaultValue?: any): Command; - option(flags: string, description?: string, defaultValue?: any): Command; - - /** - * Allow unknown options on the command line. - * - * @param {boolean} [arg] if `true` or omitted, no error will be thrown for unknown options. - * @returns {Command} for chaining - */ - allowUnknownOption(arg?: boolean): Command; - - /** - * Parse `argv`, settings options and invoking commands when defined. - * - * @param {string[]} argv - * @returns {Command} for chaining - */ - parse(argv: string[]): Command; - - /** - * Parse options from `argv` returning `argv` void of these options. - * - * @param {string[]} argv - * @returns {ParseOptionsResult} - */ - parseOptions(argv: string[]): commander.ParseOptionsResult; - - /** - * Return an object containing options as key-value pairs - * - * @returns {{[key: string]: string}} - */ - opts(): { [key: string]: string }; - - /** - * Set the description to `str`. - * - * @param {string} str - * @return {(Command | string)} - */ - description(str: string): Command; - description(): string; - - /** - * Set an alias for the command. - * - * @param {string} alias - * @return {(Command | string)} - */ - alias(alias: string): Command; - alias(): string; - - /** - * Set or get the command usage. - * - * @param {string} str - * @return {(Command | string)} - */ - usage(str: string): Command; - usage(): string; - - /** - * Set the name of the command. - * - * @param {string} str - * @return {Command} - */ - name(str: string): Command; - - /** - * Get the name of the command. - * - * @return {string} - */ - name(): string; - - /** - * Output help information for this command. - * - * @param {(str: string) => string} [cb] - */ - outputHelp(cb?: (str: string) => string): void; - - /** Output help information and exit. */ - help(): void; - } - -} - -declare namespace commander { - - type Command = local.Command - - type Option = local.Option - - interface CommandOptions { - noHelp?: boolean; - isDefault?: boolean; - } - - interface ParseOptionsResult { - args: string[]; - unknown: string[]; - } - - interface CommanderStatic extends Command { - Command: typeof local.Command; - Option: typeof local.Option; - CommandOptions: CommandOptions; - ParseOptionsResult: ParseOptionsResult; - } - -} - -declare const commander: commander.CommanderStatic; -export = commander; diff --git a/res-pc/node_modules/console-control-strings/LICENSE b/res-pc/node_modules/console-control-strings/LICENSE deleted file mode 100644 index e7560529..00000000 --- a/res-pc/node_modules/console-control-strings/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2014, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/res-pc/node_modules/console-control-strings/README.md b/res-pc/node_modules/console-control-strings/README.md deleted file mode 100644 index f58cc8d8..00000000 --- a/res-pc/node_modules/console-control-strings/README.md +++ /dev/null @@ -1,145 +0,0 @@ -# Console Control Strings - -A library of cross-platform tested terminal/console command strings for -doing things like color and cursor positioning. This is a subset of both -ansi and vt100. All control codes included work on both Windows & Unix-like -OSes, except where noted. - -## Usage - -```js -var consoleControl = require('console-control-strings') - -console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset')) -process.stdout.write(consoleControl.goto(75, 10)) -``` - -## Why Another? - -There are tons of libraries similar to this one. I wanted one that was: - -1. Very clear about compatibility goals. -2. Could emit, for instance, a start color code without an end one. -3. Returned strings w/o writing to streams. -4. Was not weighed down with other unrelated baggage. - -## Functions - -### var code = consoleControl.up(_num = 1_) - -Returns the escape sequence to move _num_ lines up. - -### var code = consoleControl.down(_num = 1_) - -Returns the escape sequence to move _num_ lines down. - -### var code = consoleControl.forward(_num = 1_) - -Returns the escape sequence to move _num_ lines righ. - -### var code = consoleControl.back(_num = 1_) - -Returns the escape sequence to move _num_ lines left. - -### var code = consoleControl.nextLine(_num = 1_) - -Returns the escape sequence to move _num_ lines down and to the beginning of -the line. - -### var code = consoleControl.previousLine(_num = 1_) - -Returns the escape sequence to move _num_ lines up and to the beginning of -the line. - -### var code = consoleControl.eraseData() - -Returns the escape sequence to erase everything from the current cursor -position to the bottom right of the screen. This is line based, so it -erases the remainder of the current line and all following lines. - -### var code = consoleControl.eraseLine() - -Returns the escape sequence to erase to the end of the current line. - -### var code = consoleControl.goto(_x_, _y_) - -Returns the escape sequence to move the cursor to the designated position. -Note that the origin is _1, 1_ not _0, 0_. - -### var code = consoleControl.gotoSOL() - -Returns the escape sequence to move the cursor to the beginning of the -current line. (That is, it returns a carriage return, `\r`.) - -### var code = consoleControl.beep() - -Returns the escape sequence to cause the termianl to beep. (That is, it -returns unicode character `\x0007`, a Control-G.) - -### var code = consoleControl.hideCursor() - -Returns the escape sequence to hide the cursor. - -### var code = consoleControl.showCursor() - -Returns the escape sequence to show the cursor. - -### var code = consoleControl.color(_colors = []_) - -### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_) - -Returns the escape sequence to set the current terminal display attributes -(mostly colors). Arguments can either be a list of attributes or an array -of attributes. The difference between passing in an array or list of colors -and calling `.color` separately for each one, is that in the former case a -single escape sequence will be produced where as in the latter each change -will have its own distinct escape sequence. Each attribute can be one of: - -* Reset: - * **reset** – Reset all attributes to the terminal default. -* Styles: - * **bold** – Display text as bold. In some terminals this means using a - bold font, in others this means changing the color. In some it means - both. - * **italic** – Display text as italic. This is not available in most Windows terminals. - * **underline** – Underline text. This is not available in most Windows Terminals. - * **inverse** – Invert the foreground and background colors. - * **stopBold** – Do not display text as bold. - * **stopItalic** – Do not display text as italic. - * **stopUnderline** – Do not underline text. - * **stopInverse** – Do not invert foreground and background. -* Colors: - * **white** - * **black** - * **blue** - * **cyan** - * **green** - * **magenta** - * **red** - * **yellow** - * **grey** / **brightBlack** - * **brightRed** - * **brightGreen** - * **brightYellow** - * **brightBlue** - * **brightMagenta** - * **brightCyan** - * **brightWhite** -* Background Colors: - * **bgWhite** - * **bgBlack** - * **bgBlue** - * **bgCyan** - * **bgGreen** - * **bgMagenta** - * **bgRed** - * **bgYellow** - * **bgGrey** / **bgBrightBlack** - * **bgBrightRed** - * **bgBrightGreen** - * **bgBrightYellow** - * **bgBrightBlue** - * **bgBrightMagenta** - * **bgBrightCyan** - * **bgBrightWhite** - diff --git a/res-pc/node_modules/console-control-strings/README.md~ b/res-pc/node_modules/console-control-strings/README.md~ deleted file mode 100644 index 6eb34e89..00000000 --- a/res-pc/node_modules/console-control-strings/README.md~ +++ /dev/null @@ -1,140 +0,0 @@ -# Console Control Strings - -A library of cross-platform tested terminal/console command strings for -doing things like color and cursor positioning. This is a subset of both -ansi and vt100. All control codes included work on both Windows & Unix-like -OSes, except where noted. - -## Usage - -```js -var consoleControl = require('console-control-strings') - -console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset')) -process.stdout.write(consoleControl.goto(75, 10)) -``` - -## Why Another? - -There are tons of libraries similar to this one. I wanted one that was: - -1. Very clear about compatibility goals. -2. Could emit, for instance, a start color code without an end one. -3. Returned strings w/o writing to streams. -4. Was not weighed down with other unrelated baggage. - -## Functions - -### var code = consoleControl.up(_num = 1_) - -Returns the escape sequence to move _num_ lines up. - -### var code = consoleControl.down(_num = 1_) - -Returns the escape sequence to move _num_ lines down. - -### var code = consoleControl.forward(_num = 1_) - -Returns the escape sequence to move _num_ lines righ. - -### var code = consoleControl.back(_num = 1_) - -Returns the escape sequence to move _num_ lines left. - -### var code = consoleControl.nextLine(_num = 1_) - -Returns the escape sequence to move _num_ lines down and to the beginning of -the line. - -### var code = consoleControl.previousLine(_num = 1_) - -Returns the escape sequence to move _num_ lines up and to the beginning of -the line. - -### var code = consoleControl.eraseData() - -Returns the escape sequence to erase everything from the current cursor -position to the bottom right of the screen. This is line based, so it -erases the remainder of the current line and all following lines. - -### var code = consoleControl.eraseLine() - -Returns the escape sequence to erase to the end of the current line. - -### var code = consoleControl.goto(_x_, _y_) - -Returns the escape sequence to move the cursor to the designated position. -Note that the origin is _1, 1_ not _0, 0_. - -### var code = consoleControl.gotoSOL() - -Returns the escape sequence to move the cursor to the beginning of the -current line. (That is, it returns a carriage return, `\r`.) - -### var code = consoleControl.hideCursor() - -Returns the escape sequence to hide the cursor. - -### var code = consoleControl.showCursor() - -Returns the escape sequence to show the cursor. - -### var code = consoleControl.color(_colors = []_) - -### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_) - -Returns the escape sequence to set the current terminal display attributes -(mostly colors). Arguments can either be a list of attributes or an array -of attributes. The difference between passing in an array or list of colors -and calling `.color` separately for each one, is that in the former case a -single escape sequence will be produced where as in the latter each change -will have its own distinct escape sequence. Each attribute can be one of: - -* Reset: - * **reset** – Reset all attributes to the terminal default. -* Styles: - * **bold** – Display text as bold. In some terminals this means using a - bold font, in others this means changing the color. In some it means - both. - * **italic** – Display text as italic. This is not available in most Windows terminals. - * **underline** – Underline text. This is not available in most Windows Terminals. - * **inverse** – Invert the foreground and background colors. - * **stopBold** – Do not display text as bold. - * **stopItalic** – Do not display text as italic. - * **stopUnderline** – Do not underline text. - * **stopInverse** – Do not invert foreground and background. -* Colors: - * **white** - * **black** - * **blue** - * **cyan** - * **green** - * **magenta** - * **red** - * **yellow** - * **grey** / **brightBlack** - * **brightRed** - * **brightGreen** - * **brightYellow** - * **brightBlue** - * **brightMagenta** - * **brightCyan** - * **brightWhite** -* Background Colors: - * **bgWhite** - * **bgBlack** - * **bgBlue** - * **bgCyan** - * **bgGreen** - * **bgMagenta** - * **bgRed** - * **bgYellow** - * **bgGrey** / **bgBrightBlack** - * **bgBrightRed** - * **bgBrightGreen** - * **bgBrightYellow** - * **bgBrightBlue** - * **bgBrightMagenta** - * **bgBrightCyan** - * **bgBrightWhite** - diff --git a/res-pc/node_modules/console-control-strings/index.js b/res-pc/node_modules/console-control-strings/index.js deleted file mode 100644 index bf890348..00000000 --- a/res-pc/node_modules/console-control-strings/index.js +++ /dev/null @@ -1,125 +0,0 @@ -'use strict' - -// These tables borrowed from `ansi` - -var prefix = '\x1b[' - -exports.up = function up (num) { - return prefix + (num || '') + 'A' -} - -exports.down = function down (num) { - return prefix + (num || '') + 'B' -} - -exports.forward = function forward (num) { - return prefix + (num || '') + 'C' -} - -exports.back = function back (num) { - return prefix + (num || '') + 'D' -} - -exports.nextLine = function nextLine (num) { - return prefix + (num || '') + 'E' -} - -exports.previousLine = function previousLine (num) { - return prefix + (num || '') + 'F' -} - -exports.horizontalAbsolute = function horizontalAbsolute (num) { - if (num == null) throw new Error('horizontalAboslute requires a column to position to') - return prefix + num + 'G' -} - -exports.eraseData = function eraseData () { - return prefix + 'J' -} - -exports.eraseLine = function eraseLine () { - return prefix + 'K' -} - -exports.goto = function (x, y) { - return prefix + y + ';' + x + 'H' -} - -exports.gotoSOL = function () { - return '\r' -} - -exports.beep = function () { - return '\x07' -} - -exports.hideCursor = function hideCursor () { - return prefix + '?25l' -} - -exports.showCursor = function showCursor () { - return prefix + '?25h' -} - -var colors = { - reset: 0, -// styles - bold: 1, - italic: 3, - underline: 4, - inverse: 7, -// resets - stopBold: 22, - stopItalic: 23, - stopUnderline: 24, - stopInverse: 27, -// colors - white: 37, - black: 30, - blue: 34, - cyan: 36, - green: 32, - magenta: 35, - red: 31, - yellow: 33, - bgWhite: 47, - bgBlack: 40, - bgBlue: 44, - bgCyan: 46, - bgGreen: 42, - bgMagenta: 45, - bgRed: 41, - bgYellow: 43, - - grey: 90, - brightBlack: 90, - brightRed: 91, - brightGreen: 92, - brightYellow: 93, - brightBlue: 94, - brightMagenta: 95, - brightCyan: 96, - brightWhite: 97, - - bgGrey: 100, - bgBrightBlack: 100, - bgBrightRed: 101, - bgBrightGreen: 102, - bgBrightYellow: 103, - bgBrightBlue: 104, - bgBrightMagenta: 105, - bgBrightCyan: 106, - bgBrightWhite: 107 -} - -exports.color = function color (colorWith) { - if (arguments.length !== 1 || !Array.isArray(colorWith)) { - colorWith = Array.prototype.slice.call(arguments) - } - return prefix + colorWith.map(colorNameToCode).join(';') + 'm' -} - -function colorNameToCode (color) { - if (colors[color] != null) return colors[color] - throw new Error('Unknown color or style name: ' + color) -} diff --git a/res-pc/node_modules/console-control-strings/package.json b/res-pc/node_modules/console-control-strings/package.json deleted file mode 100644 index 3a1a3108..00000000 --- a/res-pc/node_modules/console-control-strings/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "_from": "console-control-strings@~1.1.0", - "_id": "console-control-strings@1.1.0", - "_inBundle": false, - "_integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "_location": "/console-control-strings", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "console-control-strings@~1.1.0", - "name": "console-control-strings", - "escapedName": "console-control-strings", - "rawSpec": "~1.1.0", - "saveSpec": null, - "fetchSpec": "~1.1.0" - }, - "_requiredBy": [ - "/gauge", - "/npmlog" - ], - "_resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "_shasum": "3d7cf4464db6446ea644bf4b39507f9851008e8e", - "_spec": "console-control-strings@~1.1.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/npmlog", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org", - "url": "http://re-becca.org/" - }, - "bugs": { - "url": "https://github.com/iarna/console-control-strings/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A library of cross-platform tested terminal/console command strings for doing things like color and cursor positioning. This is a subset of both ansi and vt100. All control codes included work on both Windows & Unix-like OSes, except where noted.", - "devDependencies": { - "standard": "^7.1.2", - "tap": "^5.7.2" - }, - "directories": { - "test": "test" - }, - "files": [ - "LICENSE", - "index.js" - ], - "homepage": "https://github.com/iarna/console-control-strings#readme", - "keywords": [], - "license": "ISC", - "main": "index.js", - "name": "console-control-strings", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/console-control-strings.git" - }, - "scripts": { - "test": "standard && tap test/*.js" - }, - "version": "1.1.0" -} diff --git a/res-pc/node_modules/core-util-is/LICENSE b/res-pc/node_modules/core-util-is/LICENSE deleted file mode 100644 index d8d7f943..00000000 --- a/res-pc/node_modules/core-util-is/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright Node.js 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/res-pc/node_modules/core-util-is/README.md b/res-pc/node_modules/core-util-is/README.md deleted file mode 100644 index 5a76b414..00000000 --- a/res-pc/node_modules/core-util-is/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# core-util-is - -The `util.is*` functions introduced in Node v0.12. diff --git a/res-pc/node_modules/core-util-is/float.patch b/res-pc/node_modules/core-util-is/float.patch deleted file mode 100644 index a06d5c05..00000000 --- a/res-pc/node_modules/core-util-is/float.patch +++ /dev/null @@ -1,604 +0,0 @@ -diff --git a/lib/util.js b/lib/util.js -index a03e874..9074e8e 100644 ---- a/lib/util.js -+++ b/lib/util.js -@@ -19,430 +19,6 @@ - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - --var formatRegExp = /%[sdj%]/g; --exports.format = function(f) { -- if (!isString(f)) { -- var objects = []; -- for (var i = 0; i < arguments.length; i++) { -- objects.push(inspect(arguments[i])); -- } -- return objects.join(' '); -- } -- -- var i = 1; -- var args = arguments; -- var len = args.length; -- var str = String(f).replace(formatRegExp, function(x) { -- if (x === '%%') return '%'; -- if (i >= len) return x; -- switch (x) { -- case '%s': return String(args[i++]); -- case '%d': return Number(args[i++]); -- case '%j': -- try { -- return JSON.stringify(args[i++]); -- } catch (_) { -- return '[Circular]'; -- } -- default: -- return x; -- } -- }); -- for (var x = args[i]; i < len; x = args[++i]) { -- if (isNull(x) || !isObject(x)) { -- str += ' ' + x; -- } else { -- str += ' ' + inspect(x); -- } -- } -- return str; --}; -- -- --// Mark that a method should not be used. --// Returns a modified function which warns once by default. --// If --no-deprecation is set, then it is a no-op. --exports.deprecate = function(fn, msg) { -- // Allow for deprecating things in the process of starting up. -- if (isUndefined(global.process)) { -- return function() { -- return exports.deprecate(fn, msg).apply(this, arguments); -- }; -- } -- -- if (process.noDeprecation === true) { -- return fn; -- } -- -- var warned = false; -- function deprecated() { -- if (!warned) { -- if (process.throwDeprecation) { -- throw new Error(msg); -- } else if (process.traceDeprecation) { -- console.trace(msg); -- } else { -- console.error(msg); -- } -- warned = true; -- } -- return fn.apply(this, arguments); -- } -- -- return deprecated; --}; -- -- --var debugs = {}; --var debugEnviron; --exports.debuglog = function(set) { -- if (isUndefined(debugEnviron)) -- debugEnviron = process.env.NODE_DEBUG || ''; -- set = set.toUpperCase(); -- if (!debugs[set]) { -- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { -- var pid = process.pid; -- debugs[set] = function() { -- var msg = exports.format.apply(exports, arguments); -- console.error('%s %d: %s', set, pid, msg); -- }; -- } else { -- debugs[set] = function() {}; -- } -- } -- return debugs[set]; --}; -- -- --/** -- * Echos the value of a value. Trys to print the value out -- * in the best way possible given the different types. -- * -- * @param {Object} obj The object to print out. -- * @param {Object} opts Optional options object that alters the output. -- */ --/* legacy: obj, showHidden, depth, colors*/ --function inspect(obj, opts) { -- // default options -- var ctx = { -- seen: [], -- stylize: stylizeNoColor -- }; -- // legacy... -- if (arguments.length >= 3) ctx.depth = arguments[2]; -- if (arguments.length >= 4) ctx.colors = arguments[3]; -- if (isBoolean(opts)) { -- // legacy... -- ctx.showHidden = opts; -- } else if (opts) { -- // got an "options" object -- exports._extend(ctx, opts); -- } -- // set default options -- if (isUndefined(ctx.showHidden)) ctx.showHidden = false; -- if (isUndefined(ctx.depth)) ctx.depth = 2; -- if (isUndefined(ctx.colors)) ctx.colors = false; -- if (isUndefined(ctx.customInspect)) ctx.customInspect = true; -- if (ctx.colors) ctx.stylize = stylizeWithColor; -- return formatValue(ctx, obj, ctx.depth); --} --exports.inspect = inspect; -- -- --// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics --inspect.colors = { -- 'bold' : [1, 22], -- 'italic' : [3, 23], -- 'underline' : [4, 24], -- 'inverse' : [7, 27], -- 'white' : [37, 39], -- 'grey' : [90, 39], -- 'black' : [30, 39], -- 'blue' : [34, 39], -- 'cyan' : [36, 39], -- 'green' : [32, 39], -- 'magenta' : [35, 39], -- 'red' : [31, 39], -- 'yellow' : [33, 39] --}; -- --// Don't use 'blue' not visible on cmd.exe --inspect.styles = { -- 'special': 'cyan', -- 'number': 'yellow', -- 'boolean': 'yellow', -- 'undefined': 'grey', -- 'null': 'bold', -- 'string': 'green', -- 'date': 'magenta', -- // "name": intentionally not styling -- 'regexp': 'red' --}; -- -- --function stylizeWithColor(str, styleType) { -- var style = inspect.styles[styleType]; -- -- if (style) { -- return '\u001b[' + inspect.colors[style][0] + 'm' + str + -- '\u001b[' + inspect.colors[style][1] + 'm'; -- } else { -- return str; -- } --} -- -- --function stylizeNoColor(str, styleType) { -- return str; --} -- -- --function arrayToHash(array) { -- var hash = {}; -- -- array.forEach(function(val, idx) { -- hash[val] = true; -- }); -- -- return hash; --} -- -- --function formatValue(ctx, value, recurseTimes) { -- // Provide a hook for user-specified inspect functions. -- // Check that value is an object with an inspect function on it -- if (ctx.customInspect && -- value && -- isFunction(value.inspect) && -- // Filter out the util module, it's inspect function is special -- value.inspect !== exports.inspect && -- // Also filter out any prototype objects using the circular check. -- !(value.constructor && value.constructor.prototype === value)) { -- var ret = value.inspect(recurseTimes, ctx); -- if (!isString(ret)) { -- ret = formatValue(ctx, ret, recurseTimes); -- } -- return ret; -- } -- -- // Primitive types cannot have properties -- var primitive = formatPrimitive(ctx, value); -- if (primitive) { -- return primitive; -- } -- -- // Look up the keys of the object. -- var keys = Object.keys(value); -- var visibleKeys = arrayToHash(keys); -- -- if (ctx.showHidden) { -- keys = Object.getOwnPropertyNames(value); -- } -- -- // Some type of object without properties can be shortcutted. -- if (keys.length === 0) { -- if (isFunction(value)) { -- var name = value.name ? ': ' + value.name : ''; -- return ctx.stylize('[Function' + name + ']', 'special'); -- } -- if (isRegExp(value)) { -- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); -- } -- if (isDate(value)) { -- return ctx.stylize(Date.prototype.toString.call(value), 'date'); -- } -- if (isError(value)) { -- return formatError(value); -- } -- } -- -- var base = '', array = false, braces = ['{', '}']; -- -- // Make Array say that they are Array -- if (isArray(value)) { -- array = true; -- braces = ['[', ']']; -- } -- -- // Make functions say that they are functions -- if (isFunction(value)) { -- var n = value.name ? ': ' + value.name : ''; -- base = ' [Function' + n + ']'; -- } -- -- // Make RegExps say that they are RegExps -- if (isRegExp(value)) { -- base = ' ' + RegExp.prototype.toString.call(value); -- } -- -- // Make dates with properties first say the date -- if (isDate(value)) { -- base = ' ' + Date.prototype.toUTCString.call(value); -- } -- -- // Make error with message first say the error -- if (isError(value)) { -- base = ' ' + formatError(value); -- } -- -- if (keys.length === 0 && (!array || value.length == 0)) { -- return braces[0] + base + braces[1]; -- } -- -- if (recurseTimes < 0) { -- if (isRegExp(value)) { -- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); -- } else { -- return ctx.stylize('[Object]', 'special'); -- } -- } -- -- ctx.seen.push(value); -- -- var output; -- if (array) { -- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); -- } else { -- output = keys.map(function(key) { -- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); -- }); -- } -- -- ctx.seen.pop(); -- -- return reduceToSingleString(output, base, braces); --} -- -- --function formatPrimitive(ctx, value) { -- if (isUndefined(value)) -- return ctx.stylize('undefined', 'undefined'); -- if (isString(value)) { -- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') -- .replace(/'/g, "\\'") -- .replace(/\\"/g, '"') + '\''; -- return ctx.stylize(simple, 'string'); -- } -- if (isNumber(value)) { -- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0, -- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 . -- if (value === 0 && 1 / value < 0) -- return ctx.stylize('-0', 'number'); -- return ctx.stylize('' + value, 'number'); -- } -- if (isBoolean(value)) -- return ctx.stylize('' + value, 'boolean'); -- // For some reason typeof null is "object", so special case here. -- if (isNull(value)) -- return ctx.stylize('null', 'null'); --} -- -- --function formatError(value) { -- return '[' + Error.prototype.toString.call(value) + ']'; --} -- -- --function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { -- var output = []; -- for (var i = 0, l = value.length; i < l; ++i) { -- if (hasOwnProperty(value, String(i))) { -- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, -- String(i), true)); -- } else { -- output.push(''); -- } -- } -- keys.forEach(function(key) { -- if (!key.match(/^\d+$/)) { -- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, -- key, true)); -- } -- }); -- return output; --} -- -- --function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { -- var name, str, desc; -- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; -- if (desc.get) { -- if (desc.set) { -- str = ctx.stylize('[Getter/Setter]', 'special'); -- } else { -- str = ctx.stylize('[Getter]', 'special'); -- } -- } else { -- if (desc.set) { -- str = ctx.stylize('[Setter]', 'special'); -- } -- } -- if (!hasOwnProperty(visibleKeys, key)) { -- name = '[' + key + ']'; -- } -- if (!str) { -- if (ctx.seen.indexOf(desc.value) < 0) { -- if (isNull(recurseTimes)) { -- str = formatValue(ctx, desc.value, null); -- } else { -- str = formatValue(ctx, desc.value, recurseTimes - 1); -- } -- if (str.indexOf('\n') > -1) { -- if (array) { -- str = str.split('\n').map(function(line) { -- return ' ' + line; -- }).join('\n').substr(2); -- } else { -- str = '\n' + str.split('\n').map(function(line) { -- return ' ' + line; -- }).join('\n'); -- } -- } -- } else { -- str = ctx.stylize('[Circular]', 'special'); -- } -- } -- if (isUndefined(name)) { -- if (array && key.match(/^\d+$/)) { -- return str; -- } -- name = JSON.stringify('' + key); -- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { -- name = name.substr(1, name.length - 2); -- name = ctx.stylize(name, 'name'); -- } else { -- name = name.replace(/'/g, "\\'") -- .replace(/\\"/g, '"') -- .replace(/(^"|"$)/g, "'"); -- name = ctx.stylize(name, 'string'); -- } -- } -- -- return name + ': ' + str; --} -- -- --function reduceToSingleString(output, base, braces) { -- var numLinesEst = 0; -- var length = output.reduce(function(prev, cur) { -- numLinesEst++; -- if (cur.indexOf('\n') >= 0) numLinesEst++; -- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; -- }, 0); -- -- if (length > 60) { -- return braces[0] + -- (base === '' ? '' : base + '\n ') + -- ' ' + -- output.join(',\n ') + -- ' ' + -- braces[1]; -- } -- -- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; --} -- -- - // NOTE: These type checking functions intentionally don't use `instanceof` - // because it is fragile and can be easily faked with `Object.create()`. - function isArray(ar) { -@@ -522,166 +98,10 @@ function isPrimitive(arg) { - exports.isPrimitive = isPrimitive; - - function isBuffer(arg) { -- return arg instanceof Buffer; -+ return Buffer.isBuffer(arg); - } - exports.isBuffer = isBuffer; - - function objectToString(o) { - return Object.prototype.toString.call(o); --} -- -- --function pad(n) { -- return n < 10 ? '0' + n.toString(10) : n.toString(10); --} -- -- --var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', -- 'Oct', 'Nov', 'Dec']; -- --// 26 Feb 16:19:34 --function timestamp() { -- var d = new Date(); -- var time = [pad(d.getHours()), -- pad(d.getMinutes()), -- pad(d.getSeconds())].join(':'); -- return [d.getDate(), months[d.getMonth()], time].join(' '); --} -- -- --// log is just a thin wrapper to console.log that prepends a timestamp --exports.log = function() { -- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); --}; -- -- --/** -- * Inherit the prototype methods from one constructor into another. -- * -- * The Function.prototype.inherits from lang.js rewritten as a standalone -- * function (not on Function.prototype). NOTE: If this file is to be loaded -- * during bootstrapping this function needs to be rewritten using some native -- * functions as prototype setup using normal JavaScript does not work as -- * expected during bootstrapping (see mirror.js in r114903). -- * -- * @param {function} ctor Constructor function which needs to inherit the -- * prototype. -- * @param {function} superCtor Constructor function to inherit prototype from. -- */ --exports.inherits = function(ctor, superCtor) { -- ctor.super_ = superCtor; -- ctor.prototype = Object.create(superCtor.prototype, { -- constructor: { -- value: ctor, -- enumerable: false, -- writable: true, -- configurable: true -- } -- }); --}; -- --exports._extend = function(origin, add) { -- // Don't do anything if add isn't an object -- if (!add || !isObject(add)) return origin; -- -- var keys = Object.keys(add); -- var i = keys.length; -- while (i--) { -- origin[keys[i]] = add[keys[i]]; -- } -- return origin; --}; -- --function hasOwnProperty(obj, prop) { -- return Object.prototype.hasOwnProperty.call(obj, prop); --} -- -- --// Deprecated old stuff. -- --exports.p = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- console.error(exports.inspect(arguments[i])); -- } --}, 'util.p: Use console.error() instead'); -- -- --exports.exec = exports.deprecate(function() { -- return require('child_process').exec.apply(this, arguments); --}, 'util.exec is now called `child_process.exec`.'); -- -- --exports.print = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stdout.write(String(arguments[i])); -- } --}, 'util.print: Use console.log instead'); -- -- --exports.puts = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stdout.write(arguments[i] + '\n'); -- } --}, 'util.puts: Use console.log instead'); -- -- --exports.debug = exports.deprecate(function(x) { -- process.stderr.write('DEBUG: ' + x + '\n'); --}, 'util.debug: Use console.error instead'); -- -- --exports.error = exports.deprecate(function(x) { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stderr.write(arguments[i] + '\n'); -- } --}, 'util.error: Use console.error instead'); -- -- --exports.pump = exports.deprecate(function(readStream, writeStream, callback) { -- var callbackCalled = false; -- -- function call(a, b, c) { -- if (callback && !callbackCalled) { -- callback(a, b, c); -- callbackCalled = true; -- } -- } -- -- readStream.addListener('data', function(chunk) { -- if (writeStream.write(chunk) === false) readStream.pause(); -- }); -- -- writeStream.addListener('drain', function() { -- readStream.resume(); -- }); -- -- readStream.addListener('end', function() { -- writeStream.end(); -- }); -- -- readStream.addListener('close', function() { -- call(); -- }); -- -- readStream.addListener('error', function(err) { -- writeStream.end(); -- call(err); -- }); -- -- writeStream.addListener('error', function(err) { -- readStream.destroy(); -- call(err); -- }); --}, 'util.pump(): Use readableStream.pipe() instead'); -- -- --var uv; --exports._errnoException = function(err, syscall) { -- if (isUndefined(uv)) uv = process.binding('uv'); -- var errname = uv.errname(err); -- var e = new Error(syscall + ' ' + errname); -- e.code = errname; -- e.errno = errname; -- e.syscall = syscall; -- return e; --}; -+} \ No newline at end of file diff --git a/res-pc/node_modules/core-util-is/lib/util.js b/res-pc/node_modules/core-util-is/lib/util.js deleted file mode 100644 index ff4c851c..00000000 --- a/res-pc/node_modules/core-util-is/lib/util.js +++ /dev/null @@ -1,107 +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. - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. - -function isArray(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === '[object Array]'; -} -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} -exports.isString = isString; - -function isSymbol(arg) { - return typeof arg === 'symbol'; -} -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return (objectToString(e) === '[object Error]' || e instanceof Error); -} -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} -exports.isPrimitive = isPrimitive; - -exports.isBuffer = Buffer.isBuffer; - -function objectToString(o) { - return Object.prototype.toString.call(o); -} diff --git a/res-pc/node_modules/core-util-is/package.json b/res-pc/node_modules/core-util-is/package.json deleted file mode 100644 index 2ea261b5..00000000 --- a/res-pc/node_modules/core-util-is/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "core-util-is@~1.0.0", - "_id": "core-util-is@1.0.2", - "_inBundle": false, - "_integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "_location": "/core-util-is", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "core-util-is@~1.0.0", - "name": "core-util-is", - "escapedName": "core-util-is", - "rawSpec": "~1.0.0", - "saveSpec": null, - "fetchSpec": "~1.0.0" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7", - "_spec": "core-util-is@~1.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/readable-stream", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/core-util-is/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "The `util.is*` functions introduced in Node v0.12.", - "devDependencies": { - "tap": "^2.3.0" - }, - "homepage": "https://github.com/isaacs/core-util-is#readme", - "keywords": [ - "util", - "isBuffer", - "isArray", - "isNumber", - "isString", - "isRegExp", - "isThis", - "isThat", - "polyfill" - ], - "license": "MIT", - "main": "lib/util.js", - "name": "core-util-is", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/core-util-is.git" - }, - "scripts": { - "test": "tap test.js" - }, - "version": "1.0.2" -} diff --git a/res-pc/node_modules/core-util-is/test.js b/res-pc/node_modules/core-util-is/test.js deleted file mode 100644 index 1a490c65..00000000 --- a/res-pc/node_modules/core-util-is/test.js +++ /dev/null @@ -1,68 +0,0 @@ -var assert = require('tap'); - -var t = require('./lib/util'); - -assert.equal(t.isArray([]), true); -assert.equal(t.isArray({}), false); - -assert.equal(t.isBoolean(null), false); -assert.equal(t.isBoolean(true), true); -assert.equal(t.isBoolean(false), true); - -assert.equal(t.isNull(null), true); -assert.equal(t.isNull(undefined), false); -assert.equal(t.isNull(false), false); -assert.equal(t.isNull(), false); - -assert.equal(t.isNullOrUndefined(null), true); -assert.equal(t.isNullOrUndefined(undefined), true); -assert.equal(t.isNullOrUndefined(false), false); -assert.equal(t.isNullOrUndefined(), true); - -assert.equal(t.isNumber(null), false); -assert.equal(t.isNumber('1'), false); -assert.equal(t.isNumber(1), true); - -assert.equal(t.isString(null), false); -assert.equal(t.isString('1'), true); -assert.equal(t.isString(1), false); - -assert.equal(t.isSymbol(null), false); -assert.equal(t.isSymbol('1'), false); -assert.equal(t.isSymbol(1), false); -assert.equal(t.isSymbol(Symbol()), true); - -assert.equal(t.isUndefined(null), false); -assert.equal(t.isUndefined(undefined), true); -assert.equal(t.isUndefined(false), false); -assert.equal(t.isUndefined(), true); - -assert.equal(t.isRegExp(null), false); -assert.equal(t.isRegExp('1'), false); -assert.equal(t.isRegExp(new RegExp()), true); - -assert.equal(t.isObject({}), true); -assert.equal(t.isObject([]), true); -assert.equal(t.isObject(new RegExp()), true); -assert.equal(t.isObject(new Date()), true); - -assert.equal(t.isDate(null), false); -assert.equal(t.isDate('1'), false); -assert.equal(t.isDate(new Date()), true); - -assert.equal(t.isError(null), false); -assert.equal(t.isError({ err: true }), false); -assert.equal(t.isError(new Error()), true); - -assert.equal(t.isFunction(null), false); -assert.equal(t.isFunction({ }), false); -assert.equal(t.isFunction(function() {}), true); - -assert.equal(t.isPrimitive(null), true); -assert.equal(t.isPrimitive(''), true); -assert.equal(t.isPrimitive(0), true); -assert.equal(t.isPrimitive(new Date()), false); - -assert.equal(t.isBuffer(null), false); -assert.equal(t.isBuffer({}), false); -assert.equal(t.isBuffer(new Buffer(0)), true); diff --git a/res-pc/node_modules/debug/.coveralls.yml b/res-pc/node_modules/debug/.coveralls.yml deleted file mode 100644 index 20a70685..00000000 --- a/res-pc/node_modules/debug/.coveralls.yml +++ /dev/null @@ -1 +0,0 @@ -repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/res-pc/node_modules/debug/.eslintrc b/res-pc/node_modules/debug/.eslintrc deleted file mode 100644 index 146371ed..00000000 --- a/res-pc/node_modules/debug/.eslintrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "env": { - "browser": true, - "node": true - }, - "globals": { - "chrome": true - }, - "rules": { - "no-console": 0, - "no-empty": [1, { "allowEmptyCatch": true }] - }, - "extends": "eslint:recommended" -} diff --git a/res-pc/node_modules/debug/.npmignore b/res-pc/node_modules/debug/.npmignore deleted file mode 100644 index 5f60eecc..00000000 --- a/res-pc/node_modules/debug/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -support -test -examples -example -*.sock -dist -yarn.lock -coverage -bower.json diff --git a/res-pc/node_modules/debug/.travis.yml b/res-pc/node_modules/debug/.travis.yml deleted file mode 100644 index a7643003..00000000 --- a/res-pc/node_modules/debug/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -sudo: false - -language: node_js - -node_js: - - "4" - - "6" - - "8" - -install: - - make install - -script: - - make lint - - make test - -matrix: - include: - - node_js: '8' - env: BROWSER=1 diff --git a/res-pc/node_modules/debug/CHANGELOG.md b/res-pc/node_modules/debug/CHANGELOG.md deleted file mode 100644 index 820d21e3..00000000 --- a/res-pc/node_modules/debug/CHANGELOG.md +++ /dev/null @@ -1,395 +0,0 @@ - -3.1.0 / 2017-09-26 -================== - - * Add `DEBUG_HIDE_DATE` env var (#486) - * Remove ReDoS regexp in %o formatter (#504) - * Remove "component" from package.json - * Remove `component.json` - * Ignore package-lock.json - * Examples: fix colors printout - * Fix: browser detection - * Fix: spelling mistake (#496, @EdwardBetts) - -3.0.1 / 2017-08-24 -================== - - * Fix: Disable colors in Edge and Internet Explorer (#489) - -3.0.0 / 2017-08-08 -================== - - * Breaking: Remove DEBUG_FD (#406) - * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418) - * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408) - * Addition: document `enabled` flag (#465) - * Addition: add 256 colors mode (#481) - * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440) - * Update: component: update "ms" to v2.0.0 - * Update: separate the Node and Browser tests in Travis-CI - * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots - * Update: separate Node.js and web browser examples for organization - * Update: update "browserify" to v14.4.0 - * Fix: fix Readme typo (#473) - -2.6.9 / 2017-09-22 -================== - - * remove ReDoS regexp in %o formatter (#504) - -2.6.8 / 2017-05-18 -================== - - * Fix: Check for undefined on browser globals (#462, @marbemac) - -2.6.7 / 2017-05-16 -================== - - * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) - * Fix: Inline extend function in node implementation (#452, @dougwilson) - * Docs: Fix typo (#455, @msasad) - -2.6.5 / 2017-04-27 -================== - - * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) - * Misc: clean up browser reference checks (#447, @thebigredgeek) - * Misc: add npm-debug.log to .gitignore (@thebigredgeek) - - -2.6.4 / 2017-04-20 -================== - - * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) - * Chore: ignore bower.json in npm installations. (#437, @joaovieira) - * Misc: update "ms" to v0.7.3 (@tootallnate) - -2.6.3 / 2017-03-13 -================== - - * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) - * Docs: Changelog fix (@thebigredgeek) - -2.6.2 / 2017-03-10 -================== - - * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) - * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) - * Docs: Add Slackin invite badge (@tootallnate) - -2.6.1 / 2017-02-10 -================== - - * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error - * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) - * Fix: IE8 "Expected identifier" error (#414, @vgoma) - * Fix: Namespaces would not disable once enabled (#409, @musikov) - -2.6.0 / 2016-12-28 -================== - - * Fix: added better null pointer checks for browser useColors (@thebigredgeek) - * Improvement: removed explicit `window.debug` export (#404, @tootallnate) - * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) - -2.5.2 / 2016-12-25 -================== - - * Fix: reference error on window within webworkers (#393, @KlausTrainer) - * Docs: fixed README typo (#391, @lurch) - * Docs: added notice about v3 api discussion (@thebigredgeek) - -2.5.1 / 2016-12-20 -================== - - * Fix: babel-core compatibility - -2.5.0 / 2016-12-20 -================== - - * Fix: wrong reference in bower file (@thebigredgeek) - * Fix: webworker compatibility (@thebigredgeek) - * Fix: output formatting issue (#388, @kribblo) - * Fix: babel-loader compatibility (#383, @escwald) - * Misc: removed built asset from repo and publications (@thebigredgeek) - * Misc: moved source files to /src (#378, @yamikuronue) - * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) - * Test: coveralls integration (#378, @yamikuronue) - * Docs: simplified language in the opening paragraph (#373, @yamikuronue) - -2.4.5 / 2016-12-17 -================== - - * Fix: `navigator` undefined in Rhino (#376, @jochenberger) - * Fix: custom log function (#379, @hsiliev) - * Improvement: bit of cleanup + linting fixes (@thebigredgeek) - * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) - * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) - -2.4.4 / 2016-12-14 -================== - - * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) - -2.4.3 / 2016-12-14 -================== - - * Fix: navigation.userAgent error for react native (#364, @escwald) - -2.4.2 / 2016-12-14 -================== - - * Fix: browser colors (#367, @tootallnate) - * Misc: travis ci integration (@thebigredgeek) - * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) - -2.4.1 / 2016-12-13 -================== - - * Fix: typo that broke the package (#356) - -2.4.0 / 2016-12-13 -================== - - * Fix: bower.json references unbuilt src entry point (#342, @justmatt) - * Fix: revert "handle regex special characters" (@tootallnate) - * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) - * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) - * Improvement: allow colors in workers (#335, @botverse) - * Improvement: use same color for same namespace. (#338, @lchenay) - -2.3.3 / 2016-11-09 -================== - - * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) - * Fix: Returning `localStorage` saved values (#331, Levi Thomason) - * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) - -2.3.2 / 2016-11-09 -================== - - * Fix: be super-safe in index.js as well (@TooTallNate) - * Fix: should check whether process exists (Tom Newby) - -2.3.1 / 2016-11-09 -================== - - * Fix: Added electron compatibility (#324, @paulcbetts) - * Improvement: Added performance optimizations (@tootallnate) - * Readme: Corrected PowerShell environment variable example (#252, @gimre) - * Misc: Removed yarn lock file from source control (#321, @fengmk2) - -2.3.0 / 2016-11-07 -================== - - * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) - * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) - * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) - * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) - * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) - * Package: Update "ms" to 0.7.2 (#315, @DevSide) - * Package: removed superfluous version property from bower.json (#207 @kkirsche) - * Readme: fix USE_COLORS to DEBUG_COLORS - * Readme: Doc fixes for format string sugar (#269, @mlucool) - * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) - * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) - * Readme: better docs for browser support (#224, @matthewmueller) - * Tooling: Added yarn integration for development (#317, @thebigredgeek) - * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) - * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) - * Misc: Updated contributors (@thebigredgeek) - -2.2.0 / 2015-05-09 -================== - - * package: update "ms" to v0.7.1 (#202, @dougwilson) - * README: add logging to file example (#193, @DanielOchoa) - * README: fixed a typo (#191, @amir-s) - * browser: expose `storage` (#190, @stephenmathieson) - * Makefile: add a `distclean` target (#189, @stephenmathieson) - -2.1.3 / 2015-03-13 -================== - - * Updated stdout/stderr example (#186) - * Updated example/stdout.js to match debug current behaviour - * Renamed example/stderr.js to stdout.js - * Update Readme.md (#184) - * replace high intensity foreground color for bold (#182, #183) - -2.1.2 / 2015-03-01 -================== - - * dist: recompile - * update "ms" to v0.7.0 - * package: update "browserify" to v9.0.3 - * component: fix "ms.js" repo location - * changed bower package name - * updated documentation about using debug in a browser - * fix: security error on safari (#167, #168, @yields) - -2.1.1 / 2014-12-29 -================== - - * browser: use `typeof` to check for `console` existence - * browser: check for `console.log` truthiness (fix IE 8/9) - * browser: add support for Chrome apps - * Readme: added Windows usage remarks - * Add `bower.json` to properly support bower install - -2.1.0 / 2014-10-15 -================== - - * node: implement `DEBUG_FD` env variable support - * package: update "browserify" to v6.1.0 - * package: add "license" field to package.json (#135, @panuhorsmalahti) - -2.0.0 / 2014-09-01 -================== - - * package: update "browserify" to v5.11.0 - * node: use stderr rather than stdout for logging (#29, @stephenmathieson) - -1.0.4 / 2014-07-15 -================== - - * dist: recompile - * example: remove `console.info()` log usage - * example: add "Content-Type" UTF-8 header to browser example - * browser: place %c marker after the space character - * browser: reset the "content" color via `color: inherit` - * browser: add colors support for Firefox >= v31 - * debug: prefer an instance `log()` function over the global one (#119) - * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) - -1.0.3 / 2014-07-09 -================== - - * Add support for multiple wildcards in namespaces (#122, @seegno) - * browser: fix lint - -1.0.2 / 2014-06-10 -================== - - * browser: update color palette (#113, @gscottolson) - * common: make console logging function configurable (#108, @timoxley) - * node: fix %o colors on old node <= 0.8.x - * Makefile: find node path using shell/which (#109, @timoxley) - -1.0.1 / 2014-06-06 -================== - - * browser: use `removeItem()` to clear localStorage - * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) - * package: add "contributors" section - * node: fix comment typo - * README: list authors - -1.0.0 / 2014-06-04 -================== - - * make ms diff be global, not be scope - * debug: ignore empty strings in enable() - * node: make DEBUG_COLORS able to disable coloring - * *: export the `colors` array - * npmignore: don't publish the `dist` dir - * Makefile: refactor to use browserify - * package: add "browserify" as a dev dependency - * Readme: add Web Inspector Colors section - * node: reset terminal color for the debug content - * node: map "%o" to `util.inspect()` - * browser: map "%j" to `JSON.stringify()` - * debug: add custom "formatters" - * debug: use "ms" module for humanizing the diff - * Readme: add "bash" syntax highlighting - * browser: add Firebug color support - * browser: add colors for WebKit browsers - * node: apply log to `console` - * rewrite: abstract common logic for Node & browsers - * add .jshintrc file - -0.8.1 / 2014-04-14 -================== - - * package: re-add the "component" section - -0.8.0 / 2014-03-30 -================== - - * add `enable()` method for nodejs. Closes #27 - * change from stderr to stdout - * remove unnecessary index.js file - -0.7.4 / 2013-11-13 -================== - - * remove "browserify" key from package.json (fixes something in browserify) - -0.7.3 / 2013-10-30 -================== - - * fix: catch localStorage security error when cookies are blocked (Chrome) - * add debug(err) support. Closes #46 - * add .browser prop to package.json. Closes #42 - -0.7.2 / 2013-02-06 -================== - - * fix package.json - * fix: Mobile Safari (private mode) is broken with debug - * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript - -0.7.1 / 2013-02-05 -================== - - * add repository URL to package.json - * add DEBUG_COLORED to force colored output - * add browserify support - * fix component. Closes #24 - -0.7.0 / 2012-05-04 -================== - - * Added .component to package.json - * Added debug.component.js build - -0.6.0 / 2012-03-16 -================== - - * Added support for "-" prefix in DEBUG [Vinay Pulim] - * Added `.enabled` flag to the node version [TooTallNate] - -0.5.0 / 2012-02-02 -================== - - * Added: humanize diffs. Closes #8 - * Added `debug.disable()` to the CS variant - * Removed padding. Closes #10 - * Fixed: persist client-side variant again. Closes #9 - -0.4.0 / 2012-02-01 -================== - - * Added browser variant support for older browsers [TooTallNate] - * Added `debug.enable('project:*')` to browser variant [TooTallNate] - * Added padding to diff (moved it to the right) - -0.3.0 / 2012-01-26 -================== - - * Added millisecond diff when isatty, otherwise UTC string - -0.2.0 / 2012-01-22 -================== - - * Added wildcard support - -0.1.0 / 2011-12-02 -================== - - * Added: remove colors unless stderr isatty [TooTallNate] - -0.0.1 / 2010-01-03 -================== - - * Initial release diff --git a/res-pc/node_modules/debug/LICENSE b/res-pc/node_modules/debug/LICENSE deleted file mode 100644 index 658c933d..00000000 --- a/res-pc/node_modules/debug/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -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/res-pc/node_modules/debug/Makefile b/res-pc/node_modules/debug/Makefile deleted file mode 100644 index 3ddd1360..00000000 --- a/res-pc/node_modules/debug/Makefile +++ /dev/null @@ -1,58 +0,0 @@ -# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 -THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) -THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) - -# BIN directory -BIN := $(THIS_DIR)/node_modules/.bin - -# Path -PATH := node_modules/.bin:$(PATH) -SHELL := /bin/bash - -# applications -NODE ?= $(shell which node) -YARN ?= $(shell which yarn) -PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) -BROWSERIFY ?= $(NODE) $(BIN)/browserify - -install: node_modules - -browser: dist/debug.js - -node_modules: package.json - @NODE_ENV= $(PKG) install - @touch node_modules - -dist/debug.js: src/*.js node_modules - @mkdir -p dist - @$(BROWSERIFY) \ - --standalone debug \ - . > dist/debug.js - -lint: - @eslint *.js src/*.js - -test-node: - @istanbul cover node_modules/mocha/bin/_mocha -- test/**.js - @cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js - -test-browser: - @$(MAKE) browser - @karma start --single-run - -test-all: - @concurrently \ - "make test-node" \ - "make test-browser" - -test: - @if [ "x$(BROWSER)" = "x" ]; then \ - $(MAKE) test-node; \ - else \ - $(MAKE) test-browser; \ - fi - -clean: - rimraf dist coverage - -.PHONY: browser install clean lint test test-all test-node test-browser diff --git a/res-pc/node_modules/debug/README.md b/res-pc/node_modules/debug/README.md deleted file mode 100644 index 8e754d17..00000000 --- a/res-pc/node_modules/debug/README.md +++ /dev/null @@ -1,368 +0,0 @@ -# debug -[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) - - - -A tiny JavaScript debugging utility modelled after Node.js core's debugging -technique. Works in Node.js and web browsers. - -## Installation - -```bash -$ npm install debug -``` - -## Usage - -`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. - -Example [_app.js_](./examples/node/app.js): - -```js -var debug = require('debug')('http') - , http = require('http') - , name = 'My App'; - -// fake app - -debug('booting %o', name); - -http.createServer(function(req, res){ - debug(req.method + ' ' + req.url); - res.end('hello\n'); -}).listen(3000, function(){ - debug('listening'); -}); - -// fake worker of some kind - -require('./worker'); -``` - -Example [_worker.js_](./examples/node/worker.js): - -```js -var a = require('debug')('worker:a') - , b = require('debug')('worker:b'); - -function work() { - a('doing lots of uninteresting work'); - setTimeout(work, Math.random() * 1000); -} - -work(); - -function workb() { - b('doing some work'); - setTimeout(workb, Math.random() * 2000); -} - -workb(); -``` - -The `DEBUG` environment variable is then used to enable these based on space or -comma-delimited names. - -Here are some examples: - -screen shot 2017-08-08 at 12 53 04 pm -screen shot 2017-08-08 at 12 53 38 pm -screen shot 2017-08-08 at 12 53 25 pm - -#### Windows note - -On Windows the environment variable is set using the `set` command. - -```cmd -set DEBUG=*,-not_this -``` - -Note that PowerShell uses different syntax to set environment variables. - -```cmd -$env:DEBUG = "*,-not_this" -``` - -Then, run the program to be debugged as usual. - - -## Namespace Colors - -Every debug instance has a color generated for it based on its namespace name. -This helps when visually parsing the debug output to identify which debug instance -a debug line belongs to. - -#### Node.js - -In Node.js, colors are enabled when stderr is a TTY. You also _should_ install -the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, -otherwise debug will only use a small handful of basic colors. - - - -#### Web Browser - -Colors are also enabled on "Web Inspectors" that understand the `%c` formatting -option. These are WebKit web inspectors, Firefox ([since version -31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) -and the Firebug plugin for Firefox (any version). - - - - -## Millisecond diff - -When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. - - - -When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: - - - - -## Conventions - -If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. - -## Wildcards - -The `*` character may be used as a wildcard. Suppose for example your library has -debuggers named "connect:bodyParser", "connect:compress", "connect:session", -instead of listing all three with -`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do -`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. - -You can also exclude specific debuggers by prefixing them with a "-" character. -For example, `DEBUG=*,-connect:*` would include all debuggers except those -starting with "connect:". - -## Environment Variables - -When running through Node.js, you can set a few environment variables that will -change the behavior of the debug logging: - -| Name | Purpose | -|-----------|-------------------------------------------------| -| `DEBUG` | Enables/disables specific debugging namespaces. | -| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | -| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | -| `DEBUG_DEPTH` | Object inspection depth. | -| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | - - -__Note:__ The environment variables beginning with `DEBUG_` end up being -converted into an Options object that gets used with `%o`/`%O` formatters. -See the Node.js documentation for -[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) -for the complete list. - -## Formatters - -Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. -Below are the officially supported formatters: - -| Formatter | Representation | -|-----------|----------------| -| `%O` | Pretty-print an Object on multiple lines. | -| `%o` | Pretty-print an Object all on a single line. | -| `%s` | String. | -| `%d` | Number (both integer and float). | -| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | -| `%%` | Single percent sign ('%'). This does not consume an argument. | - - -### Custom formatters - -You can add custom formatters by extending the `debug.formatters` object. -For example, if you wanted to add support for rendering a Buffer as hex with -`%h`, you could do something like: - -```js -const createDebug = require('debug') -createDebug.formatters.h = (v) => { - return v.toString('hex') -} - -// …elsewhere -const debug = createDebug('foo') -debug('this is hex: %h', new Buffer('hello world')) -// foo this is hex: 68656c6c6f20776f726c6421 +0ms -``` - - -## Browser Support - -You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), -or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), -if you don't want to build it yourself. - -Debug's enable state is currently persisted by `localStorage`. -Consider the situation shown below where you have `worker:a` and `worker:b`, -and wish to debug both. You can enable this using `localStorage.debug`: - -```js -localStorage.debug = 'worker:*' -``` - -And then refresh the page. - -```js -a = debug('worker:a'); -b = debug('worker:b'); - -setInterval(function(){ - a('doing some work'); -}, 1000); - -setInterval(function(){ - b('doing some work'); -}, 1200); -``` - - -## Output streams - - By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: - -Example [_stdout.js_](./examples/node/stdout.js): - -```js -var debug = require('debug'); -var error = debug('app:error'); - -// by default stderr is used -error('goes to stderr!'); - -var log = debug('app:log'); -// set this namespace to log via console.log -log.log = console.log.bind(console); // don't forget to bind to console! -log('goes to stdout'); -error('still goes to stderr!'); - -// set all output to go via console.info -// overrides all per-namespace log settings -debug.log = console.info.bind(console); -error('now goes to stdout via console.info'); -log('still goes to stdout, but via console.info now'); -``` - -## Checking whether a debug target is enabled - -After you've created a debug instance, you can determine whether or not it is -enabled by checking the `enabled` property: - -```javascript -const debug = require('debug')('http'); - -if (debug.enabled) { - // do stuff... -} -``` - -You can also manually toggle this property to force the debug instance to be -enabled or disabled. - - -## Authors - - - TJ Holowaychuk - - Nathan Rajlich - - Andrew Rhyne - -## Backers - -Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Sponsors - -Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## License - -(The MIT License) - -Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> - -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/res-pc/node_modules/debug/karma.conf.js b/res-pc/node_modules/debug/karma.conf.js deleted file mode 100644 index 103a82d1..00000000 --- a/res-pc/node_modules/debug/karma.conf.js +++ /dev/null @@ -1,70 +0,0 @@ -// Karma configuration -// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) - -module.exports = function(config) { - config.set({ - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'chai', 'sinon'], - - - // list of files / patterns to load in the browser - files: [ - 'dist/debug.js', - 'test/*spec.js' - ], - - - // list of files to exclude - exclude: [ - 'src/node.js' - ], - - - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - preprocessors: { - }, - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - - - // web server port - port: 9876, - - - // enable / disable colors in the output (reporters and logs) - colors: true, - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: true, - - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['PhantomJS'], - - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: false, - - // Concurrency level - // how many browser should be started simultaneous - concurrency: Infinity - }) -} diff --git a/res-pc/node_modules/debug/node.js b/res-pc/node_modules/debug/node.js deleted file mode 100644 index 7fc36fe6..00000000 --- a/res-pc/node_modules/debug/node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./src/node'); diff --git a/res-pc/node_modules/debug/package.json b/res-pc/node_modules/debug/package.json deleted file mode 100644 index 187e2416..00000000 --- a/res-pc/node_modules/debug/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_from": "debug@^3.1.0", - "_id": "debug@3.1.0", - "_inBundle": false, - "_integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "_location": "/debug", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "debug@^3.1.0", - "name": "debug", - "escapedName": "debug", - "rawSpec": "^3.1.0", - "saveSpec": null, - "fetchSpec": "^3.1.0" - }, - "_requiredBy": [ - "/serialport" - ], - "_resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "_shasum": "5bb5a0672628b64149566ba16819e61518c67261", - "_spec": "debug@^3.1.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/serialport", - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "browser": "./src/browser.js", - "bugs": { - "url": "https://github.com/visionmedia/debug/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io" - }, - { - "name": "Andrew Rhyne", - "email": "rhyneandrew@gmail.com" - } - ], - "dependencies": { - "ms": "2.0.0" - }, - "deprecated": false, - "description": "small debugging utility", - "devDependencies": { - "browserify": "14.4.0", - "chai": "^3.5.0", - "concurrently": "^3.1.0", - "coveralls": "^2.11.15", - "eslint": "^3.12.1", - "istanbul": "^0.4.5", - "karma": "^1.3.0", - "karma-chai": "^0.1.0", - "karma-mocha": "^1.3.0", - "karma-phantomjs-launcher": "^1.0.2", - "karma-sinon": "^1.0.5", - "mocha": "^3.2.0", - "mocha-lcov-reporter": "^1.2.0", - "rimraf": "^2.5.4", - "sinon": "^1.17.6", - "sinon-chai": "^2.8.0" - }, - "homepage": "https://github.com/visionmedia/debug#readme", - "keywords": [ - "debug", - "log", - "debugger" - ], - "license": "MIT", - "main": "./src/index.js", - "name": "debug", - "repository": { - "type": "git", - "url": "git://github.com/visionmedia/debug.git" - }, - "version": "3.1.0" -} diff --git a/res-pc/node_modules/debug/src/browser.js b/res-pc/node_modules/debug/src/browser.js deleted file mode 100644 index f5149ff5..00000000 --- a/res-pc/node_modules/debug/src/browser.js +++ /dev/null @@ -1,195 +0,0 @@ -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - -/** - * Colors. - */ - -exports.colors = [ - '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', - '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', - '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', - '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', - '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', - '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', - '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', - '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', - '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', - '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', - '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { - return true; - } - - // Internet Explorer and Edge do not support colors. - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - - // is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; - } -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return; - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') - - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); -} - -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - var r; - try { - r = exports.storage.debug; - } catch(e) {} - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage() { - try { - return window.localStorage; - } catch (e) {} -} diff --git a/res-pc/node_modules/debug/src/debug.js b/res-pc/node_modules/debug/src/debug.js deleted file mode 100644 index 77e6384a..00000000 --- a/res-pc/node_modules/debug/src/debug.js +++ /dev/null @@ -1,225 +0,0 @@ - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = require('ms'); - -/** - * Active `debug` instances. - */ -exports.instances = []; - -/** - * The currently active debug mode names, and names to skip. - */ - -exports.names = []; -exports.skips = []; - -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - -exports.formatters = {}; - -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ - -function selectColor(namespace) { - var hash = 0, i; - - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return exports.colors[Math.abs(hash) % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function createDebug(namespace) { - - var prevTime; - - function debug() { - // disabled? - if (!debug.enabled) return; - - var self = debug; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); - - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); - } - - exports.instances.push(debug); - - return debug; -} - -function destroy () { - var index = exports.instances.indexOf(this); - if (index !== -1) { - exports.instances.splice(index, 1); - return true; - } else { - return false; - } -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - exports.names = []; - exports.skips = []; - - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; - - for (i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } - - for (i = 0; i < exports.instances.length; i++) { - var instance = exports.instances[i]; - instance.enabled = exports.enabled(instance.namespace); - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} diff --git a/res-pc/node_modules/debug/src/index.js b/res-pc/node_modules/debug/src/index.js deleted file mode 100644 index cabcbcda..00000000 --- a/res-pc/node_modules/debug/src/index.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Detect Electron renderer process, which is node, but we should - * treat as a browser. - */ - -if (typeof process === 'undefined' || process.type === 'renderer') { - module.exports = require('./browser.js'); -} else { - module.exports = require('./node.js'); -} diff --git a/res-pc/node_modules/debug/src/node.js b/res-pc/node_modules/debug/src/node.js deleted file mode 100644 index d666fb9c..00000000 --- a/res-pc/node_modules/debug/src/node.js +++ /dev/null @@ -1,186 +0,0 @@ -/** - * Module dependencies. - */ - -var tty = require('tty'); -var util = require('util'); - -/** - * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; - -/** - * Colors. - */ - -exports.colors = [ 6, 2, 3, 4, 5, 1 ]; - -try { - var supportsColor = require('supports-color'); - if (supportsColor && supportsColor.level >= 2) { - exports.colors = [ - 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, - 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, - 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 214, 215, 220, 221 - ]; - } -} catch (err) { - // swallow - we only care if `supports-color` is available; it doesn't have to be. -} - -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ - -exports.inspectOpts = Object.keys(process.env).filter(function (key) { - return /^debug_/i.test(key); -}).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); - - // coerce string value into JS value - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); - - obj[prop] = val; - return obj; -}, {}); - -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ - -function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(process.stderr.fd); -} - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n').map(function(str) { - return str.trim() - }).join(' '); -}; - -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ - -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; - -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ - -function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; - - if (useColors) { - var c = this.color; - var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); - var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; - - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); - } else { - args[0] = getDate() + name + ' ' + args[0]; - } -} - -function getDate() { - if (exports.inspectOpts.hideDate) { - return ''; - } else { - return new Date().toISOString() + ' '; - } -} - -/** - * Invokes `util.format()` with the specified arguments and writes to stderr. - */ - -function log() { - return process.stderr.write(util.format.apply(util, arguments) + '\n'); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - if (null == namespaces) { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - return process.env.DEBUG; -} - -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ - -function init (debug) { - debug.inspectOpts = {}; - - var keys = Object.keys(exports.inspectOpts); - for (var i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } -} - -/** - * Enable namespaces listed in `process.env.DEBUG` initially. - */ - -exports.enable(load()); diff --git a/res-pc/node_modules/deep-extend/CHANGELOG.md b/res-pc/node_modules/deep-extend/CHANGELOG.md deleted file mode 100644 index f3efe0b2..00000000 --- a/res-pc/node_modules/deep-extend/CHANGELOG.md +++ /dev/null @@ -1,21 +0,0 @@ -Changelog -========= - -v0.4.1 ------- - -- Removed test code from npm package - ([see pull request #21](https://github.com/unclechu/node-deep-extend/pull/21)); -- Increased minimal version of Node from 0.4.0 to 0.12.0 - (because can't run tests on lesser version anyway). - -v0.4.0 ------- - -Broken backward compatibility with v0.3.x - -- Fixed bug with extending arrays instead of cloning; -- Deep cloning for arrays; -- Check for own property; -- Fixed some documentation issues; -- Strict JS mode. diff --git a/res-pc/node_modules/deep-extend/LICENSE b/res-pc/node_modules/deep-extend/LICENSE deleted file mode 100644 index acc4662e..00000000 --- a/res-pc/node_modules/deep-extend/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2015, Viacheslav Lotsmanov - -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/res-pc/node_modules/deep-extend/README.md b/res-pc/node_modules/deep-extend/README.md deleted file mode 100644 index 70022248..00000000 --- a/res-pc/node_modules/deep-extend/README.md +++ /dev/null @@ -1,90 +0,0 @@ -Deep Extend -=========== - -Recursive object extending. - -[![NPM](https://nodei.co/npm/deep-extend.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/deep-extend/) -[![NPM](https://nodei.co/npm-dl/deep-extend.png?height=3)](https://nodei.co/npm/deep-extend/) - -Install -------- - -```bash -$ npm install deep-extend -``` - -Usage ------ - -```javascript -var deepExtend = require('deep-extend'); -var obj1 = { - a: 1, - b: 2, - d: { - a: 1, - b: [], - c: { test1: 123, test2: 321 } - }, - f: 5, - g: 123, - i: 321, - j: [1, 2] -}; -var obj2 = { - b: 3, - c: 5, - d: { - b: { first: 'one', second: 'two' }, - c: { test2: 222 } - }, - e: { one: 1, two: 2 }, - f: [], - g: (void 0), - h: /abc/g, - i: null, - j: [3, 4] -}; - -deepExtend(obj1, obj2); - -console.log(obj1); -/* -{ a: 1, - b: 3, - d: - { a: 1, - b: { first: 'one', second: 'two' }, - c: { test1: 123, test2: 222 } }, - f: [], - g: undefined, - c: 5, - e: { one: 1, two: 2 }, - h: /abc/g, - i: null, - j: [3, 4] } -*/ -``` - -Unit testing ------------- - -```bash -$ npm test -``` - -Changelog ---------- - -[CHANGELOG.md](./CHANGELOG.md) - -Any issues? ------------ - -Please, report about issues -[here](https://github.com/unclechu/node-deep-extend/issues). - -License -------- - -[MIT](./LICENSE) diff --git a/res-pc/node_modules/deep-extend/index.js b/res-pc/node_modules/deep-extend/index.js deleted file mode 100644 index 762d81e9..00000000 --- a/res-pc/node_modules/deep-extend/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/deep-extend'); diff --git a/res-pc/node_modules/deep-extend/lib/deep-extend.js b/res-pc/node_modules/deep-extend/lib/deep-extend.js deleted file mode 100644 index 08f70ed7..00000000 --- a/res-pc/node_modules/deep-extend/lib/deep-extend.js +++ /dev/null @@ -1,144 +0,0 @@ -/*! - * @description Recursive object extending - * @author Viacheslav Lotsmanov - * @license MIT - * - * The MIT License (MIT) - * - * Copyright (c) 2013-2015 Viacheslav Lotsmanov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -'use strict'; - -function isSpecificValue(val) { - return ( - val instanceof Buffer - || val instanceof Date - || val instanceof RegExp - ) ? true : false; -} - -function cloneSpecificValue(val) { - if (val instanceof Buffer) { - var x = new Buffer(val.length); - val.copy(x); - return x; - } else if (val instanceof Date) { - return new Date(val.getTime()); - } else if (val instanceof RegExp) { - return new RegExp(val); - } else { - throw new Error('Unexpected situation'); - } -} - -/** - * Recursive cloning array. - */ -function deepCloneArray(arr) { - var clone = []; - arr.forEach(function (item, index) { - if (typeof item === 'object' && item !== null) { - if (Array.isArray(item)) { - clone[index] = deepCloneArray(item); - } else if (isSpecificValue(item)) { - clone[index] = cloneSpecificValue(item); - } else { - clone[index] = deepExtend({}, item); - } - } else { - clone[index] = item; - } - }); - return clone; -} - -/** - * Extening object that entered in first argument. - * - * Returns extended object or false if have no target object or incorrect type. - * - * If you wish to clone source object (without modify it), just use empty new - * object as first argument, like this: - * deepExtend({}, yourObj_1, [yourObj_N]); - */ -var deepExtend = module.exports = function (/*obj_1, [obj_2], [obj_N]*/) { - if (arguments.length < 1 || typeof arguments[0] !== 'object') { - return false; - } - - if (arguments.length < 2) { - return arguments[0]; - } - - var target = arguments[0]; - - // convert arguments to array and cut off target object - var args = Array.prototype.slice.call(arguments, 1); - - var val, src, clone; - - args.forEach(function (obj) { - // skip argument if isn't an object, is null, or is an array - if (typeof obj !== 'object' || obj === null || Array.isArray(obj)) { - return; - } - - Object.keys(obj).forEach(function (key) { - src = target[key]; // source value - val = obj[key]; // new value - - // recursion prevention - if (val === target) { - return; - - /** - * if new value isn't object then just overwrite by new value - * instead of extending. - */ - } else if (typeof val !== 'object' || val === null) { - target[key] = val; - return; - - // just clone arrays (and recursive clone objects inside) - } else if (Array.isArray(val)) { - target[key] = deepCloneArray(val); - return; - - // custom cloning and overwrite for specific objects - } else if (isSpecificValue(val)) { - target[key] = cloneSpecificValue(val); - return; - - // overwrite by new value if source isn't object or array - } else if (typeof src !== 'object' || src === null || Array.isArray(src)) { - target[key] = deepExtend({}, val); - return; - - // source value and new value is objects both, extending... - } else { - target[key] = deepExtend(src, val); - return; - } - }); - }); - - return target; -} diff --git a/res-pc/node_modules/deep-extend/package.json b/res-pc/node_modules/deep-extend/package.json deleted file mode 100644 index fee51f46..00000000 --- a/res-pc/node_modules/deep-extend/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "_from": "deep-extend@~0.4.0", - "_id": "deep-extend@0.4.2", - "_inBundle": false, - "_integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "_location": "/deep-extend", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "deep-extend@~0.4.0", - "name": "deep-extend", - "escapedName": "deep-extend", - "rawSpec": "~0.4.0", - "saveSpec": null, - "fetchSpec": "~0.4.0" - }, - "_requiredBy": [ - "/rc" - ], - "_resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "_shasum": "48b699c27e334bf89f10892be432f6e4c7d34a7f", - "_spec": "deep-extend@~0.4.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/rc", - "author": { - "name": "Viacheslav Lotsmanov", - "email": "lotsmanov89@gmail.com" - }, - "bugs": { - "url": "https://github.com/unclechu/node-deep-extend/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Romain Prieto", - "url": "https://github.com/rprieto" - }, - { - "name": "Max Maximov", - "url": "https://github.com/maxmaximov" - }, - { - "name": "Marshall Bowers", - "url": "https://github.com/maxdeviant" - } - ], - "deprecated": false, - "description": "Recursive object extending", - "devDependencies": { - "mocha": "^2.2.1", - "should": "^5.2.0" - }, - "directories": { - "lib": "./lib/", - "test": "./test/" - }, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.12.0" - }, - "files": [ - "lib/deep-extend.js", - "index.js" - ], - "homepage": "https://github.com/unclechu/node-deep-extend", - "keywords": [ - "deep-extend", - "extend", - "deep", - "recursive", - "xtend", - "clone", - "merge", - "json" - ], - "license": "MIT", - "licenses": [ - { - "type": "MIT", - "url": "https://raw.githubusercontent.com/unclechu/node-deep-extend/master/LICENSE" - } - ], - "main": "lib/deep-extend.js", - "name": "deep-extend", - "repository": { - "type": "git", - "url": "git://github.com/unclechu/node-deep-extend.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.4.2" -} diff --git a/res-pc/node_modules/delegates/.npmignore b/res-pc/node_modules/delegates/.npmignore deleted file mode 100644 index c2658d7d..00000000 --- a/res-pc/node_modules/delegates/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/res-pc/node_modules/delegates/History.md b/res-pc/node_modules/delegates/History.md deleted file mode 100644 index 25959eab..00000000 --- a/res-pc/node_modules/delegates/History.md +++ /dev/null @@ -1,22 +0,0 @@ - -1.0.0 / 2015-12-14 -================== - - * Merge pull request #12 from kasicka/master - * Add license text - -0.1.0 / 2014-10-17 -================== - - * adds `.fluent()` to api - -0.0.3 / 2014-01-13 -================== - - * fix receiver for .method() - -0.0.2 / 2014-01-13 -================== - - * Object.defineProperty() sucks - * Initial commit diff --git a/res-pc/node_modules/delegates/License b/res-pc/node_modules/delegates/License deleted file mode 100644 index 60de60ad..00000000 --- a/res-pc/node_modules/delegates/License +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2015 TJ Holowaychuk - -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/res-pc/node_modules/delegates/Makefile b/res-pc/node_modules/delegates/Makefile deleted file mode 100644 index a9dcfd50..00000000 --- a/res-pc/node_modules/delegates/Makefile +++ /dev/null @@ -1,8 +0,0 @@ - -test: - @./node_modules/.bin/mocha \ - --require should \ - --reporter spec \ - --bail - -.PHONY: test \ No newline at end of file diff --git a/res-pc/node_modules/delegates/Readme.md b/res-pc/node_modules/delegates/Readme.md deleted file mode 100644 index ab8cf4ac..00000000 --- a/res-pc/node_modules/delegates/Readme.md +++ /dev/null @@ -1,94 +0,0 @@ - -# delegates - - Node method and accessor delegation utilty. - -## Installation - -``` -$ npm install delegates -``` - -## Example - -```js -var delegate = require('delegates'); - -... - -delegate(proto, 'request') - .method('acceptsLanguages') - .method('acceptsEncodings') - .method('acceptsCharsets') - .method('accepts') - .method('is') - .access('querystring') - .access('idempotent') - .access('socket') - .access('length') - .access('query') - .access('search') - .access('status') - .access('method') - .access('path') - .access('body') - .access('host') - .access('url') - .getter('subdomains') - .getter('protocol') - .getter('header') - .getter('stale') - .getter('fresh') - .getter('secure') - .getter('ips') - .getter('ip') -``` - -# API - -## Delegate(proto, prop) - -Creates a delegator instance used to configure using the `prop` on the given -`proto` object. (which is usually a prototype) - -## Delegate#method(name) - -Allows the given method `name` to be accessed on the host. - -## Delegate#getter(name) - -Creates a "getter" for the property with the given `name` on the delegated -object. - -## Delegate#setter(name) - -Creates a "setter" for the property with the given `name` on the delegated -object. - -## Delegate#access(name) - -Creates an "accessor" (ie: both getter *and* setter) for the property with the -given `name` on the delegated object. - -## Delegate#fluent(name) - -A unique type of "accessor" that works for a "fluent" API. When called as a -getter, the method returns the expected value. However, if the method is called -with a value, it will return itself so it can be chained. For example: - -```js -delegate(proto, 'request') - .fluent('query') - -// getter -var q = request.query(); - -// setter (chainable) -request - .query({ a: 1 }) - .query({ b: 2 }); -``` - -# License - - MIT diff --git a/res-pc/node_modules/delegates/index.js b/res-pc/node_modules/delegates/index.js deleted file mode 100644 index 17c222d5..00000000 --- a/res-pc/node_modules/delegates/index.js +++ /dev/null @@ -1,121 +0,0 @@ - -/** - * Expose `Delegator`. - */ - -module.exports = Delegator; - -/** - * Initialize a delegator. - * - * @param {Object} proto - * @param {String} target - * @api public - */ - -function Delegator(proto, target) { - if (!(this instanceof Delegator)) return new Delegator(proto, target); - this.proto = proto; - this.target = target; - this.methods = []; - this.getters = []; - this.setters = []; - this.fluents = []; -} - -/** - * Delegate method `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.method = function(name){ - var proto = this.proto; - var target = this.target; - this.methods.push(name); - - proto[name] = function(){ - return this[target][name].apply(this[target], arguments); - }; - - return this; -}; - -/** - * Delegator accessor `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.access = function(name){ - return this.getter(name).setter(name); -}; - -/** - * Delegator getter `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.getter = function(name){ - var proto = this.proto; - var target = this.target; - this.getters.push(name); - - proto.__defineGetter__(name, function(){ - return this[target][name]; - }); - - return this; -}; - -/** - * Delegator setter `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.setter = function(name){ - var proto = this.proto; - var target = this.target; - this.setters.push(name); - - proto.__defineSetter__(name, function(val){ - return this[target][name] = val; - }); - - return this; -}; - -/** - * Delegator fluent accessor - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.fluent = function (name) { - var proto = this.proto; - var target = this.target; - this.fluents.push(name); - - proto[name] = function(val){ - if ('undefined' != typeof val) { - this[target][name] = val; - return this; - } else { - return this[target][name]; - } - }; - - return this; -}; diff --git a/res-pc/node_modules/delegates/package.json b/res-pc/node_modules/delegates/package.json deleted file mode 100644 index 5f125c0d..00000000 --- a/res-pc/node_modules/delegates/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "_from": "delegates@^1.0.0", - "_id": "delegates@1.0.0", - "_inBundle": false, - "_integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "_location": "/delegates", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "delegates@^1.0.0", - "name": "delegates", - "escapedName": "delegates", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/are-we-there-yet" - ], - "_resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "_shasum": "84c6e159b81904fdca59a0ef44cd870d31250f9a", - "_spec": "delegates@^1.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/are-we-there-yet", - "bugs": { - "url": "https://github.com/visionmedia/node-delegates/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "delegate methods and accessors to another property", - "devDependencies": { - "mocha": "*", - "should": "*" - }, - "homepage": "https://github.com/visionmedia/node-delegates#readme", - "keywords": [ - "delegate", - "delegation" - ], - "license": "MIT", - "name": "delegates", - "repository": { - "type": "git", - "url": "git+https://github.com/visionmedia/node-delegates.git" - }, - "version": "1.0.0" -} diff --git a/res-pc/node_modules/delegates/test/index.js b/res-pc/node_modules/delegates/test/index.js deleted file mode 100644 index 7b6e3d4d..00000000 --- a/res-pc/node_modules/delegates/test/index.js +++ /dev/null @@ -1,94 +0,0 @@ - -var assert = require('assert'); -var delegate = require('..'); - -describe('.method(name)', function(){ - it('should delegate methods', function(){ - var obj = {}; - - obj.request = { - foo: function(bar){ - assert(this == obj.request); - return bar; - } - }; - - delegate(obj, 'request').method('foo'); - - obj.foo('something').should.equal('something'); - }) -}) - -describe('.getter(name)', function(){ - it('should delegate getters', function(){ - var obj = {}; - - obj.request = { - get type() { - return 'text/html'; - } - } - - delegate(obj, 'request').getter('type'); - - obj.type.should.equal('text/html'); - }) -}) - -describe('.setter(name)', function(){ - it('should delegate setters', function(){ - var obj = {}; - - obj.request = { - get type() { - return this._type.toUpperCase(); - }, - - set type(val) { - this._type = val; - } - } - - delegate(obj, 'request').setter('type'); - - obj.type = 'hey'; - obj.request.type.should.equal('HEY'); - }) -}) - -describe('.access(name)', function(){ - it('should delegate getters and setters', function(){ - var obj = {}; - - obj.request = { - get type() { - return this._type.toUpperCase(); - }, - - set type(val) { - this._type = val; - } - } - - delegate(obj, 'request').access('type'); - - obj.type = 'hey'; - obj.type.should.equal('HEY'); - }) -}) - -describe('.fluent(name)', function () { - it('should delegate in a fluent fashion', function () { - var obj = { - settings: { - env: 'development' - } - }; - - delegate(obj, 'settings').fluent('env'); - - obj.env().should.equal('development'); - obj.env('production').should.equal(obj); - obj.settings.env.should.equal('production'); - }) -}) diff --git a/res-pc/node_modules/detect-libc/.npmignore b/res-pc/node_modules/detect-libc/.npmignore deleted file mode 100644 index 8fc0e8d3..00000000 --- a/res-pc/node_modules/detect-libc/.npmignore +++ /dev/null @@ -1,7 +0,0 @@ -.nyc_output -.travis.yml -coverage -test.js -node_modules -/.circleci -/tests/integration diff --git a/res-pc/node_modules/detect-libc/LICENSE b/res-pc/node_modules/detect-libc/LICENSE deleted file mode 100644 index 8dada3ed..00000000 --- a/res-pc/node_modules/detect-libc/LICENSE +++ /dev/null @@ -1,201 +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: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) 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 - - (d) 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 - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. diff --git a/res-pc/node_modules/detect-libc/README.md b/res-pc/node_modules/detect-libc/README.md deleted file mode 100644 index 31763574..00000000 --- a/res-pc/node_modules/detect-libc/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# detect-libc - -Node.js module to detect the C standard library (libc) implementation -family and version in use on a given Linux system. - -Provides a value suitable for use with the `LIBC` option of -[prebuild](https://www.npmjs.com/package/prebuild), -[prebuild-ci](https://www.npmjs.com/package/prebuild-ci) and -[prebuild-install](https://www.npmjs.com/package/prebuild-install), -therefore allowing build and provision of pre-compiled binaries -for musl-based Linux e.g. Alpine as well as glibc-based. - -Currently supports libc detection of `glibc` and `musl`. - -## Install - -```sh -npm install detect-libc -``` - -## Usage - -### API - -```js -const { GLIBC, MUSL, family, version, isNonGlibcLinux } = require('detect-libc'); -``` - -* `GLIBC` is a String containing the value "glibc" for comparison with `family`. -* `MUSL` is a String containing the value "musl" for comparison with `family`. -* `family` is a String representing the system libc family. -* `version` is a String representing the system libc version number. -* `isNonGlibcLinux` is a Boolean representing whether the system is a non-glibc Linux, e.g. Alpine. - -### detect-libc command line tool - -When run on a Linux system with a non-glibc libc, -the child command will be run with the `LIBC` environment variable -set to the relevant value. - -On all other platforms will run the child command as-is. - -The command line feature requires `spawnSync` provided by Node v0.12+. - -```sh -detect-libc child-command -``` - -## Integrating with prebuild - -```json - "scripts": { - "install": "detect-libc prebuild-install || node-gyp rebuild", - "test": "mocha && detect-libc prebuild-ci" - }, - "dependencies": { - "detect-libc": "^1.0.2", - "prebuild-install": "^2.2.0" - }, - "devDependencies": { - "prebuild": "^6.2.1", - "prebuild-ci": "^2.2.3" - } -``` - -## Licence - -Copyright 2017 Lovell Fuller - -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](http://www.apache.org/licenses/LICENSE-2.0.html) - -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. diff --git a/res-pc/node_modules/detect-libc/bin/detect-libc.js b/res-pc/node_modules/detect-libc/bin/detect-libc.js deleted file mode 100755 index 5486127f..00000000 --- a/res-pc/node_modules/detect-libc/bin/detect-libc.js +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env node - -'use strict'; - -var spawnSync = require('child_process').spawnSync; -var libc = require('../'); - -var spawnOptions = { - env: process.env, - shell: true, - stdio: 'inherit' -}; - -if (libc.isNonGlibcLinux) { - spawnOptions.env.LIBC = process.env.LIBC || libc.family; -} - -process.exit(spawnSync(process.argv[2], process.argv.slice(3), spawnOptions).status); diff --git a/res-pc/node_modules/detect-libc/lib/detect-libc.js b/res-pc/node_modules/detect-libc/lib/detect-libc.js deleted file mode 100644 index 1855fe18..00000000 --- a/res-pc/node_modules/detect-libc/lib/detect-libc.js +++ /dev/null @@ -1,92 +0,0 @@ -'use strict'; - -var platform = require('os').platform(); -var spawnSync = require('child_process').spawnSync; -var readdirSync = require('fs').readdirSync; - -var GLIBC = 'glibc'; -var MUSL = 'musl'; - -var spawnOptions = { - encoding: 'utf8', - env: process.env -}; - -if (!spawnSync) { - spawnSync = function () { - return { status: 126, stdout: '', stderr: '' }; - }; -} - -function contains (needle) { - return function (haystack) { - return haystack.indexOf(needle) !== -1; - }; -} - -function versionFromMuslLdd (out) { - return out.split(/[\r\n]+/)[1].trim().split(/\s/)[1]; -} - -function safeReaddirSync (path) { - try { - return readdirSync(path); - } catch (e) {} - return []; -} - -var family = ''; -var version = ''; -var method = ''; - -if (platform === 'linux') { - // Try getconf - var glibc = spawnSync('getconf', ['GNU_LIBC_VERSION'], spawnOptions); - if (glibc.status === 0) { - family = GLIBC; - version = glibc.stdout.trim().split(' ')[1]; - method = 'getconf'; - } else { - // Try ldd - var ldd = spawnSync('ldd', ['--version'], spawnOptions); - if (ldd.status === 0 && ldd.stdout.indexOf(MUSL) !== -1) { - family = MUSL; - version = versionFromMuslLdd(ldd.stdout); - method = 'ldd'; - } else if (ldd.status === 1 && ldd.stderr.indexOf(MUSL) !== -1) { - family = MUSL; - version = versionFromMuslLdd(ldd.stderr); - method = 'ldd'; - } else { - // Try filesystem (family only) - var lib = safeReaddirSync('/lib'); - if (lib.some(contains('-linux-gnu'))) { - family = GLIBC; - method = 'filesystem'; - } else if (lib.some(contains('libc.musl-'))) { - family = MUSL; - method = 'filesystem'; - } else if (lib.some(contains('ld-musl-'))) { - family = MUSL; - method = 'filesystem'; - } else { - var usrSbin = safeReaddirSync('/usr/sbin'); - if (usrSbin.some(contains('glibc'))) { - family = GLIBC; - method = 'filesystem'; - } - } - } - } -} - -var isNonGlibcLinux = (family !== '' && family !== GLIBC); - -module.exports = { - GLIBC: GLIBC, - MUSL: MUSL, - family: family, - version: version, - method: method, - isNonGlibcLinux: isNonGlibcLinux -}; diff --git a/res-pc/node_modules/detect-libc/package.json b/res-pc/node_modules/detect-libc/package.json deleted file mode 100644 index acc4352a..00000000 --- a/res-pc/node_modules/detect-libc/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "_from": "detect-libc@^1.0.3", - "_id": "detect-libc@1.0.3", - "_inBundle": false, - "_integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "_location": "/detect-libc", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "detect-libc@^1.0.3", - "name": "detect-libc", - "escapedName": "detect-libc", - "rawSpec": "^1.0.3", - "saveSpec": null, - "fetchSpec": "^1.0.3" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "_shasum": "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b", - "_spec": "detect-libc@^1.0.3", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/prebuild-install", - "author": { - "name": "Lovell Fuller", - "email": "npm@lovell.info" - }, - "bin": { - "detect-libc": "./bin/detect-libc.js" - }, - "bugs": { - "url": "https://github.com/lovell/detect-libc/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Niklas Salmoukas", - "email": "niklas@salmoukas.com" - } - ], - "deprecated": false, - "description": "Node.js module to detect the C standard library (libc) implementation family and version", - "devDependencies": { - "ava": "^0.23.0", - "nyc": "^11.3.0", - "proxyquire": "^1.8.0", - "semistandard": "^11.0.0" - }, - "engines": { - "node": ">=0.10" - }, - "homepage": "https://github.com/lovell/detect-libc#readme", - "keywords": [ - "libc", - "glibc", - "musl" - ], - "license": "Apache-2.0", - "main": "lib/detect-libc.js", - "name": "detect-libc", - "repository": { - "type": "git", - "url": "git://github.com/lovell/detect-libc.git" - }, - "scripts": { - "test": "semistandard && nyc --reporter=lcov ava" - }, - "version": "1.0.3" -} diff --git a/res-pc/node_modules/end-of-stream/LICENSE b/res-pc/node_modules/end-of-stream/LICENSE deleted file mode 100644 index 757562ec..00000000 --- a/res-pc/node_modules/end-of-stream/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Mathias Buus - -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. \ No newline at end of file diff --git a/res-pc/node_modules/end-of-stream/README.md b/res-pc/node_modules/end-of-stream/README.md deleted file mode 100644 index f2560c93..00000000 --- a/res-pc/node_modules/end-of-stream/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# end-of-stream - -A node module that calls a callback when a readable/writable/duplex stream has completed or failed. - - npm install end-of-stream - -## Usage - -Simply pass a stream and a callback to the `eos`. -Both legacy streams, streams2 and stream3 are supported. - -``` js -var eos = require('end-of-stream'); - -eos(readableStream, function(err) { - // this will be set to the stream instance - if (err) return console.log('stream had an error or closed early'); - console.log('stream has ended', this === readableStream); -}); - -eos(writableStream, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has finished', this === writableStream); -}); - -eos(duplexStream, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has ended and finished', this === duplexStream); -}); - -eos(duplexStream, {readable:false}, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has finished but might still be readable'); -}); - -eos(duplexStream, {writable:false}, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has ended but might still be writable'); -}); - -eos(readableStream, {error:false}, function(err) { - // do not treat emit('error', err) as a end-of-stream -}); -``` - -## License - -MIT - -## Related - -`end-of-stream` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one. diff --git a/res-pc/node_modules/end-of-stream/index.js b/res-pc/node_modules/end-of-stream/index.js deleted file mode 100644 index be426c22..00000000 --- a/res-pc/node_modules/end-of-stream/index.js +++ /dev/null @@ -1,87 +0,0 @@ -var once = require('once'); - -var noop = function() {}; - -var isRequest = function(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -}; - -var isChildProcess = function(stream) { - return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3 -}; - -var eos = function(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; - - callback = once(callback || noop); - - var ws = stream._writableState; - var rs = stream._readableState; - var readable = opts.readable || (opts.readable !== false && stream.readable); - var writable = opts.writable || (opts.writable !== false && stream.writable); - - var onlegacyfinish = function() { - if (!stream.writable) onfinish(); - }; - - var onfinish = function() { - writable = false; - if (!readable) callback.call(stream); - }; - - var onend = function() { - readable = false; - if (!writable) callback.call(stream); - }; - - var onexit = function(exitCode) { - callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null); - }; - - var onerror = function(err) { - callback.call(stream, err); - }; - - var onclose = function() { - if (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close')); - if (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close')); - }; - - var onrequest = function() { - stream.req.on('finish', onfinish); - }; - - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest(); - else stream.on('request', onrequest); - } else if (writable && !ws) { // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } - - if (isChildProcess(stream)) stream.on('exit', onexit); - - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', onerror); - stream.on('close', onclose); - - return function() { - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('exit', onexit); - stream.removeListener('end', onend); - stream.removeListener('error', onerror); - stream.removeListener('close', onclose); - }; -}; - -module.exports = eos; diff --git a/res-pc/node_modules/end-of-stream/package.json b/res-pc/node_modules/end-of-stream/package.json deleted file mode 100644 index de537579..00000000 --- a/res-pc/node_modules/end-of-stream/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_from": "end-of-stream@^1.1.0", - "_id": "end-of-stream@1.4.1", - "_inBundle": false, - "_integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "_location": "/end-of-stream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "end-of-stream@^1.1.0", - "name": "end-of-stream", - "escapedName": "end-of-stream", - "rawSpec": "^1.1.0", - "saveSpec": null, - "fetchSpec": "^1.1.0" - }, - "_requiredBy": [ - "/pump", - "/tar-stream" - ], - "_resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "_shasum": "ed29634d19baba463b6ce6b80a37213eab71ec43", - "_spec": "end-of-stream@^1.1.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/pump", - "author": { - "name": "Mathias Buus", - "email": "mathiasbuus@gmail.com" - }, - "bugs": { - "url": "https://github.com/mafintosh/end-of-stream/issues" - }, - "bundleDependencies": false, - "dependencies": { - "once": "^1.4.0" - }, - "deprecated": false, - "description": "Call a callback when a readable/writable/duplex stream has completed or failed.", - "files": [ - "index.js" - ], - "homepage": "https://github.com/mafintosh/end-of-stream", - "keywords": [ - "stream", - "streams", - "callback", - "finish", - "close", - "end", - "wait" - ], - "license": "MIT", - "main": "index.js", - "name": "end-of-stream", - "repository": { - "type": "git", - "url": "git://github.com/mafintosh/end-of-stream.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.4.1" -} diff --git a/res-pc/node_modules/expand-template/.npmignore b/res-pc/node_modules/expand-template/.npmignore deleted file mode 100644 index c2658d7d..00000000 --- a/res-pc/node_modules/expand-template/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/res-pc/node_modules/expand-template/.travis.yml b/res-pc/node_modules/expand-template/.travis.yml deleted file mode 100644 index aa589287..00000000 --- a/res-pc/node_modules/expand-template/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -sudo: false - -language: node_js - -node_js: - - '4' - - '0.12' - - '0.10' \ No newline at end of file diff --git a/res-pc/node_modules/expand-template/README.md b/res-pc/node_modules/expand-template/README.md deleted file mode 100644 index c2c9c4de..00000000 --- a/res-pc/node_modules/expand-template/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# expand-template - -> Expand placeholders in a template string. - -[![Build Status](https://travis-ci.org/ralphtheninja/expand-template.svg?branch=master)](https://travis-ci.org/ralphtheninja/expand-template) -[![Greenkeeper badge](https://badges.greenkeeper.io/ralphtheninja/expand-template.svg)](https://greenkeeper.io/) - -## Install - -``` -$ npm i expand-template -S -``` - -## Usage - -Default functionality expands templates using `{}` as separators for string placeholders. - -```js -var expand = require('expand-template')() -var template = '{foo}/{foo}/{bar}/{bar}' -console.log(expand(template, { - foo: 'BAR', - bar: 'FOO' -})) -// -> BAR/BAR/FOO/FOO -``` - -Custom separators: - -```js -var expand = require('expand-template')({ sep: '[]' }) -var template = '[foo]/[foo]/[bar]/[bar]' -console.log(expand(template, { - foo: 'BAR', - bar: 'FOO' -})) -// -> BAR/BAR/FOO/FOO -``` - -## License -All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT). diff --git a/res-pc/node_modules/expand-template/index.js b/res-pc/node_modules/expand-template/index.js deleted file mode 100644 index 627fa996..00000000 --- a/res-pc/node_modules/expand-template/index.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = function (opts) { - var sep = opts ? opts.sep : '{}' - var len = sep.length - - var whitespace = '\\s*' - var left = escape(sep.substring(0, len / 2)) + whitespace - var right = whitespace + escape(sep.substring(len / 2, len)) - - return function (template, values) { - Object.keys(values).forEach(function (key) { - template = template.replace(regExp(key), values[key]) - }) - return template - } - - function escape (s) { - return [].map.call(s, function (char) { - return '\\' + char - }).join('') - } - - function regExp (key) { - return new RegExp(left + key + right, 'g') - } -} diff --git a/res-pc/node_modules/expand-template/package.json b/res-pc/node_modules/expand-template/package.json deleted file mode 100644 index 81f957bb..00000000 --- a/res-pc/node_modules/expand-template/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "_from": "expand-template@^1.0.2", - "_id": "expand-template@1.1.0", - "_inBundle": false, - "_integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==", - "_location": "/expand-template", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "expand-template@^1.0.2", - "name": "expand-template", - "escapedName": "expand-template", - "rawSpec": "^1.0.2", - "saveSpec": null, - "fetchSpec": "^1.0.2" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz", - "_shasum": "e09efba977bf98f9ee0ed25abd0c692e02aec3fc", - "_spec": "expand-template@^1.0.2", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/prebuild-install", - "author": { - "name": "LM", - "email": "ralphtheninja@riseup.net" - }, - "bugs": { - "url": "https://github.com/ralphtheninja/expand-template/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Expand placeholders in a template string", - "devDependencies": { - "standard": "^10.0.3", - "tape": "^4.2.2" - }, - "homepage": "https://github.com/ralphtheninja/expand-template", - "keywords": [ - "template", - "expand", - "replace" - ], - "license": "WTFPL", - "main": "index.js", - "name": "expand-template", - "repository": { - "type": "git", - "url": "git+https://github.com/ralphtheninja/expand-template.git" - }, - "scripts": { - "test": "tape test.js && standard" - }, - "version": "1.1.0" -} diff --git a/res-pc/node_modules/expand-template/test.js b/res-pc/node_modules/expand-template/test.js deleted file mode 100644 index 4ff43a0f..00000000 --- a/res-pc/node_modules/expand-template/test.js +++ /dev/null @@ -1,47 +0,0 @@ -var test = require('tape') -var Expand = require('./') - -test('default expands {} placeholders', function (t) { - var expand = Expand() - t.equal(typeof expand, 'function', 'is a function') - t.equal(expand('{foo}/{bar}', { - foo: 'BAR', bar: 'FOO' - }), 'BAR/FOO') - t.equal(expand('{foo}{foo}{foo}', { - foo: 'FOO' - }), 'FOOFOOFOO', 'expands one placeholder many times') - t.end() -}) - -test('support for custom separators', function (t) { - var expand = Expand({ sep: '[]' }) - t.equal(expand('[foo]/[bar]', { - foo: 'BAR', bar: 'FOO' - }), 'BAR/FOO') - t.equal(expand('[foo][foo][foo]', { - foo: 'FOO' - }), 'FOOFOOFOO', 'expands one placeholder many times') - t.end() -}) - -test('support for longer custom separators', function (t) { - var expand = Expand({ sep: '[[]]' }) - t.equal(expand('[[foo]]/[[bar]]', { - foo: 'BAR', bar: 'FOO' - }), 'BAR/FOO') - t.equal(expand('[[foo]][[foo]][[foo]]', { - foo: 'FOO' - }), 'FOOFOOFOO', 'expands one placeholder many times') - t.end() -}) - -test('whitespace-insensitive', function (t) { - var expand = Expand({ sep: '[]' }) - t.equal(expand('[ foo ]/[ bar ]', { - foo: 'BAR', bar: 'FOO' - }), 'BAR/FOO') - t.equal(expand('[ foo ][ foo ][ foo]', { - foo: 'FOO' - }), 'FOOFOOFOO', 'expands one placeholder many times') - t.end() -}) diff --git a/res-pc/node_modules/gauge/CHANGELOG.md b/res-pc/node_modules/gauge/CHANGELOG.md deleted file mode 100644 index 407bc192..00000000 --- a/res-pc/node_modules/gauge/CHANGELOG.md +++ /dev/null @@ -1,160 +0,0 @@ -### v2.7.4 - -* Reset colors prior to ending a line, to eliminate flicker when a line - is trucated between start and end color sequences. - -### v2.7.3 - -* Only create our onExit handler when we're enabled and remove it when we're - disabled. This stops us from creating multiple onExit handlers when - multiple gauge objects are being used. -* Fix bug where if a theme name were given instead of a theme object, it - would crash. -* Remove supports-color because it's not actually used. Uhm. Yes, I just - updated it. >.> - -### v2.7.2 - -* Use supports-color instead of has-color (as the module has been renamed) - -### v2.7.1 - -* Bug fix: Calls to show/pulse while the progress bar is disabled should still - update our internal representation of what would be shown should it be enabled. - -### v2.7.0 - -* New feature: Add new `isEnabled` method to allow introspection of the gauge's - "enabledness" as controlled by `.enable()` and `.disable()`. - -### v2.6.0 - -* Bug fix: Don't run the code associated with `enable`/`disable` if the gauge - is already enabled or disabled respectively. This prevents leaking event - listeners, amongst other weirdness. -* New feature: Template items can have default values that will be used if no - value was otherwise passed in. - -### v2.5.3 - -* Default to `enabled` only if we have a tty. Users can always override - this by passing in the `enabled` option explicitly or by calling calling - `gauge.enable()`. - -### v2.5.2 - -* Externalized `./console-strings.js` into `console-control-strings`. - -### v2.5.1 - -* Update to `signal-exit@3.0.0`, which fixes a compatibility bug with the - node profiler. -* [#39](https://github.com/iarna/gauge/pull/39) Fix tests on 0.10 and add - a missing devDependency. ([@helloyou2012](https://github.com/helloyou2012)) - -### v2.5.0 - -* Add way to programmatically fetch a list of theme names in a themeset - (`Themeset.getThemeNames`). - -### v2.4.0 - -* Add support for setting themesets on existing gauge objects. -* Add post-IO callback to `gauge.hide()` as it is somtetimes necessary when - your terminal is interleaving output from multiple filehandles (ie, stdout - & stderr). - -### v2.3.1 - -* Fix a refactor bug in setTheme where it wasn't accepting the various types - of args it should. - -### v2.3.0 - -#### FEATURES - -* Add setTemplate & setTheme back in. -* Add support for named themes, you can now ask for things like 'colorASCII' - and 'brailleSpinner'. Of course, you can still pass in theme objects. - Additionally you can now pass in an object with `hasUnicode`, `hasColor` and - `platform` keys in order to override our guesses as to those values when - selecting a default theme from the themeset. -* Make the output stream optional (it defaults to `process.stderr` now). -* Add `setWriteTo(stream[, tty])` to change the output stream and, - optionally, tty. - -#### BUG FIXES & REFACTORING - -* Abort the display phase early if we're supposed to be hidden and we are. -* Stop printing a bunch of spaces at the end of lines, since we're already - using an erase-to-end-of-line code anyway. -* The unicode themes were missing the subsection separator. - -### v2.2.1 - -* Fix image in readme - -### v2.2.0 - -* All new themes API– reference themes by name and pass in custom themes and - themesets (themesets get platform support autodetection done on them to - select the best theme). Theme mixins let you add features to all existing - themes. -* Much, much improved test coverage. - -### v2.1.0 - -* Got rid of ░ in the default platform, noUnicode, hasColor theme. Thanks - to @yongtw123 for pointing out this had snuck in. -* Fiddled with the demo output to make it easier to see the spinner spin. Also - added prints before each platforms test output. -* I forgot to include `signal-exit` in our deps. <.< Thank you @KenanY for - finding this. Then I was lazy and made a new commit instead of using his - PR. Again, thank you for your patience @KenenY. -* Drastically speed up travis testing. -* Add a small javascript demo (demo.js) for showing off the various themes - (and testing them on diff platforms). -* Change: The subsection separator from ⁄ and / (different chars) to >. -* Fix crasher: A show or pulse without a label would cause the template renderer - to complain about a missing value. -* New feature: Add the ability to disable the clean-up-on-exit behavior. - Not something I expect to be widely desirable, but important if you have - multiple distinct gauge instances in your app. -* Use our own color support detection. - The `has-color` module proved too magic for my needs, making assumptions - as to which stream we write to and reading command line arguments. - -### v2.0.0 - -This is a major rewrite of the internals. Externally there are fewer -changes: - -* On node>0.8 gauge object now prints updates at a fixed rate. This means - that when you call `show` it may wate up to `updateInterval` ms before it - actually prints an update. You override this behavior with the - `fixedFramerate` option. -* The gauge object now keeps the cursor hidden as long as it's enabled and - shown. -* The constructor's arguments have changed, now it takes a mandatory output - stream and an optional options object. The stream no longer needs to be - an `ansi`ified stream, although it can be if you want (but we won't make - use of its special features). -* Previously the gauge was disabled by default if `process.stdout` wasn't a - tty. Now it always defaults to enabled. If you want the previous - behavior set the `enabled` option to `process.stdout.isTTY`. -* The constructor's options have changed– see the docs for details. -* Themes are entirely different. If you were using a custom theme, or - referring to one directly (eg via `Gauge.unicode` or `Gauge.ascii`) then - you'll need to change your code. You can get the equivalent of the latter - with: - ``` - var themes = require('gauge/themes') - var unicodeTheme = themes(true, true) // returns the color unicode theme for your platform - ``` - The default themes no longer use any ambiguous width characters, so even - if you choose to display those as wide your progress bar should still - display correctly. -* Templates are entirely different and if you were using a custom one, you - should consult the documentation to learn how to recreate it. If you were - using the default, be aware that it has changed and the result looks quite - a bit different. diff --git a/res-pc/node_modules/gauge/LICENSE b/res-pc/node_modules/gauge/LICENSE deleted file mode 100644 index e7560529..00000000 --- a/res-pc/node_modules/gauge/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2014, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/res-pc/node_modules/gauge/README.md b/res-pc/node_modules/gauge/README.md deleted file mode 100644 index bdd60e38..00000000 --- a/res-pc/node_modules/gauge/README.md +++ /dev/null @@ -1,399 +0,0 @@ -gauge -===== - -A nearly stateless terminal based horizontal gauge / progress bar. - -```javascript -var Gauge = require("gauge") - -var gauge = new Gauge() - -gauge.show("test", 0.20) - -gauge.pulse("this") - -gauge.hide() -``` - -![](gauge-demo.gif) - - -### CHANGES FROM 1.x - -Gauge 2.x is breaking release, please see the [changelog] for details on -what's changed if you were previously a user of this module. - -[changelog]: CHANGELOG.md - -### THE GAUGE CLASS - -This is the typical interface to the module– it provides a pretty -fire-and-forget interface to displaying your status information. - -``` -var Gauge = require("gauge") - -var gauge = new Gauge([stream], [options]) -``` - -* **stream** – *(optional, default STDERR)* A stream that progress bar - updates are to be written to. Gauge honors backpressure and will pause - most writing if it is indicated. -* **options** – *(optional)* An option object. - -Constructs a new gauge. Gauges are drawn on a single line, and are not drawn -if **stream** isn't a tty and a tty isn't explicitly provided. - -If **stream** is a terminal or if you pass in **tty** to **options** then we -will detect terminal resizes and redraw to fit. We do this by watching for -`resize` events on the tty. (To work around a bug in verisons of Node prior -to 2.5.0, we watch for them on stdout if the tty is stderr.) Resizes to -larger window sizes will be clean, but shrinking the window will always -result in some cruft. - -**IMPORTANT:** If you prevously were passing in a non-tty stream but you still -want output (for example, a stream wrapped by the `ansi` module) then you -need to pass in the **tty** option below, as `gauge` needs access to -the underlying tty in order to do things like terminal resizes and terminal -width detection. - -The **options** object can have the following properties, all of which are -optional: - -* **updateInterval**: How often gauge updates should be drawn, in miliseconds. -* **fixedFramerate**: Defaults to false on node 0.8, true on everything - else. When this is true a timer is created to trigger once every - `updateInterval` ms, when false, updates are printed as soon as they come - in but updates more often than `updateInterval` are ignored. The reason - 0.8 doesn't have this set to true is that it can't `unref` its timer and - so it would stop your program from exiting– if you want to use this - feature with 0.8 just make sure you call `gauge.disable()` before you - expect your program to exit. -* **themes**: A themeset to use when selecting the theme to use. Defaults - to `gauge/themes`, see the [themes] documentation for details. -* **theme**: Select a theme for use, it can be a: - * Theme object, in which case the **themes** is not used. - * The name of a theme, which will be looked up in the current *themes* - object. - * A configuration object with any of `hasUnicode`, `hasColor` or - `platform` keys, which if wlll be used to override our guesses when making - a default theme selection. - - If no theme is selected then a default is picked using a combination of our - best guesses at your OS, color support and unicode support. -* **template**: Describes what you want your gauge to look like. The - default is what npm uses. Detailed [documentation] is later in this - document. -* **hideCursor**: Defaults to true. If true, then the cursor will be hidden - while the gauge is displayed. -* **tty**: The tty that you're ultimately writing to. Defaults to the same - as **stream**. This is used for detecting the width of the terminal and - resizes. The width used is `tty.columns - 1`. If no tty is available then - a width of `79` is assumed. -* **enabled**: Defaults to true if `tty` is a TTY, false otherwise. If true - the gauge starts enabled. If disabled then all update commands are - ignored and no gauge will be printed until you call `.enable()`. -* **Plumbing**: The class to use to actually generate the gauge for - printing. This defaults to `require('gauge/plumbing')` and ordinarly you - shouldn't need to override this. -* **cleanupOnExit**: Defaults to true. Ordinarily we register an exit - handler to make sure your cursor is turned back on and the progress bar - erased when your process exits, even if you Ctrl-C out or otherwise exit - unexpectedly. You can disable this and it won't register the exit handler. - -[has-unicode]: https://www.npmjs.com/package/has-unicode -[themes]: #themes -[documentation]: #templates - -#### `gauge.show(section | status, [completed])` - -The first argument is either the section, the name of the current thing -contributing to progress, or an object with keys like **section**, -**subsection** & **completed** (or any others you have types for in a custom -template). If you don't want to update or set any of these you can pass -`null` and it will be ignored. - -The second argument is the percent completed as a value between 0 and 1. -Without it, completion is just not updated. You'll also note that completion -can be passed in as part of a status object as the first argument. If both -it and the completed argument are passed in, the completed argument wins. - -#### `gauge.hide([cb])` - -Removes the gauge from the terminal. Optionally, callback `cb` after IO has -had an opportunity to happen (currently this just means after `setImmediate` -has called back.) - -It turns out this is important when you're pausing the progress bar on one -filehandle and printing to another– otherwise (with a big enough print) node -can end up printing the "end progress bar" bits to the progress bar filehandle -while other stuff is printing to another filehandle. These getting interleaved -can cause corruption in some terminals. - -#### `gauge.pulse([subsection])` - -* **subsection** – *(optional)* The specific thing that triggered this pulse - -Spins the spinner in the gauge to show output. If **subsection** is -included then it will be combined with the last name passed to `gauge.show`. - -#### `gauge.disable()` - -Hides the gauge and ignores further calls to `show` or `pulse`. - -#### `gauge.enable()` - -Shows the gauge and resumes updating when `show` or `pulse` is called. - -#### `gauge.isEnabled()` - -Returns true if the gauge is enabled. - -#### `gauge.setThemeset(themes)` - -Change the themeset to select a theme from. The same as the `themes` option -used in the constructor. The theme will be reselected from this themeset. - -#### `gauge.setTheme(theme)` - -Change the active theme, will be displayed with the next show or pulse. This can be: - -* Theme object, in which case the **themes** is not used. -* The name of a theme, which will be looked up in the current *themes* - object. -* A configuration object with any of `hasUnicode`, `hasColor` or - `platform` keys, which if wlll be used to override our guesses when making - a default theme selection. - -If no theme is selected then a default is picked using a combination of our -best guesses at your OS, color support and unicode support. - -#### `gauge.setTemplate(template)` - -Change the active template, will be displayed with the next show or pulse - -### Tracking Completion - -If you have more than one thing going on that you want to track completion -of, you may find the related [are-we-there-yet] helpful. It's `change` -event can be wired up to the `show` method to get a more traditional -progress bar interface. - -[are-we-there-yet]: https://www.npmjs.com/package/are-we-there-yet - -### THEMES - -``` -var themes = require('gauge/themes') - -// fetch the default color unicode theme for this platform -var ourTheme = themes({hasUnicode: true, hasColor: true}) - -// fetch the default non-color unicode theme for osx -var ourTheme = themes({hasUnicode: true, hasColor: false, platform: 'darwin'}) - -// create a new theme based on the color ascii theme for this platform -// that brackets the progress bar with arrows -var ourTheme = themes.newTheme(theme(hasUnicode: false, hasColor: true}), { - preProgressbar: '→', - postProgressbar: '←' -}) -``` - -The object returned by `gauge/themes` is an instance of the `ThemeSet` class. - -``` -var ThemeSet = require('gauge/theme-set') -var themes = new ThemeSet() -// or -var themes = require('gauge/themes') -var mythemes = themes.newThemeset() // creates a new themeset based on the default themes -``` - -#### themes(opts) -#### themes.getDefault(opts) - -Theme objects are a function that fetches the default theme based on -platform, unicode and color support. - -Options is an object with the following properties: - -* **hasUnicode** - If true, fetch a unicode theme, if no unicode theme is - available then a non-unicode theme will be used. -* **hasColor** - If true, fetch a color theme, if no color theme is - available a non-color theme will be used. -* **platform** (optional) - Defaults to `process.platform`. If no - platform match is available then `fallback` is used instead. - -If no compatible theme can be found then an error will be thrown with a -`code` of `EMISSINGTHEME`. - -#### themes.addTheme(themeName, themeObj) -#### themes.addTheme(themeName, [parentTheme], newTheme) - -Adds a named theme to the themeset. You can pass in either a theme object, -as returned by `themes.newTheme` or the arguments you'd pass to -`themes.newTheme`. - -#### themes.getThemeNames() - -Return a list of all of the names of the themes in this themeset. Suitable -for use in `themes.getTheme(…)`. - -#### themes.getTheme(name) - -Returns the theme object from this theme set named `name`. - -If `name` does not exist in this themeset an error will be thrown with -a `code` of `EMISSINGTHEME`. - -#### themes.setDefault([opts], themeName) - -`opts` is an object with the following properties. - -* **platform** - Defaults to `'fallback'`. If your theme is platform - specific, specify that here with the platform from `process.platform`, eg, - `win32`, `darwin`, etc. -* **hasUnicode** - Defaults to `false`. If your theme uses unicode you - should set this to true. -* **hasColor** - Defaults to `false`. If your theme uses color you should - set this to true. - -`themeName` is the name of the theme (as given to `addTheme`) to use for -this set of `opts`. - -#### themes.newTheme([parentTheme,] newTheme) - -Create a new theme object based on `parentTheme`. If no `parentTheme` is -provided then a minimal parentTheme that defines functions for rendering the -activity indicator (spinner) and progress bar will be defined. (This -fallback parent is defined in `gauge/base-theme`.) - -newTheme should be a bare object– we'll start by discussing the properties -defined by the default themes: - -* **preProgressbar** - displayed prior to the progress bar, if the progress - bar is displayed. -* **postProgressbar** - displayed after the progress bar, if the progress bar - is displayed. -* **progressBarTheme** - The subtheme passed through to the progress bar - renderer, it's an object with `complete` and `remaining` properties - that are the strings you want repeated for those sections of the progress - bar. -* **activityIndicatorTheme** - The theme for the activity indicator (spinner), - this can either be a string, in which each character is a different step, or - an array of strings. -* **preSubsection** - Displayed as a separator between the `section` and - `subsection` when the latter is printed. - -More generally, themes can have any value that would be a valid value when rendering -templates. The properties in the theme are used when their name matches a type in -the template. Their values can be: - -* **strings & numbers** - They'll be included as is -* **function (values, theme, width)** - Should return what you want in your output. - *values* is an object with values provided via `gauge.show`, - *theme* is the theme specific to this item (see below) or this theme object, - and *width* is the number of characters wide your result should be. - -There are a couple of special prefixes: - -* **pre** - Is shown prior to the property, if its displayed. -* **post** - Is shown after the property, if its displayed. - -And one special suffix: - -* **Theme** - Its value is passed to a function-type item as the theme. - -#### themes.addToAllThemes(theme) - -This *mixes-in* `theme` into all themes currently defined. It also adds it -to the default parent theme for this themeset, so future themes added to -this themeset will get the values from `theme` by default. - -#### themes.newThemeset() - -Copy the current themeset into a new one. This allows you to easily inherit -one themeset from another. - -### TEMPLATES - -A template is an array of objects and strings that, after being evaluated, -will be turned into the gauge line. The default template is: - -```javascript -[ - {type: 'progressbar', length: 20}, - {type: 'activityIndicator', kerning: 1, length: 1}, - {type: 'section', kerning: 1, default: ''}, - {type: 'subsection', kerning: 1, default: ''} -] -``` - -The various template elements can either be **plain strings**, in which case they will -be be included verbatum in the output, or objects with the following properties: - -* *type* can be any of the following plus any keys you pass into `gauge.show` plus - any keys you have on a custom theme. - * `section` – What big thing you're working on now. - * `subsection` – What component of that thing is currently working. - * `activityIndicator` – Shows a spinner using the `activityIndicatorTheme` - from your active theme. - * `progressbar` – A progress bar representing your current `completed` - using the `progressbarTheme` from your active theme. -* *kerning* – Number of spaces that must be between this item and other - items, if this item is displayed at all. -* *maxLength* – The maximum length for this element. If its value is longer it - will be truncated. -* *minLength* – The minimum length for this element. If its value is shorter it - will be padded according to the *align* value. -* *align* – (Default: left) Possible values "left", "right" and "center". Works - as you'd expect from word processors. -* *length* – Provides a single value for both *minLength* and *maxLength*. If both - *length* and *minLength or *maxLength* are specifed then the latter take precedence. -* *value* – A literal value to use for this template item. -* *default* – A default value to use for this template item if a value - wasn't otherwise passed in. - -### PLUMBING - -This is the super simple, assume nothing, do no magic internals used by gauge to -implement its ordinary interface. - -``` -var Plumbing = require('gauge/plumbing') -var gauge = new Plumbing(theme, template, width) -``` - -* **theme**: The theme to use. -* **template**: The template to use. -* **width**: How wide your gauge should be - -#### `gauge.setTheme(theme)` - -Change the active theme. - -#### `gauge.setTemplate(template)` - -Change the active template. - -#### `gauge.setWidth(width)` - -Change the width to render at. - -#### `gauge.hide()` - -Return the string necessary to hide the progress bar - -#### `gauge.hideCursor()` - -Return a string to hide the cursor. - -#### `gauge.showCursor()` - -Return a string to show the cursor. - -#### `gauge.show(status)` - -Using `status` for values, render the provided template with the theme and return -a string that is suitable for printing to update the gauge. diff --git a/res-pc/node_modules/gauge/base-theme.js b/res-pc/node_modules/gauge/base-theme.js deleted file mode 100644 index 0b67638e..00000000 --- a/res-pc/node_modules/gauge/base-theme.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' -var spin = require('./spin.js') -var progressBar = require('./progress-bar.js') - -module.exports = { - activityIndicator: function (values, theme, width) { - if (values.spun == null) return - return spin(theme, values.spun) - }, - progressbar: function (values, theme, width) { - if (values.completed == null) return - return progressBar(theme, width, values.completed) - } -} diff --git a/res-pc/node_modules/gauge/error.js b/res-pc/node_modules/gauge/error.js deleted file mode 100644 index d9914ba5..00000000 --- a/res-pc/node_modules/gauge/error.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict' -var util = require('util') - -var User = exports.User = function User (msg) { - var err = new Error(msg) - Error.captureStackTrace(err, User) - err.code = 'EGAUGE' - return err -} - -exports.MissingTemplateValue = function MissingTemplateValue (item, values) { - var err = new User(util.format('Missing template value "%s"', item.type)) - Error.captureStackTrace(err, MissingTemplateValue) - err.template = item - err.values = values - return err -} - -exports.Internal = function Internal (msg) { - var err = new Error(msg) - Error.captureStackTrace(err, Internal) - err.code = 'EGAUGEINTERNAL' - return err -} diff --git a/res-pc/node_modules/gauge/has-color.js b/res-pc/node_modules/gauge/has-color.js deleted file mode 100644 index e283a256..00000000 --- a/res-pc/node_modules/gauge/has-color.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -module.exports = isWin32() || isColorTerm() - -function isWin32 () { - return process.platform === 'win32' -} - -function isColorTerm () { - var termHasColor = /^screen|^xterm|^vt100|color|ansi|cygwin|linux/i - return !!process.env.COLORTERM || termHasColor.test(process.env.TERM) -} diff --git a/res-pc/node_modules/gauge/index.js b/res-pc/node_modules/gauge/index.js deleted file mode 100644 index c5532400..00000000 --- a/res-pc/node_modules/gauge/index.js +++ /dev/null @@ -1,233 +0,0 @@ -'use strict' -var Plumbing = require('./plumbing.js') -var hasUnicode = require('has-unicode') -var hasColor = require('./has-color.js') -var onExit = require('signal-exit') -var defaultThemes = require('./themes') -var setInterval = require('./set-interval.js') -var process = require('./process.js') -var setImmediate = require('./set-immediate') - -module.exports = Gauge - -function callWith (obj, method) { - return function () { - return method.call(obj) - } -} - -function Gauge (arg1, arg2) { - var options, writeTo - if (arg1 && arg1.write) { - writeTo = arg1 - options = arg2 || {} - } else if (arg2 && arg2.write) { - writeTo = arg2 - options = arg1 || {} - } else { - writeTo = process.stderr - options = arg1 || arg2 || {} - } - - this._status = { - spun: 0, - section: '', - subsection: '' - } - this._paused = false // are we paused for back pressure? - this._disabled = true // are all progress bar updates disabled? - this._showing = false // do we WANT the progress bar on screen - this._onScreen = false // IS the progress bar on screen - this._needsRedraw = false // should we print something at next tick? - this._hideCursor = options.hideCursor == null ? true : options.hideCursor - this._fixedFramerate = options.fixedFramerate == null - ? !(/^v0\.8\./.test(process.version)) - : options.fixedFramerate - this._lastUpdateAt = null - this._updateInterval = options.updateInterval == null ? 50 : options.updateInterval - - this._themes = options.themes || defaultThemes - this._theme = options.theme - var theme = this._computeTheme(options.theme) - var template = options.template || [ - {type: 'progressbar', length: 20}, - {type: 'activityIndicator', kerning: 1, length: 1}, - {type: 'section', kerning: 1, default: ''}, - {type: 'subsection', kerning: 1, default: ''} - ] - this.setWriteTo(writeTo, options.tty) - var PlumbingClass = options.Plumbing || Plumbing - this._gauge = new PlumbingClass(theme, template, this.getWidth()) - - this._$$doRedraw = callWith(this, this._doRedraw) - this._$$handleSizeChange = callWith(this, this._handleSizeChange) - - this._cleanupOnExit = options.cleanupOnExit == null || options.cleanupOnExit - this._removeOnExit = null - - if (options.enabled || (options.enabled == null && this._tty && this._tty.isTTY)) { - this.enable() - } else { - this.disable() - } -} -Gauge.prototype = {} - -Gauge.prototype.isEnabled = function () { - return !this._disabled -} - -Gauge.prototype.setTemplate = function (template) { - this._gauge.setTemplate(template) - if (this._showing) this._requestRedraw() -} - -Gauge.prototype._computeTheme = function (theme) { - if (!theme) theme = {} - if (typeof theme === 'string') { - theme = this._themes.getTheme(theme) - } else if (theme && (Object.keys(theme).length === 0 || theme.hasUnicode != null || theme.hasColor != null)) { - var useUnicode = theme.hasUnicode == null ? hasUnicode() : theme.hasUnicode - var useColor = theme.hasColor == null ? hasColor : theme.hasColor - theme = this._themes.getDefault({hasUnicode: useUnicode, hasColor: useColor, platform: theme.platform}) - } - return theme -} - -Gauge.prototype.setThemeset = function (themes) { - this._themes = themes - this.setTheme(this._theme) -} - -Gauge.prototype.setTheme = function (theme) { - this._gauge.setTheme(this._computeTheme(theme)) - if (this._showing) this._requestRedraw() - this._theme = theme -} - -Gauge.prototype._requestRedraw = function () { - this._needsRedraw = true - if (!this._fixedFramerate) this._doRedraw() -} - -Gauge.prototype.getWidth = function () { - return ((this._tty && this._tty.columns) || 80) - 1 -} - -Gauge.prototype.setWriteTo = function (writeTo, tty) { - var enabled = !this._disabled - if (enabled) this.disable() - this._writeTo = writeTo - this._tty = tty || - (writeTo === process.stderr && process.stdout.isTTY && process.stdout) || - (writeTo.isTTY && writeTo) || - this._tty - if (this._gauge) this._gauge.setWidth(this.getWidth()) - if (enabled) this.enable() -} - -Gauge.prototype.enable = function () { - if (!this._disabled) return - this._disabled = false - if (this._tty) this._enableEvents() - if (this._showing) this.show() -} - -Gauge.prototype.disable = function () { - if (this._disabled) return - if (this._showing) { - this._lastUpdateAt = null - this._showing = false - this._doRedraw() - this._showing = true - } - this._disabled = true - if (this._tty) this._disableEvents() -} - -Gauge.prototype._enableEvents = function () { - if (this._cleanupOnExit) { - this._removeOnExit = onExit(callWith(this, this.disable)) - } - this._tty.on('resize', this._$$handleSizeChange) - if (this._fixedFramerate) { - this.redrawTracker = setInterval(this._$$doRedraw, this._updateInterval) - if (this.redrawTracker.unref) this.redrawTracker.unref() - } -} - -Gauge.prototype._disableEvents = function () { - this._tty.removeListener('resize', this._$$handleSizeChange) - if (this._fixedFramerate) clearInterval(this.redrawTracker) - if (this._removeOnExit) this._removeOnExit() -} - -Gauge.prototype.hide = function (cb) { - if (this._disabled) return cb && process.nextTick(cb) - if (!this._showing) return cb && process.nextTick(cb) - this._showing = false - this._doRedraw() - cb && setImmediate(cb) -} - -Gauge.prototype.show = function (section, completed) { - this._showing = true - if (typeof section === 'string') { - this._status.section = section - } else if (typeof section === 'object') { - var sectionKeys = Object.keys(section) - for (var ii = 0; ii < sectionKeys.length; ++ii) { - var key = sectionKeys[ii] - this._status[key] = section[key] - } - } - if (completed != null) this._status.completed = completed - if (this._disabled) return - this._requestRedraw() -} - -Gauge.prototype.pulse = function (subsection) { - this._status.subsection = subsection || '' - this._status.spun ++ - if (this._disabled) return - if (!this._showing) return - this._requestRedraw() -} - -Gauge.prototype._handleSizeChange = function () { - this._gauge.setWidth(this._tty.columns - 1) - this._requestRedraw() -} - -Gauge.prototype._doRedraw = function () { - if (this._disabled || this._paused) return - if (!this._fixedFramerate) { - var now = Date.now() - if (this._lastUpdateAt && now - this._lastUpdateAt < this._updateInterval) return - this._lastUpdateAt = now - } - if (!this._showing && this._onScreen) { - this._onScreen = false - var result = this._gauge.hide() - if (this._hideCursor) { - result += this._gauge.showCursor() - } - return this._writeTo.write(result) - } - if (!this._showing && !this._onScreen) return - if (this._showing && !this._onScreen) { - this._onScreen = true - this._needsRedraw = true - if (this._hideCursor) { - this._writeTo.write(this._gauge.hideCursor()) - } - } - if (!this._needsRedraw) return - if (!this._writeTo.write(this._gauge.show(this._status))) { - this._paused = true - this._writeTo.on('drain', callWith(this, function () { - this._paused = false - this._doRedraw() - })) - } -} diff --git a/res-pc/node_modules/gauge/package.json b/res-pc/node_modules/gauge/package.json deleted file mode 100644 index abf224f5..00000000 --- a/res-pc/node_modules/gauge/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "_from": "gauge@~2.7.3", - "_id": "gauge@2.7.4", - "_inBundle": false, - "_integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "_location": "/gauge", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "gauge@~2.7.3", - "name": "gauge", - "escapedName": "gauge", - "rawSpec": "~2.7.3", - "saveSpec": null, - "fetchSpec": "~2.7.3" - }, - "_requiredBy": [ - "/npmlog" - ], - "_resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "_shasum": "2c03405c7538c39d7eb37b317022e325fb018bf7", - "_spec": "gauge@~2.7.3", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/npmlog", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/gauge/issues" - }, - "bundleDependencies": false, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "deprecated": false, - "description": "A terminal based horizontal guage", - "devDependencies": { - "readable-stream": "^2.0.6", - "require-inject": "^1.4.0", - "standard": "^7.1.2", - "tap": "^5.7.2", - "through2": "^2.0.0" - }, - "files": [ - "base-theme.js", - "CHANGELOG.md", - "error.js", - "has-color.js", - "index.js", - "LICENSE", - "package.json", - "plumbing.js", - "process.js", - "progress-bar.js", - "README.md", - "render-template.js", - "set-immediate.js", - "set-interval.js", - "spin.js", - "template-item.js", - "theme-set.js", - "themes.js", - "wide-truncate.js" - ], - "homepage": "https://github.com/iarna/gauge", - "keywords": [ - "progressbar", - "progress", - "gauge" - ], - "license": "ISC", - "main": "index.js", - "name": "gauge", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/gauge.git" - }, - "scripts": { - "prepublish": "rm -f *~", - "test": "standard && tap test/*.js --coverage" - }, - "version": "2.7.4" -} diff --git a/res-pc/node_modules/gauge/plumbing.js b/res-pc/node_modules/gauge/plumbing.js deleted file mode 100644 index 1afb4af6..00000000 --- a/res-pc/node_modules/gauge/plumbing.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict' -var consoleControl = require('console-control-strings') -var renderTemplate = require('./render-template.js') -var validate = require('aproba') - -var Plumbing = module.exports = function (theme, template, width) { - if (!width) width = 80 - validate('OAN', [theme, template, width]) - this.showing = false - this.theme = theme - this.width = width - this.template = template -} -Plumbing.prototype = {} - -Plumbing.prototype.setTheme = function (theme) { - validate('O', [theme]) - this.theme = theme -} - -Plumbing.prototype.setTemplate = function (template) { - validate('A', [template]) - this.template = template -} - -Plumbing.prototype.setWidth = function (width) { - validate('N', [width]) - this.width = width -} - -Plumbing.prototype.hide = function () { - return consoleControl.gotoSOL() + consoleControl.eraseLine() -} - -Plumbing.prototype.hideCursor = consoleControl.hideCursor - -Plumbing.prototype.showCursor = consoleControl.showCursor - -Plumbing.prototype.show = function (status) { - var values = Object.create(this.theme) - for (var key in status) { - values[key] = status[key] - } - - return renderTemplate(this.width, this.template, values).trim() + - consoleControl.color('reset') + - consoleControl.eraseLine() + consoleControl.gotoSOL() -} diff --git a/res-pc/node_modules/gauge/process.js b/res-pc/node_modules/gauge/process.js deleted file mode 100644 index 05e85694..00000000 --- a/res-pc/node_modules/gauge/process.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict' -// this exists so we can replace it during testing -module.exports = process diff --git a/res-pc/node_modules/gauge/progress-bar.js b/res-pc/node_modules/gauge/progress-bar.js deleted file mode 100644 index 7f8dd68b..00000000 --- a/res-pc/node_modules/gauge/progress-bar.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' -var validate = require('aproba') -var renderTemplate = require('./render-template.js') -var wideTruncate = require('./wide-truncate') -var stringWidth = require('string-width') - -module.exports = function (theme, width, completed) { - validate('ONN', [theme, width, completed]) - if (completed < 0) completed = 0 - if (completed > 1) completed = 1 - if (width <= 0) return '' - var sofar = Math.round(width * completed) - var rest = width - sofar - var template = [ - {type: 'complete', value: repeat(theme.complete, sofar), length: sofar}, - {type: 'remaining', value: repeat(theme.remaining, rest), length: rest} - ] - return renderTemplate(width, template, theme) -} - -// lodash's way of repeating -function repeat (string, width) { - var result = '' - var n = width - do { - if (n % 2) { - result += string - } - n = Math.floor(n / 2) - /*eslint no-self-assign: 0*/ - string += string - } while (n && stringWidth(result) < width) - - return wideTruncate(result, width) -} diff --git a/res-pc/node_modules/gauge/render-template.js b/res-pc/node_modules/gauge/render-template.js deleted file mode 100644 index 3261bfbe..00000000 --- a/res-pc/node_modules/gauge/render-template.js +++ /dev/null @@ -1,181 +0,0 @@ -'use strict' -var align = require('wide-align') -var validate = require('aproba') -var objectAssign = require('object-assign') -var wideTruncate = require('./wide-truncate') -var error = require('./error') -var TemplateItem = require('./template-item') - -function renderValueWithValues (values) { - return function (item) { - return renderValue(item, values) - } -} - -var renderTemplate = module.exports = function (width, template, values) { - var items = prepareItems(width, template, values) - var rendered = items.map(renderValueWithValues(values)).join('') - return align.left(wideTruncate(rendered, width), width) -} - -function preType (item) { - var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1) - return 'pre' + cappedTypeName -} - -function postType (item) { - var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1) - return 'post' + cappedTypeName -} - -function hasPreOrPost (item, values) { - if (!item.type) return - return values[preType(item)] || values[postType(item)] -} - -function generatePreAndPost (baseItem, parentValues) { - var item = objectAssign({}, baseItem) - var values = Object.create(parentValues) - var template = [] - var pre = preType(item) - var post = postType(item) - if (values[pre]) { - template.push({value: values[pre]}) - values[pre] = null - } - item.minLength = null - item.length = null - item.maxLength = null - template.push(item) - values[item.type] = values[item.type] - if (values[post]) { - template.push({value: values[post]}) - values[post] = null - } - return function ($1, $2, length) { - return renderTemplate(length, template, values) - } -} - -function prepareItems (width, template, values) { - function cloneAndObjectify (item, index, arr) { - var cloned = new TemplateItem(item, width) - var type = cloned.type - if (cloned.value == null) { - if (!(type in values)) { - if (cloned.default == null) { - throw new error.MissingTemplateValue(cloned, values) - } else { - cloned.value = cloned.default - } - } else { - cloned.value = values[type] - } - } - if (cloned.value == null || cloned.value === '') return null - cloned.index = index - cloned.first = index === 0 - cloned.last = index === arr.length - 1 - if (hasPreOrPost(cloned, values)) cloned.value = generatePreAndPost(cloned, values) - return cloned - } - - var output = template.map(cloneAndObjectify).filter(function (item) { return item != null }) - - var outputLength = 0 - var remainingSpace = width - var variableCount = output.length - - function consumeSpace (length) { - if (length > remainingSpace) length = remainingSpace - outputLength += length - remainingSpace -= length - } - - function finishSizing (item, length) { - if (item.finished) throw new error.Internal('Tried to finish template item that was already finished') - if (length === Infinity) throw new error.Internal('Length of template item cannot be infinity') - if (length != null) item.length = length - item.minLength = null - item.maxLength = null - --variableCount - item.finished = true - if (item.length == null) item.length = item.getBaseLength() - if (item.length == null) throw new error.Internal('Finished template items must have a length') - consumeSpace(item.getLength()) - } - - output.forEach(function (item) { - if (!item.kerning) return - var prevPadRight = item.first ? 0 : output[item.index - 1].padRight - if (!item.first && prevPadRight < item.kerning) item.padLeft = item.kerning - prevPadRight - if (!item.last) item.padRight = item.kerning - }) - - // Finish any that have a fixed (literal or intuited) length - output.forEach(function (item) { - if (item.getBaseLength() == null) return - finishSizing(item) - }) - - var resized = 0 - var resizing - var hunkSize - do { - resizing = false - hunkSize = Math.round(remainingSpace / variableCount) - output.forEach(function (item) { - if (item.finished) return - if (!item.maxLength) return - if (item.getMaxLength() < hunkSize) { - finishSizing(item, item.maxLength) - resizing = true - } - }) - } while (resizing && resized++ < output.length) - if (resizing) throw new error.Internal('Resize loop iterated too many times while determining maxLength') - - resized = 0 - do { - resizing = false - hunkSize = Math.round(remainingSpace / variableCount) - output.forEach(function (item) { - if (item.finished) return - if (!item.minLength) return - if (item.getMinLength() >= hunkSize) { - finishSizing(item, item.minLength) - resizing = true - } - }) - } while (resizing && resized++ < output.length) - if (resizing) throw new error.Internal('Resize loop iterated too many times while determining minLength') - - hunkSize = Math.round(remainingSpace / variableCount) - output.forEach(function (item) { - if (item.finished) return - finishSizing(item, hunkSize) - }) - - return output -} - -function renderFunction (item, values, length) { - validate('OON', arguments) - if (item.type) { - return item.value(values, values[item.type + 'Theme'] || {}, length) - } else { - return item.value(values, {}, length) - } -} - -function renderValue (item, values) { - var length = item.getBaseLength() - var value = typeof item.value === 'function' ? renderFunction(item, values, length) : item.value - if (value == null || value === '') return '' - var alignWith = align[item.align] || align.left - var leftPadding = item.padLeft ? align.left('', item.padLeft) : '' - var rightPadding = item.padRight ? align.right('', item.padRight) : '' - var truncated = wideTruncate(String(value), length) - var aligned = alignWith(truncated, length) - return leftPadding + aligned + rightPadding -} diff --git a/res-pc/node_modules/gauge/set-immediate.js b/res-pc/node_modules/gauge/set-immediate.js deleted file mode 100644 index 6650a485..00000000 --- a/res-pc/node_modules/gauge/set-immediate.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' -var process = require('./process') -try { - module.exports = setImmediate -} catch (ex) { - module.exports = process.nextTick -} diff --git a/res-pc/node_modules/gauge/set-interval.js b/res-pc/node_modules/gauge/set-interval.js deleted file mode 100644 index 57619879..00000000 --- a/res-pc/node_modules/gauge/set-interval.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict' -// this exists so we can replace it during testing -module.exports = setInterval diff --git a/res-pc/node_modules/gauge/spin.js b/res-pc/node_modules/gauge/spin.js deleted file mode 100644 index 34142ee3..00000000 --- a/res-pc/node_modules/gauge/spin.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -module.exports = function spin (spinstr, spun) { - return spinstr[spun % spinstr.length] -} diff --git a/res-pc/node_modules/gauge/template-item.js b/res-pc/node_modules/gauge/template-item.js deleted file mode 100644 index e46f447c..00000000 --- a/res-pc/node_modules/gauge/template-item.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict' -var stringWidth = require('string-width') - -module.exports = TemplateItem - -function isPercent (num) { - if (typeof num !== 'string') return false - return num.slice(-1) === '%' -} - -function percent (num) { - return Number(num.slice(0, -1)) / 100 -} - -function TemplateItem (values, outputLength) { - this.overallOutputLength = outputLength - this.finished = false - this.type = null - this.value = null - this.length = null - this.maxLength = null - this.minLength = null - this.kerning = null - this.align = 'left' - this.padLeft = 0 - this.padRight = 0 - this.index = null - this.first = null - this.last = null - if (typeof values === 'string') { - this.value = values - } else { - for (var prop in values) this[prop] = values[prop] - } - // Realize percents - if (isPercent(this.length)) { - this.length = Math.round(this.overallOutputLength * percent(this.length)) - } - if (isPercent(this.minLength)) { - this.minLength = Math.round(this.overallOutputLength * percent(this.minLength)) - } - if (isPercent(this.maxLength)) { - this.maxLength = Math.round(this.overallOutputLength * percent(this.maxLength)) - } - return this -} - -TemplateItem.prototype = {} - -TemplateItem.prototype.getBaseLength = function () { - var length = this.length - if (length == null && typeof this.value === 'string' && this.maxLength == null && this.minLength == null) { - length = stringWidth(this.value) - } - return length -} - -TemplateItem.prototype.getLength = function () { - var length = this.getBaseLength() - if (length == null) return null - return length + this.padLeft + this.padRight -} - -TemplateItem.prototype.getMaxLength = function () { - if (this.maxLength == null) return null - return this.maxLength + this.padLeft + this.padRight -} - -TemplateItem.prototype.getMinLength = function () { - if (this.minLength == null) return null - return this.minLength + this.padLeft + this.padRight -} - diff --git a/res-pc/node_modules/gauge/theme-set.js b/res-pc/node_modules/gauge/theme-set.js deleted file mode 100644 index 68971d5d..00000000 --- a/res-pc/node_modules/gauge/theme-set.js +++ /dev/null @@ -1,115 +0,0 @@ -'use strict' -var objectAssign = require('object-assign') - -module.exports = function () { - return ThemeSetProto.newThemeSet() -} - -var ThemeSetProto = {} - -ThemeSetProto.baseTheme = require('./base-theme.js') - -ThemeSetProto.newTheme = function (parent, theme) { - if (!theme) { - theme = parent - parent = this.baseTheme - } - return objectAssign({}, parent, theme) -} - -ThemeSetProto.getThemeNames = function () { - return Object.keys(this.themes) -} - -ThemeSetProto.addTheme = function (name, parent, theme) { - this.themes[name] = this.newTheme(parent, theme) -} - -ThemeSetProto.addToAllThemes = function (theme) { - var themes = this.themes - Object.keys(themes).forEach(function (name) { - objectAssign(themes[name], theme) - }) - objectAssign(this.baseTheme, theme) -} - -ThemeSetProto.getTheme = function (name) { - if (!this.themes[name]) throw this.newMissingThemeError(name) - return this.themes[name] -} - -ThemeSetProto.setDefault = function (opts, name) { - if (name == null) { - name = opts - opts = {} - } - var platform = opts.platform == null ? 'fallback' : opts.platform - var hasUnicode = !!opts.hasUnicode - var hasColor = !!opts.hasColor - if (!this.defaults[platform]) this.defaults[platform] = {true: {}, false: {}} - this.defaults[platform][hasUnicode][hasColor] = name -} - -ThemeSetProto.getDefault = function (opts) { - if (!opts) opts = {} - var platformName = opts.platform || process.platform - var platform = this.defaults[platformName] || this.defaults.fallback - var hasUnicode = !!opts.hasUnicode - var hasColor = !!opts.hasColor - if (!platform) throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor) - if (!platform[hasUnicode][hasColor]) { - if (hasUnicode && hasColor && platform[!hasUnicode][hasColor]) { - hasUnicode = false - } else if (hasUnicode && hasColor && platform[hasUnicode][!hasColor]) { - hasColor = false - } else if (hasUnicode && hasColor && platform[!hasUnicode][!hasColor]) { - hasUnicode = false - hasColor = false - } else if (hasUnicode && !hasColor && platform[!hasUnicode][hasColor]) { - hasUnicode = false - } else if (!hasUnicode && hasColor && platform[hasUnicode][!hasColor]) { - hasColor = false - } else if (platform === this.defaults.fallback) { - throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor) - } - } - if (platform[hasUnicode][hasColor]) { - return this.getTheme(platform[hasUnicode][hasColor]) - } else { - return this.getDefault(objectAssign({}, opts, {platform: 'fallback'})) - } -} - -ThemeSetProto.newMissingThemeError = function newMissingThemeError (name) { - var err = new Error('Could not find a gauge theme named "' + name + '"') - Error.captureStackTrace.call(err, newMissingThemeError) - err.theme = name - err.code = 'EMISSINGTHEME' - return err -} - -ThemeSetProto.newMissingDefaultThemeError = function newMissingDefaultThemeError (platformName, hasUnicode, hasColor) { - var err = new Error( - 'Could not find a gauge theme for your platform/unicode/color use combo:\n' + - ' platform = ' + platformName + '\n' + - ' hasUnicode = ' + hasUnicode + '\n' + - ' hasColor = ' + hasColor) - Error.captureStackTrace.call(err, newMissingDefaultThemeError) - err.platform = platformName - err.hasUnicode = hasUnicode - err.hasColor = hasColor - err.code = 'EMISSINGTHEME' - return err -} - -ThemeSetProto.newThemeSet = function () { - var themeset = function (opts) { - return themeset.getDefault(opts) - } - return objectAssign(themeset, ThemeSetProto, { - themes: objectAssign({}, this.themes), - baseTheme: objectAssign({}, this.baseTheme), - defaults: JSON.parse(JSON.stringify(this.defaults || {})) - }) -} - diff --git a/res-pc/node_modules/gauge/themes.js b/res-pc/node_modules/gauge/themes.js deleted file mode 100644 index eb5a4f5b..00000000 --- a/res-pc/node_modules/gauge/themes.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict' -var consoleControl = require('console-control-strings') -var ThemeSet = require('./theme-set.js') - -var themes = module.exports = new ThemeSet() - -themes.addTheme('ASCII', { - preProgressbar: '[', - postProgressbar: ']', - progressbarTheme: { - complete: '#', - remaining: '.' - }, - activityIndicatorTheme: '-\\|/', - preSubsection: '>' -}) - -themes.addTheme('colorASCII', themes.getTheme('ASCII'), { - progressbarTheme: { - preComplete: consoleControl.color('inverse'), - complete: ' ', - postComplete: consoleControl.color('stopInverse'), - preRemaining: consoleControl.color('brightBlack'), - remaining: '.', - postRemaining: consoleControl.color('reset') - } -}) - -themes.addTheme('brailleSpinner', { - preProgressbar: '⸨', - postProgressbar: '⸩', - progressbarTheme: { - complete: '░', - remaining: '⠂' - }, - activityIndicatorTheme: '⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏', - preSubsection: '>' -}) - -themes.addTheme('colorBrailleSpinner', themes.getTheme('brailleSpinner'), { - progressbarTheme: { - preComplete: consoleControl.color('inverse'), - complete: ' ', - postComplete: consoleControl.color('stopInverse'), - preRemaining: consoleControl.color('brightBlack'), - remaining: '░', - postRemaining: consoleControl.color('reset') - } -}) - -themes.setDefault({}, 'ASCII') -themes.setDefault({hasColor: true}, 'colorASCII') -themes.setDefault({platform: 'darwin', hasUnicode: true}, 'brailleSpinner') -themes.setDefault({platform: 'darwin', hasUnicode: true, hasColor: true}, 'colorBrailleSpinner') diff --git a/res-pc/node_modules/gauge/wide-truncate.js b/res-pc/node_modules/gauge/wide-truncate.js deleted file mode 100644 index c531bc49..00000000 --- a/res-pc/node_modules/gauge/wide-truncate.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict' -var stringWidth = require('string-width') -var stripAnsi = require('strip-ansi') - -module.exports = wideTruncate - -function wideTruncate (str, target) { - if (stringWidth(str) === 0) return str - if (target <= 0) return '' - if (stringWidth(str) <= target) return str - - // We compute the number of bytes of ansi sequences here and add - // that to our initial truncation to ensure that we don't slice one - // that we want to keep in half. - var noAnsi = stripAnsi(str) - var ansiSize = str.length + noAnsi.length - var truncated = str.slice(0, target + ansiSize) - - // we have to shrink the result to account for our ansi sequence buffer - // (if an ansi sequence was truncated) and double width characters. - while (stringWidth(truncated) > target) { - truncated = truncated.slice(0, -1) - } - return truncated -} diff --git a/res-pc/node_modules/github-from-package/.travis.yml b/res-pc/node_modules/github-from-package/.travis.yml deleted file mode 100644 index 895dbd36..00000000 --- a/res-pc/node_modules/github-from-package/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.6 - - 0.8 diff --git a/res-pc/node_modules/github-from-package/LICENSE b/res-pc/node_modules/github-from-package/LICENSE deleted file mode 100644 index ee27ba4b..00000000 --- a/res-pc/node_modules/github-from-package/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -This software is released under the MIT license: - -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/res-pc/node_modules/github-from-package/example/package.json b/res-pc/node_modules/github-from-package/example/package.json deleted file mode 100644 index 03494f48..00000000 --- a/res-pc/node_modules/github-from-package/example/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "type" : "git", - "url": "git@github.com:substack/beep-boop.git" - } -} diff --git a/res-pc/node_modules/github-from-package/example/url.js b/res-pc/node_modules/github-from-package/example/url.js deleted file mode 100644 index 138fb8a6..00000000 --- a/res-pc/node_modules/github-from-package/example/url.js +++ /dev/null @@ -1,3 +0,0 @@ -var github = require('../'); -var url = github(require('./package.json')); -console.log(url); diff --git a/res-pc/node_modules/github-from-package/index.js b/res-pc/node_modules/github-from-package/index.js deleted file mode 100644 index 3d1d657b..00000000 --- a/res-pc/node_modules/github-from-package/index.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = function (pkg) { - var m; - if (m = match(JSON.stringify(pkg.repository))) { - return m; - } - else if (m = match(JSON.stringify(pkg))) { - return m; - } - return undefined; -}; - -function match (str) { - var m = /\bgithub.com[:\/]([^\/"]+)\/([^\/"]+)/.exec(str); - if (m) { - return 'https://github.com/' + m[1] + '/' + m[2].replace(/\.git$/, ''); - } -} diff --git a/res-pc/node_modules/github-from-package/package.json b/res-pc/node_modules/github-from-package/package.json deleted file mode 100644 index cacafc7d..00000000 --- a/res-pc/node_modules/github-from-package/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "_from": "github-from-package@0.0.0", - "_id": "github-from-package@0.0.0", - "_inBundle": false, - "_integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", - "_location": "/github-from-package", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "github-from-package@0.0.0", - "name": "github-from-package", - "escapedName": "github-from-package", - "rawSpec": "0.0.0", - "saveSpec": null, - "fetchSpec": "0.0.0" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "_shasum": "97fb5d96bfde8973313f20e8288ef9a167fa64ce", - "_spec": "github-from-package@0.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/prebuild-install", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/github-from-package/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "return the github url from a package.json file", - "devDependencies": { - "tap": "~0.3.0", - "tape": "~0.1.5" - }, - "homepage": "https://github.com/substack/github-from-package", - "keywords": [ - "github", - "package.json", - "npm", - "repository" - ], - "license": "MIT", - "main": "index.js", - "name": "github-from-package", - "repository": { - "type": "git", - "url": "git://github.com/substack/github-from-package.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "0.0.0" -} diff --git a/res-pc/node_modules/github-from-package/readme.markdown b/res-pc/node_modules/github-from-package/readme.markdown deleted file mode 100644 index 5ba397da..00000000 --- a/res-pc/node_modules/github-from-package/readme.markdown +++ /dev/null @@ -1,53 +0,0 @@ -# github-from-package - -return the github url from a package.json file - -[![build status](https://secure.travis-ci.org/substack/github-from-package.png)](http://travis-ci.org/substack/github-from-package) - -# example - -For the `./package.json` file: - -``` json -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "type" : "git", - "url": "git@github.com:substack/beep-boop.git" - } -} -``` - -``` js -var github = require('github-from-package'); -var url = github(require('./package.json')); -console.log(url); -``` - -``` -https://github.com/substack/beep-boop -``` - -# methods - -``` js -var github = require('github-from-package') -``` - -## var url = github(pkg) - -Return the most likely github url from the package.json contents `pkg`. If no -github url can be determined, return `undefined`. - -# install - -With [npm](https://npmjs.org) do: - -``` -npm install github-from-package -``` - -# license - -MIT diff --git a/res-pc/node_modules/github-from-package/test/a.json b/res-pc/node_modules/github-from-package/test/a.json deleted file mode 100644 index 03494f48..00000000 --- a/res-pc/node_modules/github-from-package/test/a.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "type" : "git", - "url": "git@github.com:substack/beep-boop.git" - } -} diff --git a/res-pc/node_modules/github-from-package/test/b.json b/res-pc/node_modules/github-from-package/test/b.json deleted file mode 100644 index 02093257..00000000 --- a/res-pc/node_modules/github-from-package/test/b.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : "git@github.com:substack/beep-boop.git" -} diff --git a/res-pc/node_modules/github-from-package/test/c.json b/res-pc/node_modules/github-from-package/test/c.json deleted file mode 100644 index 65f6ddad..00000000 --- a/res-pc/node_modules/github-from-package/test/c.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : "https://github.com/substack/beep-boop.git" -} diff --git a/res-pc/node_modules/github-from-package/test/d.json b/res-pc/node_modules/github-from-package/test/d.json deleted file mode 100644 index c61f3cd3..00000000 --- a/res-pc/node_modules/github-from-package/test/d.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "url": "https://github.com/substack/beep-boop" - } -} diff --git a/res-pc/node_modules/github-from-package/test/e.json b/res-pc/node_modules/github-from-package/test/e.json deleted file mode 100644 index 770b4384..00000000 --- a/res-pc/node_modules/github-from-package/test/e.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "homepage": "https://github.com/substack/beep-boop/issues" -} diff --git a/res-pc/node_modules/github-from-package/test/url.js b/res-pc/node_modules/github-from-package/test/url.js deleted file mode 100644 index d5a0a667..00000000 --- a/res-pc/node_modules/github-from-package/test/url.js +++ /dev/null @@ -1,19 +0,0 @@ -var test = require('tape'); -var github = require('../'); -var packages = { - a : require('./a.json'), - b : require('./b.json'), - c : require('./c.json'), - d : require('./d.json'), - e : require('./e.json') -}; - -test(function (t) { - t.plan(5); - var url = 'https://github.com/substack/beep-boop'; - t.equal(url, github(packages.a), 'a.json comparison'); - t.equal(url, github(packages.b), 'b.json comparison'); - t.equal(url, github(packages.c), 'c.json comparison'); - t.equal(url, github(packages.d), 'd.json comparison'); - t.equal(url, github(packages.e), 'e.json comparison'); -}); diff --git a/res-pc/node_modules/graceful-fs/LICENSE b/res-pc/node_modules/graceful-fs/LICENSE deleted file mode 100644 index 9d2c8036..00000000 --- a/res-pc/node_modules/graceful-fs/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/res-pc/node_modules/graceful-fs/README.md b/res-pc/node_modules/graceful-fs/README.md deleted file mode 100644 index 5273a50a..00000000 --- a/res-pc/node_modules/graceful-fs/README.md +++ /dev/null @@ -1,133 +0,0 @@ -# graceful-fs - -graceful-fs functions as a drop-in replacement for the fs module, -making various improvements. - -The improvements are meant to normalize behavior across different -platforms and environments, and to make filesystem access more -resilient to errors. - -## Improvements over [fs module](https://nodejs.org/api/fs.html) - -* Queues up `open` and `readdir` calls, and retries them once - something closes if there is an EMFILE error from too many file - descriptors. -* fixes `lchmod` for Node versions prior to 0.6.2. -* implements `fs.lutimes` if possible. Otherwise it becomes a noop. -* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or - `lchown` if the user isn't root. -* makes `lchmod` and `lchown` become noops, if not available. -* retries reading a file if `read` results in EAGAIN error. - -On Windows, it retries renaming a file for up to one second if `EACCESS` -or `EPERM` error occurs, likely because antivirus software has locked -the directory. - -## USAGE - -```javascript -// use just like fs -var fs = require('graceful-fs') - -// now go and do stuff with it... -fs.readFileSync('some-file-or-whatever') -``` - -## Global Patching - -If you want to patch the global fs module (or any other fs-like -module) you can do this: - -```javascript -// Make sure to read the caveat below. -var realFs = require('fs') -var gracefulFs = require('graceful-fs') -gracefulFs.gracefulify(realFs) -``` - -This should only ever be done at the top-level application layer, in -order to delay on EMFILE errors from any fs-using dependencies. You -should **not** do this in a library, because it can cause unexpected -delays in other parts of the program. - -## Changes - -This module is fairly stable at this point, and used by a lot of -things. That being said, because it implements a subtle behavior -change in a core part of the node API, even modest changes can be -extremely breaking, and the versioning is thus biased towards -bumping the major when in doubt. - -The main change between major versions has been switching between -providing a fully-patched `fs` module vs monkey-patching the node core -builtin, and the approach by which a non-monkey-patched `fs` was -created. - -The goal is to trade `EMFILE` errors for slower fs operations. So, if -you try to open a zillion files, rather than crashing, `open` -operations will be queued up and wait for something else to `close`. - -There are advantages to each approach. Monkey-patching the fs means -that no `EMFILE` errors can possibly occur anywhere in your -application, because everything is using the same core `fs` module, -which is patched. However, it can also obviously cause undesirable -side-effects, especially if the module is loaded multiple times. - -Implementing a separate-but-identical patched `fs` module is more -surgical (and doesn't run the risk of patching multiple times), but -also imposes the challenge of keeping in sync with the core module. - -The current approach loads the `fs` module, and then creates a -lookalike object that has all the same methods, except a few that are -patched. It is safe to use in all versions of Node from 0.8 through -7.0. - -### v4 - -* Do not monkey-patch the fs module. This module may now be used as a - drop-in dep, and users can opt into monkey-patching the fs builtin - if their app requires it. - -### v3 - -* Monkey-patch fs, because the eval approach no longer works on recent - node. -* fixed possible type-error throw if rename fails on windows -* verify that we *never* get EMFILE errors -* Ignore ENOSYS from chmod/chown -* clarify that graceful-fs must be used as a drop-in - -### v2.1.0 - -* Use eval rather than monkey-patching fs. -* readdir: Always sort the results -* win32: requeue a file if error has an OK status - -### v2.0 - -* A return to monkey patching -* wrap process.cwd - -### v1.1 - -* wrap readFile -* Wrap fs.writeFile. -* readdir protection -* Don't clobber the fs builtin -* Handle fs.read EAGAIN errors by trying again -* Expose the curOpen counter -* No-op lchown/lchmod if not implemented -* fs.rename patch only for win32 -* Patch fs.rename to handle AV software on Windows -* Close #4 Chown should not fail on einval or eperm if non-root -* Fix isaacs/fstream#1 Only wrap fs one time -* Fix #3 Start at 1024 max files, then back off on EMFILE -* lutimes that doens't blow up on Linux -* A full on-rewrite using a queue instead of just swallowing the EMFILE error -* Wrap Read/Write streams as well - -### 1.0 - -* Update engines for node 0.6 -* Be lstat-graceful on Windows -* first diff --git a/res-pc/node_modules/graceful-fs/fs.js b/res-pc/node_modules/graceful-fs/fs.js deleted file mode 100644 index 8ad4a383..00000000 --- a/res-pc/node_modules/graceful-fs/fs.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict' - -var fs = require('fs') - -module.exports = clone(fs) - -function clone (obj) { - if (obj === null || typeof obj !== 'object') - return obj - - if (obj instanceof Object) - var copy = { __proto__: obj.__proto__ } - else - var copy = Object.create(null) - - Object.getOwnPropertyNames(obj).forEach(function (key) { - Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) - }) - - return copy -} diff --git a/res-pc/node_modules/graceful-fs/graceful-fs.js b/res-pc/node_modules/graceful-fs/graceful-fs.js deleted file mode 100644 index 33b30d2e..00000000 --- a/res-pc/node_modules/graceful-fs/graceful-fs.js +++ /dev/null @@ -1,262 +0,0 @@ -var fs = require('fs') -var polyfills = require('./polyfills.js') -var legacy = require('./legacy-streams.js') -var queue = [] - -var util = require('util') - -function noop () {} - -var debug = noop -if (util.debuglog) - debug = util.debuglog('gfs4') -else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) - debug = function() { - var m = util.format.apply(util, arguments) - m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ') - console.error(m) - } - -if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { - process.on('exit', function() { - debug(queue) - require('assert').equal(queue.length, 0) - }) -} - -module.exports = patch(require('./fs.js')) -if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH) { - module.exports = patch(fs) -} - -// Always patch fs.close/closeSync, because we want to -// retry() whenever a close happens *anywhere* in the program. -// This is essential when multiple graceful-fs instances are -// in play at the same time. -module.exports.close = -fs.close = (function (fs$close) { return function (fd, cb) { - return fs$close.call(fs, fd, function (err) { - if (!err) - retry() - - if (typeof cb === 'function') - cb.apply(this, arguments) - }) -}})(fs.close) - -module.exports.closeSync = -fs.closeSync = (function (fs$closeSync) { return function (fd) { - // Note that graceful-fs also retries when fs.closeSync() fails. - // Looks like a bug to me, although it's probably a harmless one. - var rval = fs$closeSync.apply(fs, arguments) - retry() - return rval -}})(fs.closeSync) - -function patch (fs) { - // Everything that references the open() function needs to be in here - polyfills(fs) - fs.gracefulify = patch - fs.FileReadStream = ReadStream; // Legacy name. - fs.FileWriteStream = WriteStream; // Legacy name. - fs.createReadStream = createReadStream - fs.createWriteStream = createWriteStream - var fs$readFile = fs.readFile - fs.readFile = readFile - function readFile (path, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$readFile(path, options, cb) - - function go$readFile (path, options, cb) { - return fs$readFile(path, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readFile, [path, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - var fs$writeFile = fs.writeFile - fs.writeFile = writeFile - function writeFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$writeFile(path, data, options, cb) - - function go$writeFile (path, data, options, cb) { - return fs$writeFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$writeFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - var fs$appendFile = fs.appendFile - if (fs$appendFile) - fs.appendFile = appendFile - function appendFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$appendFile(path, data, options, cb) - - function go$appendFile (path, data, options, cb) { - return fs$appendFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$appendFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - var fs$readdir = fs.readdir - fs.readdir = readdir - function readdir (path, options, cb) { - var args = [path] - if (typeof options !== 'function') { - args.push(options) - } else { - cb = options - } - args.push(go$readdir$cb) - - return go$readdir(args) - - function go$readdir$cb (err, files) { - if (files && files.sort) - files.sort() - - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readdir, [args]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - } - } - - function go$readdir (args) { - return fs$readdir.apply(fs, args) - } - - if (process.version.substr(0, 4) === 'v0.8') { - var legStreams = legacy(fs) - ReadStream = legStreams.ReadStream - WriteStream = legStreams.WriteStream - } - - var fs$ReadStream = fs.ReadStream - ReadStream.prototype = Object.create(fs$ReadStream.prototype) - ReadStream.prototype.open = ReadStream$open - - var fs$WriteStream = fs.WriteStream - WriteStream.prototype = Object.create(fs$WriteStream.prototype) - WriteStream.prototype.open = WriteStream$open - - fs.ReadStream = ReadStream - fs.WriteStream = WriteStream - - function ReadStream (path, options) { - if (this instanceof ReadStream) - return fs$ReadStream.apply(this, arguments), this - else - return ReadStream.apply(Object.create(ReadStream.prototype), arguments) - } - - function ReadStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - if (that.autoClose) - that.destroy() - - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - that.read() - } - }) - } - - function WriteStream (path, options) { - if (this instanceof WriteStream) - return fs$WriteStream.apply(this, arguments), this - else - return WriteStream.apply(Object.create(WriteStream.prototype), arguments) - } - - function WriteStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - that.destroy() - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - } - }) - } - - function createReadStream (path, options) { - return new ReadStream(path, options) - } - - function createWriteStream (path, options) { - return new WriteStream(path, options) - } - - var fs$open = fs.open - fs.open = open - function open (path, flags, mode, cb) { - if (typeof mode === 'function') - cb = mode, mode = null - - return go$open(path, flags, mode, cb) - - function go$open (path, flags, mode, cb) { - return fs$open(path, flags, mode, function (err, fd) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$open, [path, flags, mode, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - return fs -} - -function enqueue (elem) { - debug('ENQUEUE', elem[0].name, elem[1]) - queue.push(elem) -} - -function retry () { - var elem = queue.shift() - if (elem) { - debug('RETRY', elem[0].name, elem[1]) - elem[0].apply(null, elem[1]) - } -} diff --git a/res-pc/node_modules/graceful-fs/legacy-streams.js b/res-pc/node_modules/graceful-fs/legacy-streams.js deleted file mode 100644 index d617b50f..00000000 --- a/res-pc/node_modules/graceful-fs/legacy-streams.js +++ /dev/null @@ -1,118 +0,0 @@ -var Stream = require('stream').Stream - -module.exports = legacy - -function legacy (fs) { - return { - ReadStream: ReadStream, - WriteStream: WriteStream - } - - function ReadStream (path, options) { - if (!(this instanceof ReadStream)) return new ReadStream(path, options); - - Stream.call(this); - - var self = this; - - this.path = path; - this.fd = null; - this.readable = true; - this.paused = false; - - this.flags = 'r'; - this.mode = 438; /*=0666*/ - this.bufferSize = 64 * 1024; - - options = options || {}; - - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - - if (this.encoding) this.setEncoding(this.encoding); - - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.end === undefined) { - this.end = Infinity; - } else if ('number' !== typeof this.end) { - throw TypeError('end must be a Number'); - } - - if (this.start > this.end) { - throw new Error('start must be <= end'); - } - - this.pos = this.start; - } - - if (this.fd !== null) { - process.nextTick(function() { - self._read(); - }); - return; - } - - fs.open(this.path, this.flags, this.mode, function (err, fd) { - if (err) { - self.emit('error', err); - self.readable = false; - return; - } - - self.fd = fd; - self.emit('open', fd); - self._read(); - }) - } - - function WriteStream (path, options) { - if (!(this instanceof WriteStream)) return new WriteStream(path, options); - - Stream.call(this); - - this.path = path; - this.fd = null; - this.writable = true; - - this.flags = 'w'; - this.encoding = 'binary'; - this.mode = 438; /*=0666*/ - this.bytesWritten = 0; - - options = options || {}; - - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.start < 0) { - throw new Error('start must be >= zero'); - } - - this.pos = this.start; - } - - this.busy = false; - this._queue = []; - - if (this.fd === null) { - this._open = fs.open; - this._queue.push([this._open, this.path, this.flags, this.mode, undefined]); - this.flush(); - } - } -} diff --git a/res-pc/node_modules/graceful-fs/package.json b/res-pc/node_modules/graceful-fs/package.json deleted file mode 100644 index d957feab..00000000 --- a/res-pc/node_modules/graceful-fs/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "_from": "graceful-fs@^4.1.2", - "_id": "graceful-fs@4.1.11", - "_inBundle": false, - "_integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "_location": "/graceful-fs", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "graceful-fs@^4.1.2", - "name": "graceful-fs", - "escapedName": "graceful-fs", - "rawSpec": "^4.1.2", - "saveSpec": null, - "fetchSpec": "^4.1.2" - }, - "_requiredBy": [ - "/avrgirl-arduino" - ], - "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "_shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658", - "_spec": "graceful-fs@^4.1.2", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/avrgirl-arduino", - "bugs": { - "url": "https://github.com/isaacs/node-graceful-fs/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A drop-in replacement for fs, making various improvements.", - "devDependencies": { - "mkdirp": "^0.5.0", - "rimraf": "^2.2.8", - "tap": "^5.4.2" - }, - "directories": { - "test": "test" - }, - "engines": { - "node": ">=0.4.0" - }, - "files": [ - "fs.js", - "graceful-fs.js", - "legacy-streams.js", - "polyfills.js" - ], - "homepage": "https://github.com/isaacs/node-graceful-fs#readme", - "keywords": [ - "fs", - "module", - "reading", - "retry", - "retries", - "queue", - "error", - "errors", - "handling", - "EMFILE", - "EAGAIN", - "EINVAL", - "EPERM", - "EACCESS" - ], - "license": "ISC", - "main": "graceful-fs.js", - "name": "graceful-fs", - "repository": { - "type": "git", - "url": "git+https://github.com/isaacs/node-graceful-fs.git" - }, - "scripts": { - "test": "node test.js | tap -" - }, - "version": "4.1.11" -} diff --git a/res-pc/node_modules/graceful-fs/polyfills.js b/res-pc/node_modules/graceful-fs/polyfills.js deleted file mode 100644 index 4c6aca78..00000000 --- a/res-pc/node_modules/graceful-fs/polyfills.js +++ /dev/null @@ -1,330 +0,0 @@ -var fs = require('./fs.js') -var constants = require('constants') - -var origCwd = process.cwd -var cwd = null - -var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform - -process.cwd = function() { - if (!cwd) - cwd = origCwd.call(process) - return cwd -} -try { - process.cwd() -} catch (er) {} - -var chdir = process.chdir -process.chdir = function(d) { - cwd = null - chdir.call(process, d) -} - -module.exports = patch - -function patch (fs) { - // (re-)implement some things that are known busted or missing. - - // lchmod, broken prior to 0.6.2 - // back-port the fix here. - if (constants.hasOwnProperty('O_SYMLINK') && - process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - patchLchmod(fs) - } - - // lutimes implementation, or no-op - if (!fs.lutimes) { - patchLutimes(fs) - } - - // https://github.com/isaacs/node-graceful-fs/issues/4 - // Chown should not fail on einval or eperm if non-root. - // It should not fail on enosys ever, as this just indicates - // that a fs doesn't support the intended operation. - - fs.chown = chownFix(fs.chown) - fs.fchown = chownFix(fs.fchown) - fs.lchown = chownFix(fs.lchown) - - fs.chmod = chmodFix(fs.chmod) - fs.fchmod = chmodFix(fs.fchmod) - fs.lchmod = chmodFix(fs.lchmod) - - fs.chownSync = chownFixSync(fs.chownSync) - fs.fchownSync = chownFixSync(fs.fchownSync) - fs.lchownSync = chownFixSync(fs.lchownSync) - - fs.chmodSync = chmodFixSync(fs.chmodSync) - fs.fchmodSync = chmodFixSync(fs.fchmodSync) - fs.lchmodSync = chmodFixSync(fs.lchmodSync) - - fs.stat = statFix(fs.stat) - fs.fstat = statFix(fs.fstat) - fs.lstat = statFix(fs.lstat) - - fs.statSync = statFixSync(fs.statSync) - fs.fstatSync = statFixSync(fs.fstatSync) - fs.lstatSync = statFixSync(fs.lstatSync) - - // if lchmod/lchown do not exist, then make them no-ops - if (!fs.lchmod) { - fs.lchmod = function (path, mode, cb) { - if (cb) process.nextTick(cb) - } - fs.lchmodSync = function () {} - } - if (!fs.lchown) { - fs.lchown = function (path, uid, gid, cb) { - if (cb) process.nextTick(cb) - } - fs.lchownSync = function () {} - } - - // on Windows, A/V software can lock the directory, causing this - // to fail with an EACCES or EPERM if the directory contains newly - // created files. Try again on failure, for up to 60 seconds. - - // Set the timeout this long because some Windows Anti-Virus, such as Parity - // bit9, may lock files for up to a minute, causing npm package install - // failures. Also, take care to yield the scheduler. Windows scheduling gives - // CPU to a busy looping process, which can cause the program causing the lock - // contention to be starved of CPU by node, so the contention doesn't resolve. - if (platform === "win32") { - fs.rename = (function (fs$rename) { return function (from, to, cb) { - var start = Date.now() - var backoff = 0; - fs$rename(from, to, function CB (er) { - if (er - && (er.code === "EACCES" || er.code === "EPERM") - && Date.now() - start < 60000) { - setTimeout(function() { - fs.stat(to, function (stater, st) { - if (stater && stater.code === "ENOENT") - fs$rename(from, to, CB); - else - cb(er) - }) - }, backoff) - if (backoff < 100) - backoff += 10; - return; - } - if (cb) cb(er) - }) - }})(fs.rename) - } - - // if read() returns EAGAIN, then just try it again. - fs.read = (function (fs$read) { return function (fd, buffer, offset, length, position, callback_) { - var callback - if (callback_ && typeof callback_ === 'function') { - var eagCounter = 0 - callback = function (er, _, __) { - if (er && er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - } - callback_.apply(this, arguments) - } - } - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - }})(fs.read) - - fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) { - var eagCounter = 0 - while (true) { - try { - return fs$readSync.call(fs, fd, buffer, offset, length, position) - } catch (er) { - if (er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - continue - } - throw er - } - } - }})(fs.readSync) -} - -function patchLchmod (fs) { - fs.lchmod = function (path, mode, callback) { - fs.open( path - , constants.O_WRONLY | constants.O_SYMLINK - , mode - , function (err, fd) { - if (err) { - if (callback) callback(err) - return - } - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - fs.fchmod(fd, mode, function (err) { - fs.close(fd, function(err2) { - if (callback) callback(err || err2) - }) - }) - }) - } - - fs.lchmodSync = function (path, mode) { - var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) - - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - var threw = true - var ret - try { - ret = fs.fchmodSync(fd, mode) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} - } else { - fs.closeSync(fd) - } - } - return ret - } -} - -function patchLutimes (fs) { - if (constants.hasOwnProperty("O_SYMLINK")) { - fs.lutimes = function (path, at, mt, cb) { - fs.open(path, constants.O_SYMLINK, function (er, fd) { - if (er) { - if (cb) cb(er) - return - } - fs.futimes(fd, at, mt, function (er) { - fs.close(fd, function (er2) { - if (cb) cb(er || er2) - }) - }) - }) - } - - fs.lutimesSync = function (path, at, mt) { - var fd = fs.openSync(path, constants.O_SYMLINK) - var ret - var threw = true - try { - ret = fs.futimesSync(fd, at, mt) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} - } else { - fs.closeSync(fd) - } - } - return ret - } - - } else { - fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) } - fs.lutimesSync = function () {} - } -} - -function chmodFix (orig) { - if (!orig) return orig - return function (target, mode, cb) { - return orig.call(fs, target, mode, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) - } -} - -function chmodFixSync (orig) { - if (!orig) return orig - return function (target, mode) { - try { - return orig.call(fs, target, mode) - } catch (er) { - if (!chownErOk(er)) throw er - } - } -} - - -function chownFix (orig) { - if (!orig) return orig - return function (target, uid, gid, cb) { - return orig.call(fs, target, uid, gid, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) - } -} - -function chownFixSync (orig) { - if (!orig) return orig - return function (target, uid, gid) { - try { - return orig.call(fs, target, uid, gid) - } catch (er) { - if (!chownErOk(er)) throw er - } - } -} - - -function statFix (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target, cb) { - return orig.call(fs, target, function (er, stats) { - if (!stats) return cb.apply(this, arguments) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - if (cb) cb.apply(this, arguments) - }) - } -} - -function statFixSync (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target) { - var stats = orig.call(fs, target) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - return stats; - } -} - -// ENOSYS means that the fs doesn't support the op. Just ignore -// that, because it doesn't matter. -// -// if there's no getuid, or if getuid() is something other -// than 0, and the error is EINVAL or EPERM, then just ignore -// it. -// -// This specific case is a silent failure in cp, install, tar, -// and most other unix tools that manage permissions. -// -// When running as root, or if other types of errors are -// encountered, then it's strict. -function chownErOk (er) { - if (!er) - return true - - if (er.code === "ENOSYS") - return true - - var nonroot = !process.getuid || process.getuid() !== 0 - if (nonroot) { - if (er.code === "EINVAL" || er.code === "EPERM") - return true - } - - return false -} diff --git a/res-pc/node_modules/has-unicode/LICENSE b/res-pc/node_modules/has-unicode/LICENSE deleted file mode 100644 index d42e25e9..00000000 --- a/res-pc/node_modules/has-unicode/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2014, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - diff --git a/res-pc/node_modules/has-unicode/README.md b/res-pc/node_modules/has-unicode/README.md deleted file mode 100644 index 5a03e599..00000000 --- a/res-pc/node_modules/has-unicode/README.md +++ /dev/null @@ -1,43 +0,0 @@ -has-unicode -=========== - -Try to guess if your terminal supports unicode - -```javascript -var hasUnicode = require("has-unicode") - -if (hasUnicode()) { - // the terminal probably has unicode support -} -``` -```javascript -var hasUnicode = require("has-unicode").tryHarder -hasUnicode(function(unicodeSupported) { - if (unicodeSupported) { - // the terminal probably has unicode support - } -}) -``` - -## Detecting Unicode - -What we actually detect is UTF-8 support, as that's what Node itself supports. -If you have a UTF-16 locale then you won't be detected as unicode capable. - -### Windows - -Since at least Windows 7, `cmd` and `powershell` have been unicode capable, -but unfortunately even then it's not guaranteed. In many localizations it -still uses legacy code pages and there's no facility short of running -programs or linking C++ that will let us detect this. As such, we -report any Windows installation as NOT unicode capable, and recommend -that you encourage your users to override this via config. - -### Unix Like Operating Systems - -We look at the environment variables `LC_ALL`, `LC_CTYPE`, and `LANG` in -that order. For `LC_ALL` and `LANG`, it looks for `.UTF-8` in the value. -For `LC_CTYPE` it looks to see if the value is `UTF-8`. This is sufficient -for most POSIX systems. While locale data can be put in `/etc/locale.conf` -as well, AFAIK it's always copied into the environment. - diff --git a/res-pc/node_modules/has-unicode/index.js b/res-pc/node_modules/has-unicode/index.js deleted file mode 100644 index 9b0fe445..00000000 --- a/res-pc/node_modules/has-unicode/index.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict" -var os = require("os") - -var hasUnicode = module.exports = function () { - // Recent Win32 platforms (>XP) CAN support unicode in the console but - // don't have to, and in non-english locales often use traditional local - // code pages. There's no way, short of windows system calls or execing - // the chcp command line program to figure this out. As such, we default - // this to false and encourage your users to override it via config if - // appropriate. - if (os.type() == "Windows_NT") { return false } - - var isUTF8 = /UTF-?8$/i - var ctype = process.env.LC_ALL || process.env.LC_CTYPE || process.env.LANG - return isUTF8.test(ctype) -} diff --git a/res-pc/node_modules/has-unicode/package.json b/res-pc/node_modules/has-unicode/package.json deleted file mode 100644 index ef70ba1c..00000000 --- a/res-pc/node_modules/has-unicode/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "_from": "has-unicode@^2.0.0", - "_id": "has-unicode@2.0.1", - "_inBundle": false, - "_integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "_location": "/has-unicode", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "has-unicode@^2.0.0", - "name": "has-unicode", - "escapedName": "has-unicode", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "_shasum": "e0e6fe6a28cf51138855e086d1691e771de2a8b9", - "_spec": "has-unicode@^2.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/gauge", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/has-unicode/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Try to guess if your terminal supports unicode", - "devDependencies": { - "require-inject": "^1.3.0", - "tap": "^2.3.1" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/iarna/has-unicode", - "keywords": [ - "unicode", - "terminal" - ], - "license": "ISC", - "main": "index.js", - "name": "has-unicode", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/has-unicode.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "2.0.1" -} diff --git a/res-pc/node_modules/inherits/LICENSE b/res-pc/node_modules/inherits/LICENSE deleted file mode 100644 index dea3013d..00000000 --- a/res-pc/node_modules/inherits/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - diff --git a/res-pc/node_modules/inherits/README.md b/res-pc/node_modules/inherits/README.md deleted file mode 100644 index b1c56658..00000000 --- a/res-pc/node_modules/inherits/README.md +++ /dev/null @@ -1,42 +0,0 @@ -Browser-friendly inheritance fully compatible with standard node.js -[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). - -This package exports standard `inherits` from node.js `util` module in -node environment, but also provides alternative browser-friendly -implementation through [browser -field](https://gist.github.com/shtylman/4339901). Alternative -implementation is a literal copy of standard one located in standalone -module to avoid requiring of `util`. It also has a shim for old -browsers with no `Object.create` support. - -While keeping you sure you are using standard `inherits` -implementation in node.js environment, it allows bundlers such as -[browserify](https://github.com/substack/node-browserify) to not -include full `util` package to your client code if all you need is -just `inherits` function. It worth, because browser shim for `util` -package is large and `inherits` is often the single function you need -from it. - -It's recommended to use this package instead of -`require('util').inherits` for any code that has chances to be used -not only in node.js but in browser too. - -## usage - -```js -var inherits = require('inherits'); -// then use exactly as the standard one -``` - -## note on version ~1.0 - -Version ~1.0 had completely different motivation and is not compatible -neither with 2.0 nor with standard node.js `inherits`. - -If you are using version ~1.0 and planning to switch to ~2.0, be -careful: - -* new version uses `super_` instead of `super` for referencing - superclass -* new version overwrites current prototype while old one preserves any - existing fields on it diff --git a/res-pc/node_modules/inherits/inherits.js b/res-pc/node_modules/inherits/inherits.js deleted file mode 100644 index 3b94763a..00000000 --- a/res-pc/node_modules/inherits/inherits.js +++ /dev/null @@ -1,7 +0,0 @@ -try { - var util = require('util'); - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - module.exports = require('./inherits_browser.js'); -} diff --git a/res-pc/node_modules/inherits/inherits_browser.js b/res-pc/node_modules/inherits/inherits_browser.js deleted file mode 100644 index c1e78a75..00000000 --- a/res-pc/node_modules/inherits/inherits_browser.js +++ /dev/null @@ -1,23 +0,0 @@ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } -} diff --git a/res-pc/node_modules/inherits/package.json b/res-pc/node_modules/inherits/package.json deleted file mode 100644 index a933027a..00000000 --- a/res-pc/node_modules/inherits/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "_from": "inherits@~2.0.3", - "_id": "inherits@2.0.3", - "_inBundle": false, - "_integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "_location": "/inherits", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "inherits@~2.0.3", - "name": "inherits", - "escapedName": "inherits", - "rawSpec": "~2.0.3", - "saveSpec": null, - "fetchSpec": "~2.0.3" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "_shasum": "633c2c83e3da42a502f52466022480f4208261de", - "_spec": "inherits@~2.0.3", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/readable-stream", - "browser": "./inherits_browser.js", - "bugs": { - "url": "https://github.com/isaacs/inherits/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", - "devDependencies": { - "tap": "^7.1.0" - }, - "files": [ - "inherits.js", - "inherits_browser.js" - ], - "homepage": "https://github.com/isaacs/inherits#readme", - "keywords": [ - "inheritance", - "class", - "klass", - "oop", - "object-oriented", - "inherits", - "browser", - "browserify" - ], - "license": "ISC", - "main": "./inherits.js", - "name": "inherits", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/inherits.git" - }, - "scripts": { - "test": "node test" - }, - "version": "2.0.3" -} diff --git a/res-pc/node_modules/ini/LICENSE b/res-pc/node_modules/ini/LICENSE deleted file mode 100644 index 19129e31..00000000 --- a/res-pc/node_modules/ini/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/res-pc/node_modules/ini/README.md b/res-pc/node_modules/ini/README.md deleted file mode 100644 index 33df2582..00000000 --- a/res-pc/node_modules/ini/README.md +++ /dev/null @@ -1,102 +0,0 @@ -An ini format parser and serializer for node. - -Sections are treated as nested objects. Items before the first -heading are saved on the object directly. - -## Usage - -Consider an ini-file `config.ini` that looks like this: - - ; this comment is being ignored - scope = global - - [database] - user = dbuser - password = dbpassword - database = use_this_database - - [paths.default] - datadir = /var/lib/data - array[] = first value - array[] = second value - array[] = third value - -You can read, manipulate and write the ini-file like so: - - var fs = require('fs') - , ini = require('ini') - - var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8')) - - config.scope = 'local' - config.database.database = 'use_another_database' - config.paths.default.tmpdir = '/tmp' - delete config.paths.default.datadir - config.paths.default.array.push('fourth value') - - fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' })) - -This will result in a file called `config_modified.ini` being written -to the filesystem with the following content: - - [section] - scope=local - [section.database] - user=dbuser - password=dbpassword - database=use_another_database - [section.paths.default] - tmpdir=/tmp - array[]=first value - array[]=second value - array[]=third value - array[]=fourth value - - -## API - -### decode(inistring) - -Decode the ini-style formatted `inistring` into a nested object. - -### parse(inistring) - -Alias for `decode(inistring)` - -### encode(object, [options]) - -Encode the object `object` into an ini-style formatted string. If the -optional parameter `section` is given, then all top-level properties -of the object are put into this section and the `section`-string is -prepended to all sub-sections, see the usage example above. - -The `options` object may contain the following: - -* `section` A string which will be the first `section` in the encoded - ini data. Defaults to none. -* `whitespace` Boolean to specify whether to put whitespace around the - `=` character. By default, whitespace is omitted, to be friendly to - some persnickety old parsers that don't tolerate it well. But some - find that it's more human-readable and pretty with the whitespace. - -For backwards compatibility reasons, if a `string` options is passed -in, then it is assumed to be the `section` value. - -### stringify(object, [options]) - -Alias for `encode(object, [options])` - -### safe(val) - -Escapes the string `val` such that it is safe to be used as a key or -value in an ini-file. Basically escapes quotes. For example - - ini.safe('"unsafe string"') - -would result in - - "\"unsafe string\"" - -### unsafe(val) - -Unescapes the string `val` diff --git a/res-pc/node_modules/ini/ini.js b/res-pc/node_modules/ini/ini.js deleted file mode 100644 index 590195dd..00000000 --- a/res-pc/node_modules/ini/ini.js +++ /dev/null @@ -1,194 +0,0 @@ -exports.parse = exports.decode = decode - -exports.stringify = exports.encode = encode - -exports.safe = safe -exports.unsafe = unsafe - -var eol = typeof process !== 'undefined' && - process.platform === 'win32' ? '\r\n' : '\n' - -function encode (obj, opt) { - var children = [] - var out = '' - - if (typeof opt === 'string') { - opt = { - section: opt, - whitespace: false - } - } else { - opt = opt || {} - opt.whitespace = opt.whitespace === true - } - - var separator = opt.whitespace ? ' = ' : '=' - - Object.keys(obj).forEach(function (k, _, __) { - var val = obj[k] - if (val && Array.isArray(val)) { - val.forEach(function (item) { - out += safe(k + '[]') + separator + safe(item) + '\n' - }) - } else if (val && typeof val === 'object') { - children.push(k) - } else { - out += safe(k) + separator + safe(val) + eol - } - }) - - if (opt.section && out.length) { - out = '[' + safe(opt.section) + ']' + eol + out - } - - children.forEach(function (k, _, __) { - var nk = dotSplit(k).join('\\.') - var section = (opt.section ? opt.section + '.' : '') + nk - var child = encode(obj[k], { - section: section, - whitespace: opt.whitespace - }) - if (out.length && child.length) { - out += eol - } - out += child - }) - - return out -} - -function dotSplit (str) { - return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002') - .replace(/\\\./g, '\u0001') - .split(/\./).map(function (part) { - return part.replace(/\1/g, '\\.') - .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001') - }) -} - -function decode (str) { - var out = {} - var p = out - var section = null - // section |key = value - var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i - var lines = str.split(/[\r\n]+/g) - - lines.forEach(function (line, _, __) { - if (!line || line.match(/^\s*[;#]/)) return - var match = line.match(re) - if (!match) return - if (match[1] !== undefined) { - section = unsafe(match[1]) - p = out[section] = out[section] || {} - return - } - var key = unsafe(match[2]) - var value = match[3] ? unsafe(match[4]) : true - switch (value) { - case 'true': - case 'false': - case 'null': value = JSON.parse(value) - } - - // Convert keys with '[]' suffix to an array - if (key.length > 2 && key.slice(-2) === '[]') { - key = key.substring(0, key.length - 2) - if (!p[key]) { - p[key] = [] - } else if (!Array.isArray(p[key])) { - p[key] = [p[key]] - } - } - - // safeguard against resetting a previously defined - // array by accidentally forgetting the brackets - if (Array.isArray(p[key])) { - p[key].push(value) - } else { - p[key] = value - } - }) - - // {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}} - // use a filter to return the keys that have to be deleted. - Object.keys(out).filter(function (k, _, __) { - if (!out[k] || - typeof out[k] !== 'object' || - Array.isArray(out[k])) { - return false - } - // see if the parent section is also an object. - // if so, add it to that, and mark this one for deletion - var parts = dotSplit(k) - var p = out - var l = parts.pop() - var nl = l.replace(/\\\./g, '.') - parts.forEach(function (part, _, __) { - if (!p[part] || typeof p[part] !== 'object') p[part] = {} - p = p[part] - }) - if (p === out && nl === l) { - return false - } - p[nl] = out[k] - return true - }).forEach(function (del, _, __) { - delete out[del] - }) - - return out -} - -function isQuoted (val) { - return (val.charAt(0) === '"' && val.slice(-1) === '"') || - (val.charAt(0) === "'" && val.slice(-1) === "'") -} - -function safe (val) { - return (typeof val !== 'string' || - val.match(/[=\r\n]/) || - val.match(/^\[/) || - (val.length > 1 && - isQuoted(val)) || - val !== val.trim()) - ? JSON.stringify(val) - : val.replace(/;/g, '\\;').replace(/#/g, '\\#') -} - -function unsafe (val, doUnesc) { - val = (val || '').trim() - if (isQuoted(val)) { - // remove the single quotes before calling JSON.parse - if (val.charAt(0) === "'") { - val = val.substr(1, val.length - 2) - } - try { val = JSON.parse(val) } catch (_) {} - } else { - // walk the val to find the first not-escaped ; character - var esc = false - var unesc = '' - for (var i = 0, l = val.length; i < l; i++) { - var c = val.charAt(i) - if (esc) { - if ('\\;#'.indexOf(c) !== -1) { - unesc += c - } else { - unesc += '\\' + c - } - esc = false - } else if (';#'.indexOf(c) !== -1) { - break - } else if (c === '\\') { - esc = true - } else { - unesc += c - } - } - if (esc) { - unesc += '\\' - } - return unesc.trim() - } - return val -} diff --git a/res-pc/node_modules/ini/package.json b/res-pc/node_modules/ini/package.json deleted file mode 100644 index 00651b08..00000000 --- a/res-pc/node_modules/ini/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_from": "ini@~1.3.0", - "_id": "ini@1.3.5", - "_inBundle": false, - "_integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "_location": "/ini", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "ini@~1.3.0", - "name": "ini", - "escapedName": "ini", - "rawSpec": "~1.3.0", - "saveSpec": null, - "fetchSpec": "~1.3.0" - }, - "_requiredBy": [ - "/rc" - ], - "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "_shasum": "eee25f56db1c9ec6085e0c22778083f596abf927", - "_spec": "ini@~1.3.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/rc", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/ini/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "An ini encoder/decoder for node", - "devDependencies": { - "standard": "^10.0.3", - "tap": "^10.7.3 || 11" - }, - "engines": { - "node": "*" - }, - "files": [ - "ini.js" - ], - "homepage": "https://github.com/isaacs/ini#readme", - "license": "ISC", - "main": "ini.js", - "name": "ini", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/ini.git" - }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "pretest": "standard ini.js", - "preversion": "npm test", - "test": "tap test/*.js --100 -J" - }, - "version": "1.3.5" -} diff --git a/res-pc/node_modules/intel-hex/LICENSE.md b/res-pc/node_modules/intel-hex/LICENSE.md deleted file mode 100644 index 5588921d..00000000 --- a/res-pc/node_modules/intel-hex/LICENSE.md +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013. Blake C. Miner. -http://blakeminer.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. \ No newline at end of file diff --git a/res-pc/node_modules/intel-hex/README.md b/res-pc/node_modules/intel-hex/README.md deleted file mode 100644 index b85638d6..00000000 --- a/res-pc/node_modules/intel-hex/README.md +++ /dev/null @@ -1,4 +0,0 @@ -intel-hex.js -============ - -A parser/writer for Intel HEX file format. diff --git a/res-pc/node_modules/intel-hex/index.js b/res-pc/node_modules/intel-hex/index.js deleted file mode 100644 index b07d51dd..00000000 --- a/res-pc/node_modules/intel-hex/index.js +++ /dev/null @@ -1,134 +0,0 @@ -//Intel Hex record types -const DATA = 0, - END_OF_FILE = 1, - EXT_SEGMENT_ADDR = 2, - START_SEGMENT_ADDR = 3, - EXT_LINEAR_ADDR = 4, - START_LINEAR_ADDR = 5; - -const EMPTY_VALUE = 0xFF; - -/* intel_hex.parse(data) - `data` - Intel Hex file (string in ASCII format or Buffer Object) - `bufferSize` - the size of the Buffer containing the data (optional) - - returns an Object with the following properties: - - data - data as a Buffer Object, padded with 0xFF - where data is empty. - - startSegmentAddress - the address provided by the last - start segment address record; null, if not given - - startLinearAddress - the address provided by the last - start linear address record; null, if not given - Special thanks to: http://en.wikipedia.org/wiki/Intel_HEX -*/ -exports.parse = function parseIntelHex(data, bufferSize) { - if(data instanceof Buffer) - data = data.toString("ascii"); - //Initialization - var buf = new Buffer(bufferSize || 8192), - bufLength = 0, //Length of data in the buffer - highAddress = 0, //upper address - startSegmentAddress = null, - startLinearAddress = null, - lineNum = 0, //Line number in the Intel Hex string - pos = 0; //Current position in the Intel Hex string - const SMALLEST_LINE = 11; - while(pos + SMALLEST_LINE <= data.length) - { - //Parse an entire line - if(data.charAt(pos++) != ":") - throw new Error("Line " + (lineNum+1) + - " does not start with a colon (:)."); - else - lineNum++; - //Number of bytes (hex digit pairs) in the data field - var dataLength = parseInt(data.substr(pos, 2), 16); - pos += 2; - //Get 16-bit address (big-endian) - var lowAddress = parseInt(data.substr(pos, 4), 16); - pos += 4; - //Record type - var recordType = parseInt(data.substr(pos, 2), 16); - pos += 2; - //Data field (hex-encoded string) - var dataField = data.substr(pos, dataLength * 2), - dataFieldBuf = new Buffer(dataField, "hex"); - pos += dataLength * 2; - //Checksum - var checksum = parseInt(data.substr(pos, 2), 16); - pos += 2; - //Validate checksum - var calcChecksum = (dataLength + (lowAddress >> 8) + - lowAddress + recordType) & 0xFF; - for(var i = 0; i < dataLength; i++) - calcChecksum = (calcChecksum + dataFieldBuf[i]) & 0xFF; - calcChecksum = (0x100 - calcChecksum) & 0xFF; - if(checksum != calcChecksum) - throw new Error("Invalid checksum on line " + lineNum + - ": got " + checksum + ", but expected " + calcChecksum); - //Parse the record based on its recordType - switch(recordType) - { - case DATA: - var absoluteAddress = highAddress + lowAddress; - //Expand buf, if necessary - if(absoluteAddress + dataLength >= buf.length) - { - var tmp = new Buffer((absoluteAddress + dataLength) * 2); - buf.copy(tmp, 0, 0, bufLength); - buf = tmp; - } - //Write over skipped bytes with EMPTY_VALUE - if(absoluteAddress > bufLength) - buf.fill(EMPTY_VALUE, bufLength, absoluteAddress); - //Write the dataFieldBuf to buf - dataFieldBuf.copy(buf, absoluteAddress); - bufLength = Math.max(bufLength, absoluteAddress + dataLength); - break; - case END_OF_FILE: - if(dataLength != 0) - throw new Error("Invalid EOF record on line " + - lineNum + "."); - return { - "data": buf.slice(0, bufLength), - "startSegmentAddress": startSegmentAddress, - "startLinearAddress": startLinearAddress - }; - break; - case EXT_SEGMENT_ADDR: - if(dataLength != 2 || lowAddress != 0) - throw new Error("Invalid extended segment address record on line " + - lineNum + "."); - highAddress = parseInt(dataField, 16) << 4; - break; - case START_SEGMENT_ADDR: - if(dataLength != 4 || lowAddress != 0) - throw new Error("Invalid start segment address record on line " + - lineNum + "."); - startSegmentAddress = parseInt(dataField, 16); - break; - case EXT_LINEAR_ADDR: - if(dataLength != 2 || lowAddress != 0) - throw new Error("Invalid extended linear address record on line " + - lineNum + "."); - highAddress = parseInt(dataField, 16) << 16; - break; - case START_LINEAR_ADDR: - if(dataLength != 4 || lowAddress != 0) - throw new Error("Invalid start linear address record on line " + - lineNum + "."); - startLinearAddress = parseInt(dataField, 16); - break; - default: - throw new Error("Invalid record type (" + recordType + - ") on line " + lineNum); - break; - } - //Advance to the next line - if(data.charAt(pos) == "\r") - pos++; - if(data.charAt(pos) == "\n") - pos++; - } - throw new Error("Unexpected end of input: missing or invalid EOF record."); -}; \ No newline at end of file diff --git a/res-pc/node_modules/intel-hex/package.json b/res-pc/node_modules/intel-hex/package.json deleted file mode 100644 index cc7e65ac..00000000 --- a/res-pc/node_modules/intel-hex/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "_from": "intel-hex@^0.1.1", - "_id": "intel-hex@0.1.1", - "_inBundle": false, - "_integrity": "sha1-glRF26vauNeYjG39tHDfu7Gf1JQ=", - "_location": "/intel-hex", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "intel-hex@^0.1.1", - "name": "intel-hex", - "escapedName": "intel-hex", - "rawSpec": "^0.1.1", - "saveSpec": null, - "fetchSpec": "^0.1.1" - }, - "_requiredBy": [ - "/avrgirl-arduino", - "/chip.avr.avr109" - ], - "_resolved": "https://registry.npmjs.org/intel-hex/-/intel-hex-0.1.1.tgz", - "_shasum": "825445dbabdab8d7988c6dfdb470dfbbb19fd494", - "_spec": "intel-hex@^0.1.1", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/avrgirl-arduino", - "author": { - "name": "Blake Miner", - "email": "miner.blake@gmail.com" - }, - "bugs": { - "url": "https://github.com/bminer/intel-hex.js/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A JavaScript parser/writer for Intel HEX file format.", - "homepage": "https://github.com/bminer/intel-hex.js#readme", - "keywords": [ - "intel", - "hex", - "parser", - "reader", - "writer" - ], - "license": "MIT", - "main": "index.js", - "name": "intel-hex", - "repository": { - "type": "git", - "url": "git+https://github.com/bminer/intel-hex.js.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "0.1.1" -} diff --git a/res-pc/node_modules/is-fullwidth-code-point/index.js b/res-pc/node_modules/is-fullwidth-code-point/index.js deleted file mode 100644 index a7d3e385..00000000 --- a/res-pc/node_modules/is-fullwidth-code-point/index.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; -var numberIsNan = require('number-is-nan'); - -module.exports = function (x) { - if (numberIsNan(x)) { - return false; - } - - // https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1369 - - // code points are derived from: - // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt - if (x >= 0x1100 && ( - x <= 0x115f || // Hangul Jamo - 0x2329 === x || // LEFT-POINTING ANGLE BRACKET - 0x232a === x || // RIGHT-POINTING ANGLE BRACKET - // CJK Radicals Supplement .. Enclosed CJK Letters and Months - (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) || - // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - 0x3250 <= x && x <= 0x4dbf || - // CJK Unified Ideographs .. Yi Radicals - 0x4e00 <= x && x <= 0xa4c6 || - // Hangul Jamo Extended-A - 0xa960 <= x && x <= 0xa97c || - // Hangul Syllables - 0xac00 <= x && x <= 0xd7a3 || - // CJK Compatibility Ideographs - 0xf900 <= x && x <= 0xfaff || - // Vertical Forms - 0xfe10 <= x && x <= 0xfe19 || - // CJK Compatibility Forms .. Small Form Variants - 0xfe30 <= x && x <= 0xfe6b || - // Halfwidth and Fullwidth Forms - 0xff01 <= x && x <= 0xff60 || - 0xffe0 <= x && x <= 0xffe6 || - // Kana Supplement - 0x1b000 <= x && x <= 0x1b001 || - // Enclosed Ideographic Supplement - 0x1f200 <= x && x <= 0x1f251 || - // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - 0x20000 <= x && x <= 0x3fffd)) { - return true; - } - - return false; -} diff --git a/res-pc/node_modules/is-fullwidth-code-point/license b/res-pc/node_modules/is-fullwidth-code-point/license deleted file mode 100644 index 654d0bfe..00000000 --- a/res-pc/node_modules/is-fullwidth-code-point/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/res-pc/node_modules/is-fullwidth-code-point/package.json b/res-pc/node_modules/is-fullwidth-code-point/package.json deleted file mode 100644 index 09c15abf..00000000 --- a/res-pc/node_modules/is-fullwidth-code-point/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "_from": "is-fullwidth-code-point@^1.0.0", - "_id": "is-fullwidth-code-point@1.0.0", - "_inBundle": false, - "_integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "_location": "/is-fullwidth-code-point", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "is-fullwidth-code-point@^1.0.0", - "name": "is-fullwidth-code-point", - "escapedName": "is-fullwidth-code-point", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/string-width" - ], - "_resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "_shasum": "ef9e31386f031a7f0d643af82fde50c457ef00cb", - "_spec": "is-fullwidth-code-point@^1.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/string-width", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/is-fullwidth-code-point/issues" - }, - "bundleDependencies": false, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "deprecated": false, - "description": "Check if the character represented by a given Unicode code point is fullwidth", - "devDependencies": { - "ava": "0.0.4", - "code-point-at": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/sindresorhus/is-fullwidth-code-point#readme", - "keywords": [ - "fullwidth", - "full-width", - "full", - "width", - "unicode", - "character", - "char", - "string", - "str", - "codepoint", - "code", - "point", - "is", - "detect", - "check" - ], - "license": "MIT", - "name": "is-fullwidth-code-point", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/is-fullwidth-code-point.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.0.0" -} diff --git a/res-pc/node_modules/is-fullwidth-code-point/readme.md b/res-pc/node_modules/is-fullwidth-code-point/readme.md deleted file mode 100644 index 4936464b..00000000 --- a/res-pc/node_modules/is-fullwidth-code-point/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# is-fullwidth-code-point [![Build Status](https://travis-ci.org/sindresorhus/is-fullwidth-code-point.svg?branch=master)](https://travis-ci.org/sindresorhus/is-fullwidth-code-point) - -> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) - - -## Install - -``` -$ npm install --save is-fullwidth-code-point -``` - - -## Usage - -```js -var isFullwidthCodePoint = require('is-fullwidth-code-point'); - -isFullwidthCodePoint('谢'.codePointAt()); -//=> true - -isFullwidthCodePoint('a'.codePointAt()); -//=> false -``` - - -## API - -### isFullwidthCodePoint(input) - -#### input - -Type: `number` - -[Code point](https://en.wikipedia.org/wiki/Code_point) of a character. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/res-pc/node_modules/isarray/.npmignore b/res-pc/node_modules/isarray/.npmignore deleted file mode 100644 index 3c3629e6..00000000 --- a/res-pc/node_modules/isarray/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/res-pc/node_modules/isarray/.travis.yml b/res-pc/node_modules/isarray/.travis.yml deleted file mode 100644 index cc4dba29..00000000 --- a/res-pc/node_modules/isarray/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/res-pc/node_modules/isarray/Makefile b/res-pc/node_modules/isarray/Makefile deleted file mode 100644 index 787d56e1..00000000 --- a/res-pc/node_modules/isarray/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -test: - @node_modules/.bin/tape test.js - -.PHONY: test - diff --git a/res-pc/node_modules/isarray/README.md b/res-pc/node_modules/isarray/README.md deleted file mode 100644 index 16d2c59c..00000000 --- a/res-pc/node_modules/isarray/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) - -[![browser support](https://ci.testling.com/juliangruber/isarray.png) -](https://ci.testling.com/juliangruber/isarray) - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.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/res-pc/node_modules/isarray/component.json b/res-pc/node_modules/isarray/component.json deleted file mode 100644 index 9e31b683..00000000 --- a/res-pc/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/res-pc/node_modules/isarray/index.js b/res-pc/node_modules/isarray/index.js deleted file mode 100644 index a57f6349..00000000 --- a/res-pc/node_modules/isarray/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; diff --git a/res-pc/node_modules/isarray/package.json b/res-pc/node_modules/isarray/package.json deleted file mode 100644 index 6bee439d..00000000 --- a/res-pc/node_modules/isarray/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "_from": "isarray@~1.0.0", - "_id": "isarray@1.0.0", - "_inBundle": false, - "_integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "_location": "/isarray", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "isarray@~1.0.0", - "name": "isarray", - "escapedName": "isarray", - "rawSpec": "~1.0.0", - "saveSpec": null, - "fetchSpec": "~1.0.0" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "_shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "_spec": "isarray@~1.0.0", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/readable-stream", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Array#isArray for older browsers", - "devDependencies": { - "tape": "~2.13.4" - }, - "homepage": "https://github.com/juliangruber/isarray", - "keywords": [ - "browser", - "isarray", - "array" - ], - "license": "MIT", - "main": "index.js", - "name": "isarray", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "scripts": { - "test": "tape test.js" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/8..latest", - "firefox/17..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", - "android-browser/4.2..latest" - ] - }, - "version": "1.0.0" -} diff --git a/res-pc/node_modules/isarray/test.js b/res-pc/node_modules/isarray/test.js deleted file mode 100644 index e0c3444d..00000000 --- a/res-pc/node_modules/isarray/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var isArray = require('./'); -var test = require('tape'); - -test('is array', function(t){ - t.ok(isArray([])); - t.notOk(isArray({})); - t.notOk(isArray(null)); - t.notOk(isArray(false)); - - var obj = {}; - obj[0] = true; - t.notOk(isArray(obj)); - - var arr = []; - arr.foo = 'bar'; - t.ok(isArray(arr)); - - t.end(); -}); - diff --git a/res-pc/node_modules/isval/LICENSE b/res-pc/node_modules/isval/LICENSE deleted file mode 100644 index 937eb5f3..00000000 --- a/res-pc/node_modules/isval/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Christopher Turner - -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/res-pc/node_modules/isval/README.md b/res-pc/node_modules/isval/README.md deleted file mode 100644 index 7d6e84b8..00000000 --- a/res-pc/node_modules/isval/README.md +++ /dev/null @@ -1,99 +0,0 @@ -# isval - -isval is a helper module that validates any given value. It overcomes common JavaScript issues with type checking, like `NaN` and `null` values. - -[![Build Status](https://travis-ci.org/tur-nr/node-isval.svg?branch=master)](https://travis-ci.org/tur-nr/node-isval) - -### Example - -```js -var isval = require('isval'); -var string = 'I am a string'; - -assert.ok(isval(string, 'string')); -``` - -## Installation - -### Node - -To install isval in a Node application use npm. - -``` -$ npm install isval -``` - -### Browser - -No tests available for the browser but you may try using it via [webpack](https://github.com/webpack/webpack). - -``` -$ webpack index.js isval.js -``` - -## Test - -To run tests use npm. - -``` -$ npm install -$ npm test -``` - -## Documentation - -### Basic Usage - -The following types are available: - -* `'string'` -* `'number'` -* `'boolean'` -* `'function'` -* `'object'` -* `'array'` -* `'regex'` -* `'regexp'` -* `'date'` -* `'null'` -* `'undefined'` -* `'NaN'` -* `'arguments'` - -Types can also be literal values: - -* `String` -* `Number` -* `Boolean` -* `Object` -* `null` -* `undefined` -* `NaN` - -### Instance Of - -Passing a constructor function will check if the value is an `instanceof` of that "Class". - -```js -var buffer = new ArrayBuffer(); -isval(buffer, ArrayBuffer); -``` - -### Truthy Values - -Passing no type will check for truthy values. - -```js -isval(1); -isval('true'); -``` - -## API - -#### isval(*<value>*, *[type]*) - -## License - -[MIT](LICENSE) - -Copyright (c) 2014 [Christopher Turner](https://github.com/tur-nr) diff --git a/res-pc/node_modules/isval/index.js b/res-pc/node_modules/isval/index.js deleted file mode 100644 index 10ef19df..00000000 --- a/res-pc/node_modules/isval/index.js +++ /dev/null @@ -1,69 +0,0 @@ -module.exports = function isval(value, type) { - if (arguments.length === 2 && typeof type === 'undefined') { - type = 'undefined'; - } else if (Number.isNaN(type)) { - type = 'NaN'; - } - - function isObject(obj) { - return typeof value === 'object' && value !== null; - } - - function constructorType(constructor) { - return constructor.name.toLowerCase() - } - - switch (type) { - case 'boolean': - case 'function': - case 'string': - return typeof value === type; - - case 'number': - return typeof value === type && !isNaN(value); - - case Number: - if (isNaN(value)) { return false; } - // fall through - case String: - case Boolean: - return typeof value === constructorType(type); - - case Object: - case 'object': - return isObject(value); - - case 'array': - return Array.isArray(value); - - case 'regex': - case 'regexp': - return value instanceof RegExp; - - case 'date': - return value instanceof Date; - - case 'null': - case null: - return value === null; - - case 'undefined': - return typeof value === 'undefined'; - - case 'NaN': - return Number.isNaN(value); - - case 'arguments': - if (isObject(value)) { - return (typeof value.callee === 'function') - || (/arguments/i).test(value.toString()); - } - return false; - - - default: - return (typeof type === 'function') - ? value instanceof type - : value; - } -}; diff --git a/res-pc/node_modules/isval/package.json b/res-pc/node_modules/isval/package.json deleted file mode 100644 index 9e9ec3b9..00000000 --- a/res-pc/node_modules/isval/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_from": "isval@0.0.2", - "_id": "isval@0.0.2", - "_inBundle": false, - "_integrity": "sha1-HOsBcciRE+P1CYpPczbKrzO+8D8=", - "_location": "/isval", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "isval@0.0.2", - "name": "isval", - "escapedName": "isval", - "rawSpec": "0.0.2", - "saveSpec": null, - "fetchSpec": "0.0.2" - }, - "_requiredBy": [ - "/awty" - ], - "_resolved": "https://registry.npmjs.org/isval/-/isval-0.0.2.tgz", - "_shasum": "1ceb0171c89113e3f5098a4f7336caaf33bef03f", - "_spec": "isval@0.0.2", - "_where": "/home/manga/Projects/ProjectABE/build/node_modules/awty", - "author": { - "name": "Christopher Turner", - "email": "turner296@gmail.com" - }, - "bugs": { - "url": "https://github.com/tur-nr/node-isval/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Yet another value type validator.", - "devDependencies": { - "mocha": "^1.21.4" - }, - "homepage": "https://github.com/tur-nr/node-isval", - "keywords": [ - "type", - "checker", - "validator", - "valid" - ], - "license": "MIT", - "main": "index.js", - "name": "isval", - "repository": { - "type": "git", - "url": "git+https://github.com/tur-nr/node-isval.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.0.2" -} diff --git a/res-pc/node_modules/lodash/LICENSE b/res-pc/node_modules/lodash/LICENSE deleted file mode 100644 index c6f2f614..00000000 --- a/res-pc/node_modules/lodash/LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Copyright JS Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== - -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. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. diff --git a/res-pc/node_modules/lodash/README.md b/res-pc/node_modules/lodash/README.md deleted file mode 100644 index acdd128c..00000000 --- a/res-pc/node_modules/lodash/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# lodash v4.17.4 - -The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules. - -## Installation - -Using npm: -```shell -$ npm i -g npm -$ npm i --save lodash -``` - -In Node.js: -```js -// Load the full build. -var _ = require('lodash'); -// Load the core build. -var _ = require('lodash/core'); -// Load the FP build for immutable auto-curried iteratee-first data-last methods. -var fp = require('lodash/fp'); - -// Load method categories. -var array = require('lodash/array'); -var object = require('lodash/fp/object'); - -// Cherry-pick methods for smaller browserify/rollup/webpack bundles. -var at = require('lodash/at'); -var curryN = require('lodash/fp/curryN'); -``` - -See the [package source](https://github.com/lodash/lodash/tree/4.17.4-npm) for more details. - -**Note:**
-Install [n_](https://www.npmjs.com/package/n_) for Lodash use in the Node.js < 6 REPL. - -## Support - -Tested in Chrome 54-55, Firefox 49-50, IE 11, Edge 14, Safari 9-10, Node.js 6-7, & PhantomJS 2.1.1.
-Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available. diff --git a/res-pc/node_modules/lodash/_DataView.js b/res-pc/node_modules/lodash/_DataView.js deleted file mode 100644 index ac2d57ca..00000000 --- a/res-pc/node_modules/lodash/_DataView.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var DataView = getNative(root, 'DataView'); - -module.exports = DataView; diff --git a/res-pc/node_modules/lodash/_Hash.js b/res-pc/node_modules/lodash/_Hash.js deleted file mode 100644 index b504fe34..00000000 --- a/res-pc/node_modules/lodash/_Hash.js +++ /dev/null @@ -1,32 +0,0 @@ -var hashClear = require('./_hashClear'), - hashDelete = require('./_hashDelete'), - hashGet = require('./_hashGet'), - hashHas = require('./_hashHas'), - hashSet = require('./_hashSet'); - -/** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -// Add methods to `Hash`. -Hash.prototype.clear = hashClear; -Hash.prototype['delete'] = hashDelete; -Hash.prototype.get = hashGet; -Hash.prototype.has = hashHas; -Hash.prototype.set = hashSet; - -module.exports = Hash; diff --git a/res-pc/node_modules/lodash/_LazyWrapper.js b/res-pc/node_modules/lodash/_LazyWrapper.js deleted file mode 100644 index 81786c7f..00000000 --- a/res-pc/node_modules/lodash/_LazyWrapper.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseCreate = require('./_baseCreate'), - baseLodash = require('./_baseLodash'); - -/** Used as references for the maximum length and index of an array. */ -var MAX_ARRAY_LENGTH = 4294967295; - -/** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @constructor - * @param {*} value The value to wrap. - */ -function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = MAX_ARRAY_LENGTH; - this.__views__ = []; -} - -// Ensure `LazyWrapper` is an instance of `baseLodash`. -LazyWrapper.prototype = baseCreate(baseLodash.prototype); -LazyWrapper.prototype.constructor = LazyWrapper; - -module.exports = LazyWrapper; diff --git a/res-pc/node_modules/lodash/_ListCache.js b/res-pc/node_modules/lodash/_ListCache.js deleted file mode 100644 index 26895c3a..00000000 --- a/res-pc/node_modules/lodash/_ListCache.js +++ /dev/null @@ -1,32 +0,0 @@ -var listCacheClear = require('./_listCacheClear'), - listCacheDelete = require('./_listCacheDelete'), - listCacheGet = require('./_listCacheGet'), - listCacheHas = require('./_listCacheHas'), - listCacheSet = require('./_listCacheSet'); - -/** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -// Add methods to `ListCache`. -ListCache.prototype.clear = listCacheClear; -ListCache.prototype['delete'] = listCacheDelete; -ListCache.prototype.get = listCacheGet; -ListCache.prototype.has = listCacheHas; -ListCache.prototype.set = listCacheSet; - -module.exports = ListCache; diff --git a/res-pc/node_modules/lodash/_LodashWrapper.js b/res-pc/node_modules/lodash/_LodashWrapper.js deleted file mode 100644 index c1e4d9df..00000000 --- a/res-pc/node_modules/lodash/_LodashWrapper.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseCreate = require('./_baseCreate'), - baseLodash = require('./_baseLodash'); - -/** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ -function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - this.__index__ = 0; - this.__values__ = undefined; -} - -LodashWrapper.prototype = baseCreate(baseLodash.prototype); -LodashWrapper.prototype.constructor = LodashWrapper; - -module.exports = LodashWrapper; diff --git a/res-pc/node_modules/lodash/_Map.js b/res-pc/node_modules/lodash/_Map.js deleted file mode 100644 index b73f29a0..00000000 --- a/res-pc/node_modules/lodash/_Map.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var Map = getNative(root, 'Map'); - -module.exports = Map; diff --git a/res-pc/node_modules/lodash/_MapCache.js b/res-pc/node_modules/lodash/_MapCache.js deleted file mode 100644 index 4a4eea7b..00000000 --- a/res-pc/node_modules/lodash/_MapCache.js +++ /dev/null @@ -1,32 +0,0 @@ -var mapCacheClear = require('./_mapCacheClear'), - mapCacheDelete = require('./_mapCacheDelete'), - mapCacheGet = require('./_mapCacheGet'), - mapCacheHas = require('./_mapCacheHas'), - mapCacheSet = require('./_mapCacheSet'); - -/** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -// Add methods to `MapCache`. -MapCache.prototype.clear = mapCacheClear; -MapCache.prototype['delete'] = mapCacheDelete; -MapCache.prototype.get = mapCacheGet; -MapCache.prototype.has = mapCacheHas; -MapCache.prototype.set = mapCacheSet; - -module.exports = MapCache; diff --git a/res-pc/node_modules/lodash/_Promise.js b/res-pc/node_modules/lodash/_Promise.js deleted file mode 100644 index 247b9e1b..00000000 --- a/res-pc/node_modules/lodash/_Promise.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var Promise = getNative(root, 'Promise'); - -module.exports = Promise; diff --git a/res-pc/node_modules/lodash/_Set.js b/res-pc/node_modules/lodash/_Set.js deleted file mode 100644 index b3c8dcbf..00000000 --- a/res-pc/node_modules/lodash/_Set.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var Set = getNative(root, 'Set'); - -module.exports = Set; diff --git a/res-pc/node_modules/lodash/_SetCache.js b/res-pc/node_modules/lodash/_SetCache.js deleted file mode 100644 index 6468b064..00000000 --- a/res-pc/node_modules/lodash/_SetCache.js +++ /dev/null @@ -1,27 +0,0 @@ -var MapCache = require('./_MapCache'), - setCacheAdd = require('./_setCacheAdd'), - setCacheHas = require('./_setCacheHas'); - -/** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ -function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - - this.__data__ = new MapCache; - while (++index < length) { - this.add(values[index]); - } -} - -// Add methods to `SetCache`. -SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; -SetCache.prototype.has = setCacheHas; - -module.exports = SetCache; diff --git a/res-pc/node_modules/lodash/_Stack.js b/res-pc/node_modules/lodash/_Stack.js deleted file mode 100644 index 80b2cf1b..00000000 --- a/res-pc/node_modules/lodash/_Stack.js +++ /dev/null @@ -1,27 +0,0 @@ -var ListCache = require('./_ListCache'), - stackClear = require('./_stackClear'), - stackDelete = require('./_stackDelete'), - stackGet = require('./_stackGet'), - stackHas = require('./_stackHas'), - stackSet = require('./_stackSet'); - -/** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; -} - -// Add methods to `Stack`. -Stack.prototype.clear = stackClear; -Stack.prototype['delete'] = stackDelete; -Stack.prototype.get = stackGet; -Stack.prototype.has = stackHas; -Stack.prototype.set = stackSet; - -module.exports = Stack; diff --git a/res-pc/node_modules/lodash/_Symbol.js b/res-pc/node_modules/lodash/_Symbol.js deleted file mode 100644 index a013f7c5..00000000 --- a/res-pc/node_modules/lodash/_Symbol.js +++ /dev/null @@ -1,6 +0,0 @@ -var root = require('./_root'); - -/** Built-in value references. */ -var Symbol = root.Symbol; - -module.exports = Symbol; diff --git a/res-pc/node_modules/lodash/_Uint8Array.js b/res-pc/node_modules/lodash/_Uint8Array.js deleted file mode 100644 index 2fb30e15..00000000 --- a/res-pc/node_modules/lodash/_Uint8Array.js +++ /dev/null @@ -1,6 +0,0 @@ -var root = require('./_root'); - -/** Built-in value references. */ -var Uint8Array = root.Uint8Array; - -module.exports = Uint8Array; diff --git a/res-pc/node_modules/lodash/_WeakMap.js b/res-pc/node_modules/lodash/_WeakMap.js deleted file mode 100644 index 567f86c6..00000000 --- a/res-pc/node_modules/lodash/_WeakMap.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var WeakMap = getNative(root, 'WeakMap'); - -module.exports = WeakMap; diff --git a/res-pc/node_modules/lodash/_addMapEntry.js b/res-pc/node_modules/lodash/_addMapEntry.js deleted file mode 100644 index 5a692121..00000000 --- a/res-pc/node_modules/lodash/_addMapEntry.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Adds the key-value `pair` to `map`. - * - * @private - * @param {Object} map The map to modify. - * @param {Array} pair The key-value pair to add. - * @returns {Object} Returns `map`. - */ -function addMapEntry(map, pair) { - // Don't return `map.set` because it's not chainable in IE 11. - map.set(pair[0], pair[1]); - return map; -} - -module.exports = addMapEntry; diff --git a/res-pc/node_modules/lodash/_addSetEntry.js b/res-pc/node_modules/lodash/_addSetEntry.js deleted file mode 100644 index 1a07b708..00000000 --- a/res-pc/node_modules/lodash/_addSetEntry.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Adds `value` to `set`. - * - * @private - * @param {Object} set The set to modify. - * @param {*} value The value to add. - * @returns {Object} Returns `set`. - */ -function addSetEntry(set, value) { - // Don't return `set.add` because it's not chainable in IE 11. - set.add(value); - return set; -} - -module.exports = addSetEntry; diff --git a/res-pc/node_modules/lodash/_apply.js b/res-pc/node_modules/lodash/_apply.js deleted file mode 100644 index 36436dda..00000000 --- a/res-pc/node_modules/lodash/_apply.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ -function apply(func, thisArg, args) { - switch (args.length) { - case 0: return func.call(thisArg); - case 1: return func.call(thisArg, args[0]); - case 2: return func.call(thisArg, args[0], args[1]); - case 3: return func.call(thisArg, args[0], args[1], args[2]); - } - return func.apply(thisArg, args); -} - -module.exports = apply; diff --git a/res-pc/node_modules/lodash/_arrayAggregator.js b/res-pc/node_modules/lodash/_arrayAggregator.js deleted file mode 100644 index d96c3ca4..00000000 --- a/res-pc/node_modules/lodash/_arrayAggregator.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ -function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; -} - -module.exports = arrayAggregator; diff --git a/res-pc/node_modules/lodash/_arrayEach.js b/res-pc/node_modules/lodash/_arrayEach.js deleted file mode 100644 index 2c5f5796..00000000 --- a/res-pc/node_modules/lodash/_arrayEach.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ -function arrayEach(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; -} - -module.exports = arrayEach; diff --git a/res-pc/node_modules/lodash/_arrayEachRight.js b/res-pc/node_modules/lodash/_arrayEachRight.js deleted file mode 100644 index 976ca5c2..00000000 --- a/res-pc/node_modules/lodash/_arrayEachRight.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A specialized version of `_.forEachRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ -function arrayEachRight(array, iteratee) { - var length = array == null ? 0 : array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; -} - -module.exports = arrayEachRight; diff --git a/res-pc/node_modules/lodash/_arrayEvery.js b/res-pc/node_modules/lodash/_arrayEvery.js deleted file mode 100644 index e26a9184..00000000 --- a/res-pc/node_modules/lodash/_arrayEvery.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * A specialized version of `_.every` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ -function arrayEvery(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; -} - -module.exports = arrayEvery; diff --git a/res-pc/node_modules/lodash/_arrayFilter.js b/res-pc/node_modules/lodash/_arrayFilter.js deleted file mode 100644 index 75ea2544..00000000 --- a/res-pc/node_modules/lodash/_arrayFilter.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ -function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; -} - -module.exports = arrayFilter; diff --git a/res-pc/node_modules/lodash/_arrayIncludes.js b/res-pc/node_modules/lodash/_arrayIncludes.js deleted file mode 100644 index 3737a6d9..00000000 --- a/res-pc/node_modules/lodash/_arrayIncludes.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'); - -/** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ -function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; - return !!length && baseIndexOf(array, value, 0) > -1; -} - -module.exports = arrayIncludes; diff --git a/res-pc/node_modules/lodash/_arrayIncludesWith.js b/res-pc/node_modules/lodash/_arrayIncludesWith.js deleted file mode 100644 index 235fd975..00000000 --- a/res-pc/node_modules/lodash/_arrayIncludesWith.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This function is like `arrayIncludes` except that it accepts a comparator. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ -function arrayIncludesWith(array, value, comparator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (comparator(value, array[index])) { - return true; - } - } - return false; -} - -module.exports = arrayIncludesWith; diff --git a/res-pc/node_modules/lodash/_arrayLikeKeys.js b/res-pc/node_modules/lodash/_arrayLikeKeys.js deleted file mode 100644 index b2ec9ce7..00000000 --- a/res-pc/node_modules/lodash/_arrayLikeKeys.js +++ /dev/null @@ -1,49 +0,0 @@ -var baseTimes = require('./_baseTimes'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isBuffer = require('./isBuffer'), - isIndex = require('./_isIndex'), - isTypedArray = require('./isTypedArray'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ -function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { - result.push(key); - } - } - return result; -} - -module.exports = arrayLikeKeys; diff --git a/res-pc/node_modules/lodash/_arrayMap.js b/res-pc/node_modules/lodash/_arrayMap.js deleted file mode 100644 index 22b22464..00000000 --- a/res-pc/node_modules/lodash/_arrayMap.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ -function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; -} - -module.exports = arrayMap; diff --git a/res-pc/node_modules/lodash/_arrayPush.js b/res-pc/node_modules/lodash/_arrayPush.js deleted file mode 100644 index 7d742b38..00000000 --- a/res-pc/node_modules/lodash/_arrayPush.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ -function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; -} - -module.exports = arrayPush; diff --git a/res-pc/node_modules/lodash/_arrayReduce.js b/res-pc/node_modules/lodash/_arrayReduce.js deleted file mode 100644 index de8b79b2..00000000 --- a/res-pc/node_modules/lodash/_arrayReduce.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ -function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, - length = array == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; -} - -module.exports = arrayReduce; diff --git a/res-pc/node_modules/lodash/_arrayReduceRight.js b/res-pc/node_modules/lodash/_arrayReduceRight.js deleted file mode 100644 index 22d8976d..00000000 --- a/res-pc/node_modules/lodash/_arrayReduceRight.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * A specialized version of `_.reduceRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the last element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ -function arrayReduceRight(array, iteratee, accumulator, initAccum) { - var length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; -} - -module.exports = arrayReduceRight; diff --git a/res-pc/node_modules/lodash/_arraySample.js b/res-pc/node_modules/lodash/_arraySample.js deleted file mode 100644 index fcab0105..00000000 --- a/res-pc/node_modules/lodash/_arraySample.js +++ /dev/null @@ -1,15 +0,0 @@ -var baseRandom = require('./_baseRandom'); - -/** - * A specialized version of `_.sample` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @returns {*} Returns the random element. - */ -function arraySample(array) { - var length = array.length; - return length ? array[baseRandom(0, length - 1)] : undefined; -} - -module.exports = arraySample; diff --git a/res-pc/node_modules/lodash/_arraySampleSize.js b/res-pc/node_modules/lodash/_arraySampleSize.js deleted file mode 100644 index 8c7e364f..00000000 --- a/res-pc/node_modules/lodash/_arraySampleSize.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseClamp = require('./_baseClamp'), - copyArray = require('./_copyArray'), - shuffleSelf = require('./_shuffleSelf'); - -/** - * A specialized version of `_.sampleSize` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ -function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); -} - -module.exports = arraySampleSize; diff --git a/res-pc/node_modules/lodash/_arrayShuffle.js b/res-pc/node_modules/lodash/_arrayShuffle.js deleted file mode 100644 index 46313a39..00000000 --- a/res-pc/node_modules/lodash/_arrayShuffle.js +++ /dev/null @@ -1,15 +0,0 @@ -var copyArray = require('./_copyArray'), - shuffleSelf = require('./_shuffleSelf'); - -/** - * A specialized version of `_.shuffle` for arrays. - * - * @private - * @param {Array} array The array to shuffle. - * @returns {Array} Returns the new shuffled array. - */ -function arrayShuffle(array) { - return shuffleSelf(copyArray(array)); -} - -module.exports = arrayShuffle; diff --git a/res-pc/node_modules/lodash/_arraySome.js b/res-pc/node_modules/lodash/_arraySome.js deleted file mode 100644 index 6fd02fd4..00000000 --- a/res-pc/node_modules/lodash/_arraySome.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; -} - -module.exports = arraySome; diff --git a/res-pc/node_modules/lodash/_asciiSize.js b/res-pc/node_modules/lodash/_asciiSize.js deleted file mode 100644 index 11d29c33..00000000 --- a/res-pc/node_modules/lodash/_asciiSize.js +++ /dev/null @@ -1,12 +0,0 @@ -var baseProperty = require('./_baseProperty'); - -/** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ -var asciiSize = baseProperty('length'); - -module.exports = asciiSize; diff --git a/res-pc/node_modules/lodash/_asciiToArray.js b/res-pc/node_modules/lodash/_asciiToArray.js deleted file mode 100644 index 8e3dd5b4..00000000 --- a/res-pc/node_modules/lodash/_asciiToArray.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function asciiToArray(string) { - return string.split(''); -} - -module.exports = asciiToArray; diff --git a/res-pc/node_modules/lodash/_asciiWords.js b/res-pc/node_modules/lodash/_asciiWords.js deleted file mode 100644 index d765f0f7..00000000 --- a/res-pc/node_modules/lodash/_asciiWords.js +++ /dev/null @@ -1,15 +0,0 @@ -/** Used to match words composed of alphanumeric characters. */ -var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; - -/** - * Splits an ASCII `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ -function asciiWords(string) { - return string.match(reAsciiWord) || []; -} - -module.exports = asciiWords; diff --git a/res-pc/node_modules/lodash/_assignMergeValue.js b/res-pc/node_modules/lodash/_assignMergeValue.js deleted file mode 100644 index cb1185e9..00000000 --- a/res-pc/node_modules/lodash/_assignMergeValue.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - eq = require('./eq'); - -/** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function assignMergeValue(object, key, value) { - if ((value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } -} - -module.exports = assignMergeValue; diff --git a/res-pc/node_modules/lodash/_assignValue.js b/res-pc/node_modules/lodash/_assignValue.js deleted file mode 100644 index 40839575..00000000 --- a/res-pc/node_modules/lodash/_assignValue.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - eq = require('./eq'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } -} - -module.exports = assignValue; diff --git a/res-pc/node_modules/lodash/_assocIndexOf.js b/res-pc/node_modules/lodash/_assocIndexOf.js deleted file mode 100644 index 5b77a2bd..00000000 --- a/res-pc/node_modules/lodash/_assocIndexOf.js +++ /dev/null @@ -1,21 +0,0 @@ -var eq = require('./eq'); - -/** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; -} - -module.exports = assocIndexOf; diff --git a/res-pc/node_modules/lodash/_baseAggregator.js b/res-pc/node_modules/lodash/_baseAggregator.js deleted file mode 100644 index 4bc9e91f..00000000 --- a/res-pc/node_modules/lodash/_baseAggregator.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ -function baseAggregator(collection, setter, iteratee, accumulator) { - baseEach(collection, function(value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; -} - -module.exports = baseAggregator; diff --git a/res-pc/node_modules/lodash/_baseAssign.js b/res-pc/node_modules/lodash/_baseAssign.js deleted file mode 100644 index e5c4a1a5..00000000 --- a/res-pc/node_modules/lodash/_baseAssign.js +++ /dev/null @@ -1,17 +0,0 @@ -var copyObject = require('./_copyObject'), - keys = require('./keys'); - -/** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ -function baseAssign(object, source) { - return object && copyObject(source, keys(source), object); -} - -module.exports = baseAssign; diff --git a/res-pc/node_modules/lodash/_baseAssignIn.js b/res-pc/node_modules/lodash/_baseAssignIn.js deleted file mode 100644 index 6624f900..00000000 --- a/res-pc/node_modules/lodash/_baseAssignIn.js +++ /dev/null @@ -1,17 +0,0 @@ -var copyObject = require('./_copyObject'), - keysIn = require('./keysIn'); - -/** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ -function baseAssignIn(object, source) { - return object && copyObject(source, keysIn(source), object); -} - -module.exports = baseAssignIn; diff --git a/res-pc/node_modules/lodash/_baseAssignValue.js b/res-pc/node_modules/lodash/_baseAssignValue.js deleted file mode 100644 index d6f66ef3..00000000 --- a/res-pc/node_modules/lodash/_baseAssignValue.js +++ /dev/null @@ -1,25 +0,0 @@ -var defineProperty = require('./_defineProperty'); - -/** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function baseAssignValue(object, key, value) { - if (key == '__proto__' && defineProperty) { - defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } -} - -module.exports = baseAssignValue; diff --git a/res-pc/node_modules/lodash/_baseAt.js b/res-pc/node_modules/lodash/_baseAt.js deleted file mode 100644 index 90e4237a..00000000 --- a/res-pc/node_modules/lodash/_baseAt.js +++ /dev/null @@ -1,23 +0,0 @@ -var get = require('./get'); - -/** - * The base implementation of `_.at` without support for individual paths. - * - * @private - * @param {Object} object The object to iterate over. - * @param {string[]} paths The property paths to pick. - * @returns {Array} Returns the picked elements. - */ -function baseAt(object, paths) { - var index = -1, - length = paths.length, - result = Array(length), - skip = object == null; - - while (++index < length) { - result[index] = skip ? undefined : get(object, paths[index]); - } - return result; -} - -module.exports = baseAt; diff --git a/res-pc/node_modules/lodash/_baseClamp.js b/res-pc/node_modules/lodash/_baseClamp.js deleted file mode 100644 index a1c56929..00000000 --- a/res-pc/node_modules/lodash/_baseClamp.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * The base implementation of `_.clamp` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - */ -function baseClamp(number, lower, upper) { - if (number === number) { - if (upper !== undefined) { - number = number <= upper ? number : upper; - } - if (lower !== undefined) { - number = number >= lower ? number : lower; - } - } - return number; -} - -module.exports = baseClamp; diff --git a/res-pc/node_modules/lodash/_baseClone.js b/res-pc/node_modules/lodash/_baseClone.js deleted file mode 100644 index 7c27a37d..00000000 --- a/res-pc/node_modules/lodash/_baseClone.js +++ /dev/null @@ -1,153 +0,0 @@ -var Stack = require('./_Stack'), - arrayEach = require('./_arrayEach'), - assignValue = require('./_assignValue'), - baseAssign = require('./_baseAssign'), - baseAssignIn = require('./_baseAssignIn'), - cloneBuffer = require('./_cloneBuffer'), - copyArray = require('./_copyArray'), - copySymbols = require('./_copySymbols'), - copySymbolsIn = require('./_copySymbolsIn'), - getAllKeys = require('./_getAllKeys'), - getAllKeysIn = require('./_getAllKeysIn'), - getTag = require('./_getTag'), - initCloneArray = require('./_initCloneArray'), - initCloneByTag = require('./_initCloneByTag'), - initCloneObject = require('./_initCloneObject'), - isArray = require('./isArray'), - isBuffer = require('./isBuffer'), - isObject = require('./isObject'), - keys = require('./keys'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values supported by `_.clone`. */ -var cloneableTags = {}; -cloneableTags[argsTag] = cloneableTags[arrayTag] = -cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = -cloneableTags[boolTag] = cloneableTags[dateTag] = -cloneableTags[float32Tag] = cloneableTags[float64Tag] = -cloneableTags[int8Tag] = cloneableTags[int16Tag] = -cloneableTags[int32Tag] = cloneableTags[mapTag] = -cloneableTags[numberTag] = cloneableTags[objectTag] = -cloneableTags[regexpTag] = cloneableTags[setTag] = -cloneableTags[stringTag] = cloneableTags[symbolTag] = -cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = -cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; -cloneableTags[errorTag] = cloneableTags[funcTag] = -cloneableTags[weakMapTag] = false; - -/** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */ -function baseClone(value, bitmask, customizer, key, object, stack) { - var result, - isDeep = bitmask & CLONE_DEEP_FLAG, - isFlat = bitmask & CLONE_FLAT_FLAG, - isFull = bitmask & CLONE_SYMBOLS_FLAG; - - if (customizer) { - result = object ? customizer(value, key, object, stack) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result); - } - } else { - var tag = getTag(value), - isFunc = tag == funcTag || tag == genTag; - - if (isBuffer(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = (isFlat || isFunc) ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat - ? copySymbolsIn(value, baseAssignIn(result, value)) - : copySymbols(value, baseAssign(result, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result = initCloneByTag(value, tag, baseClone, isDeep); - } - } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); - var stacked = stack.get(value); - if (stacked) { - return stacked; - } - stack.set(value, result); - - var keysFunc = isFull - ? (isFlat ? getAllKeysIn : getAllKeys) - : (isFlat ? keysIn : keys); - - var props = isArr ? undefined : keysFunc(value); - arrayEach(props || value, function(subValue, key) { - if (props) { - key = subValue; - subValue = value[key]; - } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - return result; -} - -module.exports = baseClone; diff --git a/res-pc/node_modules/lodash/_baseConforms.js b/res-pc/node_modules/lodash/_baseConforms.js deleted file mode 100644 index 947e20d4..00000000 --- a/res-pc/node_modules/lodash/_baseConforms.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseConformsTo = require('./_baseConformsTo'), - keys = require('./keys'); - -/** - * The base implementation of `_.conforms` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - */ -function baseConforms(source) { - var props = keys(source); - return function(object) { - return baseConformsTo(object, source, props); - }; -} - -module.exports = baseConforms; diff --git a/res-pc/node_modules/lodash/_baseConformsTo.js b/res-pc/node_modules/lodash/_baseConformsTo.js deleted file mode 100644 index e449cb84..00000000 --- a/res-pc/node_modules/lodash/_baseConformsTo.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * The base implementation of `_.conformsTo` which accepts `props` to check. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - */ -function baseConformsTo(object, source, props) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length], - predicate = source[key], - value = object[key]; - - if ((value === undefined && !(key in object)) || !predicate(value)) { - return false; - } - } - return true; -} - -module.exports = baseConformsTo; diff --git a/res-pc/node_modules/lodash/_baseCreate.js b/res-pc/node_modules/lodash/_baseCreate.js deleted file mode 100644 index ffa6a52a..00000000 --- a/res-pc/node_modules/lodash/_baseCreate.js +++ /dev/null @@ -1,30 +0,0 @@ -var isObject = require('./isObject'); - -/** Built-in value references. */ -var objectCreate = Object.create; - -/** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ -var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; -}()); - -module.exports = baseCreate; diff --git a/res-pc/node_modules/lodash/_baseDelay.js b/res-pc/node_modules/lodash/_baseDelay.js deleted file mode 100644 index 1486d697..00000000 --- a/res-pc/node_modules/lodash/_baseDelay.js +++ /dev/null @@ -1,21 +0,0 @@ -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ -function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); -} - -module.exports = baseDelay; diff --git a/res-pc/node_modules/lodash/_baseDifference.js b/res-pc/node_modules/lodash/_baseDifference.js deleted file mode 100644 index 343ac19f..00000000 --- a/res-pc/node_modules/lodash/_baseDifference.js +++ /dev/null @@ -1,67 +0,0 @@ -var SetCache = require('./_SetCache'), - arrayIncludes = require('./_arrayIncludes'), - arrayIncludesWith = require('./_arrayIncludesWith'), - arrayMap = require('./_arrayMap'), - baseUnary = require('./_baseUnary'), - cacheHas = require('./_cacheHas'); - -/** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE = 200; - -/** - * The base implementation of methods like `_.difference` without support - * for excluding multiple arrays or iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - */ -function baseDifference(array, values, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - isCommon = true, - length = array.length, - result = [], - valuesLength = values.length; - - if (!length) { - return result; - } - if (iteratee) { - values = arrayMap(values, baseUnary(iteratee)); - } - if (comparator) { - includes = arrayIncludesWith; - isCommon = false; - } - else if (values.length >= LARGE_ARRAY_SIZE) { - includes = cacheHas; - isCommon = false; - values = new SetCache(values); - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee == null ? value : iteratee(value); - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === computed) { - continue outer; - } - } - result.push(value); - } - else if (!includes(values, computed, comparator)) { - result.push(value); - } - } - return result; -} - -module.exports = baseDifference; diff --git a/res-pc/node_modules/lodash/_baseEach.js b/res-pc/node_modules/lodash/_baseEach.js deleted file mode 100644 index 512c0676..00000000 --- a/res-pc/node_modules/lodash/_baseEach.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseForOwn = require('./_baseForOwn'), - createBaseEach = require('./_createBaseEach'); - -/** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ -var baseEach = createBaseEach(baseForOwn); - -module.exports = baseEach; diff --git a/res-pc/node_modules/lodash/_baseEachRight.js b/res-pc/node_modules/lodash/_baseEachRight.js deleted file mode 100644 index 0a8feeca..00000000 --- a/res-pc/node_modules/lodash/_baseEachRight.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseForOwnRight = require('./_baseForOwnRight'), - createBaseEach = require('./_createBaseEach'); - -/** - * The base implementation of `_.forEachRight` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ -var baseEachRight = createBaseEach(baseForOwnRight, true); - -module.exports = baseEachRight; diff --git a/res-pc/node_modules/lodash/_baseEvery.js b/res-pc/node_modules/lodash/_baseEvery.js deleted file mode 100644 index fa52f7bc..00000000 --- a/res-pc/node_modules/lodash/_baseEvery.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ -function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; -} - -module.exports = baseEvery; diff --git a/res-pc/node_modules/lodash/_baseExtremum.js b/res-pc/node_modules/lodash/_baseExtremum.js deleted file mode 100644 index 9d6aa77e..00000000 --- a/res-pc/node_modules/lodash/_baseExtremum.js +++ /dev/null @@ -1,32 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ -function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !isSymbol(current)) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; -} - -module.exports = baseExtremum; diff --git a/res-pc/node_modules/lodash/_baseFill.js b/res-pc/node_modules/lodash/_baseFill.js deleted file mode 100644 index 46ef9c76..00000000 --- a/res-pc/node_modules/lodash/_baseFill.js +++ /dev/null @@ -1,32 +0,0 @@ -var toInteger = require('./toInteger'), - toLength = require('./toLength'); - -/** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ -function baseFill(array, value, start, end) { - var length = array.length; - - start = toInteger(start); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : toInteger(end); - if (end < 0) { - end += length; - } - end = start > end ? 0 : toLength(end); - while (start < end) { - array[start++] = value; - } - return array; -} - -module.exports = baseFill; diff --git a/res-pc/node_modules/lodash/_baseFilter.js b/res-pc/node_modules/lodash/_baseFilter.js deleted file mode 100644 index 46784773..00000000 --- a/res-pc/node_modules/lodash/_baseFilter.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ -function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; -} - -module.exports = baseFilter; diff --git a/res-pc/node_modules/lodash/_baseFindIndex.js b/res-pc/node_modules/lodash/_baseFindIndex.js deleted file mode 100644 index e3f5d8aa..00000000 --- a/res-pc/node_modules/lodash/_baseFindIndex.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; -} - -module.exports = baseFindIndex; diff --git a/res-pc/node_modules/lodash/_baseFindKey.js b/res-pc/node_modules/lodash/_baseFindKey.js deleted file mode 100644 index 2e430f3a..00000000 --- a/res-pc/node_modules/lodash/_baseFindKey.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The base implementation of methods like `_.findKey` and `_.findLastKey`, - * without support for iteratee shorthands, which iterates over `collection` - * using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the found element or its key, else `undefined`. - */ -function baseFindKey(collection, predicate, eachFunc) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = key; - return false; - } - }); - return result; -} - -module.exports = baseFindKey; diff --git a/res-pc/node_modules/lodash/_baseFlatten.js b/res-pc/node_modules/lodash/_baseFlatten.js deleted file mode 100644 index 4b1e009b..00000000 --- a/res-pc/node_modules/lodash/_baseFlatten.js +++ /dev/null @@ -1,38 +0,0 @@ -var arrayPush = require('./_arrayPush'), - isFlattenable = require('./_isFlattenable'); - -/** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ -function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; -} - -module.exports = baseFlatten; diff --git a/res-pc/node_modules/lodash/_baseFor.js b/res-pc/node_modules/lodash/_baseFor.js deleted file mode 100644 index d946590f..00000000 --- a/res-pc/node_modules/lodash/_baseFor.js +++ /dev/null @@ -1,16 +0,0 @@ -var createBaseFor = require('./_createBaseFor'); - -/** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseFor = createBaseFor(); - -module.exports = baseFor; diff --git a/res-pc/node_modules/lodash/_baseForOwn.js b/res-pc/node_modules/lodash/_baseForOwn.js deleted file mode 100644 index 503d5234..00000000 --- a/res-pc/node_modules/lodash/_baseForOwn.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseFor = require('./_baseFor'), - keys = require('./keys'); - -/** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); -} - -module.exports = baseForOwn; diff --git a/res-pc/node_modules/lodash/_baseForOwnRight.js b/res-pc/node_modules/lodash/_baseForOwnRight.js deleted file mode 100644 index a4b10e6c..00000000 --- a/res-pc/node_modules/lodash/_baseForOwnRight.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseForRight = require('./_baseForRight'), - keys = require('./keys'); - -/** - * The base implementation of `_.forOwnRight` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForOwnRight(object, iteratee) { - return object && baseForRight(object, iteratee, keys); -} - -module.exports = baseForOwnRight; diff --git a/res-pc/node_modules/lodash/_baseForRight.js b/res-pc/node_modules/lodash/_baseForRight.js deleted file mode 100644 index 32842cd8..00000000 --- a/res-pc/node_modules/lodash/_baseForRight.js +++ /dev/null @@ -1,15 +0,0 @@ -var createBaseFor = require('./_createBaseFor'); - -/** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseForRight = createBaseFor(true); - -module.exports = baseForRight; diff --git a/res-pc/node_modules/lodash/_baseFunctions.js b/res-pc/node_modules/lodash/_baseFunctions.js deleted file mode 100644 index d23bc9b4..00000000 --- a/res-pc/node_modules/lodash/_baseFunctions.js +++ /dev/null @@ -1,19 +0,0 @@ -var arrayFilter = require('./_arrayFilter'), - isFunction = require('./isFunction'); - -/** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ -function baseFunctions(object, props) { - return arrayFilter(props, function(key) { - return isFunction(object[key]); - }); -} - -module.exports = baseFunctions; diff --git a/res-pc/node_modules/lodash/_baseGet.js b/res-pc/node_modules/lodash/_baseGet.js deleted file mode 100644 index a194913d..00000000 --- a/res-pc/node_modules/lodash/_baseGet.js +++ /dev/null @@ -1,24 +0,0 @@ -var castPath = require('./_castPath'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ -function baseGet(object, path) { - path = castPath(path, object); - - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return (index && index == length) ? object : undefined; -} - -module.exports = baseGet; diff --git a/res-pc/node_modules/lodash/_baseGetAllKeys.js b/res-pc/node_modules/lodash/_baseGetAllKeys.js deleted file mode 100644 index 8ad204ea..00000000 --- a/res-pc/node_modules/lodash/_baseGetAllKeys.js +++ /dev/null @@ -1,20 +0,0 @@ -var arrayPush = require('./_arrayPush'), - isArray = require('./isArray'); - -/** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ -function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); -} - -module.exports = baseGetAllKeys; diff --git a/res-pc/node_modules/lodash/_baseGetTag.js b/res-pc/node_modules/lodash/_baseGetTag.js deleted file mode 100644 index b927ccc1..00000000 --- a/res-pc/node_modules/lodash/_baseGetTag.js +++ /dev/null @@ -1,28 +0,0 @@ -var Symbol = require('./_Symbol'), - getRawTag = require('./_getRawTag'), - objectToString = require('./_objectToString'); - -/** `Object#toString` result references. */ -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; - -/** Built-in value references. */ -var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); -} - -module.exports = baseGetTag; diff --git a/res-pc/node_modules/lodash/_baseGt.js b/res-pc/node_modules/lodash/_baseGt.js deleted file mode 100644 index 502d273c..00000000 --- a/res-pc/node_modules/lodash/_baseGt.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ -function baseGt(value, other) { - return value > other; -} - -module.exports = baseGt; diff --git a/res-pc/node_modules/lodash/_baseHas.js b/res-pc/node_modules/lodash/_baseHas.js deleted file mode 100644 index 1b730321..00000000 --- a/res-pc/node_modules/lodash/_baseHas.js +++ /dev/null @@ -1,19 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * The base implementation of `_.has` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ -function baseHas(object, key) { - return object != null && hasOwnProperty.call(object, key); -} - -module.exports = baseHas; diff --git a/res-pc/node_modules/lodash/_baseHasIn.js b/res-pc/node_modules/lodash/_baseHasIn.js deleted file mode 100644 index 2e0d0426..00000000 --- a/res-pc/node_modules/lodash/_baseHasIn.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ -function baseHasIn(object, key) { - return object != null && key in Object(object); -} - -module.exports = baseHasIn; diff --git a/res-pc/node_modules/lodash/_baseInRange.js b/res-pc/node_modules/lodash/_baseInRange.js deleted file mode 100644 index ec956661..00000000 --- a/res-pc/node_modules/lodash/_baseInRange.js +++ /dev/null @@ -1,18 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * The base implementation of `_.inRange` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to check. - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - */ -function baseInRange(number, start, end) { - return number >= nativeMin(start, end) && number < nativeMax(start, end); -} - -module.exports = baseInRange; diff --git a/res-pc/node_modules/lodash/_baseIndexOf.js b/res-pc/node_modules/lodash/_baseIndexOf.js deleted file mode 100644 index 167e706e..00000000 --- a/res-pc/node_modules/lodash/_baseIndexOf.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIsNaN = require('./_baseIsNaN'), - strictIndexOf = require('./_strictIndexOf'); - -/** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); -} - -module.exports = baseIndexOf; diff --git a/res-pc/node_modules/lodash/_baseIndexOfWith.js b/res-pc/node_modules/lodash/_baseIndexOfWith.js deleted file mode 100644 index f815fe0d..00000000 --- a/res-pc/node_modules/lodash/_baseIndexOfWith.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This function is like `baseIndexOf` except that it accepts a comparator. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @param {Function} comparator The comparator invoked per element. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseIndexOfWith(array, value, fromIndex, comparator) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (comparator(array[index], value)) { - return index; - } - } - return -1; -} - -module.exports = baseIndexOfWith; diff --git a/res-pc/node_modules/lodash/_baseIntersection.js b/res-pc/node_modules/lodash/_baseIntersection.js deleted file mode 100644 index c1d250c2..00000000 --- a/res-pc/node_modules/lodash/_baseIntersection.js +++ /dev/null @@ -1,74 +0,0 @@ -var SetCache = require('./_SetCache'), - arrayIncludes = require('./_arrayIncludes'), - arrayIncludesWith = require('./_arrayIncludesWith'), - arrayMap = require('./_arrayMap'), - baseUnary = require('./_baseUnary'), - cacheHas = require('./_cacheHas'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * The base implementation of methods like `_.intersection`, without support - * for iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of shared values. - */ -function baseIntersection(arrays, iteratee, comparator) { - var includes = comparator ? arrayIncludesWith : arrayIncludes, - length = arrays[0].length, - othLength = arrays.length, - othIndex = othLength, - caches = Array(othLength), - maxLength = Infinity, - result = []; - - while (othIndex--) { - var array = arrays[othIndex]; - if (othIndex && iteratee) { - array = arrayMap(array, baseUnary(iteratee)); - } - maxLength = nativeMin(array.length, maxLength); - caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) - ? new SetCache(othIndex && array) - : undefined; - } - array = arrays[0]; - - var index = -1, - seen = caches[0]; - - outer: - while (++index < length && result.length < maxLength) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (!(seen - ? cacheHas(seen, computed) - : includes(result, computed, comparator) - )) { - othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if (!(cache - ? cacheHas(cache, computed) - : includes(arrays[othIndex], computed, comparator)) - ) { - continue outer; - } - } - if (seen) { - seen.push(computed); - } - result.push(value); - } - } - return result; -} - -module.exports = baseIntersection; diff --git a/res-pc/node_modules/lodash/_baseInverter.js b/res-pc/node_modules/lodash/_baseInverter.js deleted file mode 100644 index fbc337f0..00000000 --- a/res-pc/node_modules/lodash/_baseInverter.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseForOwn = require('./_baseForOwn'); - -/** - * The base implementation of `_.invert` and `_.invertBy` which inverts - * `object` with values transformed by `iteratee` and set by `setter`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform values. - * @param {Object} accumulator The initial inverted object. - * @returns {Function} Returns `accumulator`. - */ -function baseInverter(object, setter, iteratee, accumulator) { - baseForOwn(object, function(value, key, object) { - setter(accumulator, iteratee(value), key, object); - }); - return accumulator; -} - -module.exports = baseInverter; diff --git a/res-pc/node_modules/lodash/_baseInvoke.js b/res-pc/node_modules/lodash/_baseInvoke.js deleted file mode 100644 index 49bcf3c3..00000000 --- a/res-pc/node_modules/lodash/_baseInvoke.js +++ /dev/null @@ -1,24 +0,0 @@ -var apply = require('./_apply'), - castPath = require('./_castPath'), - last = require('./last'), - parent = require('./_parent'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.invoke` without support for individual - * method arguments. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ -function baseInvoke(object, path, args) { - path = castPath(path, object); - object = parent(object, path); - var func = object == null ? object : object[toKey(last(path))]; - return func == null ? undefined : apply(func, object, args); -} - -module.exports = baseInvoke; diff --git a/res-pc/node_modules/lodash/_baseIsArguments.js b/res-pc/node_modules/lodash/_baseIsArguments.js deleted file mode 100644 index b3562cca..00000000 --- a/res-pc/node_modules/lodash/_baseIsArguments.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]'; - -/** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ -function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; -} - -module.exports = baseIsArguments; diff --git a/res-pc/node_modules/lodash/_baseIsArrayBuffer.js b/res-pc/node_modules/lodash/_baseIsArrayBuffer.js deleted file mode 100644 index a2c4f30a..00000000 --- a/res-pc/node_modules/lodash/_baseIsArrayBuffer.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -var arrayBufferTag = '[object ArrayBuffer]'; - -/** - * The base implementation of `_.isArrayBuffer` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - */ -function baseIsArrayBuffer(value) { - return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; -} - -module.exports = baseIsArrayBuffer; diff --git a/res-pc/node_modules/lodash/_baseIsDate.js b/res-pc/node_modules/lodash/_baseIsDate.js deleted file mode 100644 index ba67c785..00000000 --- a/res-pc/node_modules/lodash/_baseIsDate.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var dateTag = '[object Date]'; - -/** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ -function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; -} - -module.exports = baseIsDate; diff --git a/res-pc/node_modules/lodash/_baseIsEqual.js b/res-pc/node_modules/lodash/_baseIsEqual.js deleted file mode 100644 index 00a68a4f..00000000 --- a/res-pc/node_modules/lodash/_baseIsEqual.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseIsEqualDeep = require('./_baseIsEqualDeep'), - isObjectLike = require('./isObjectLike'); - -/** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ -function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); -} - -module.exports = baseIsEqual; diff --git a/res-pc/node_modules/lodash/_baseIsEqualDeep.js b/res-pc/node_modules/lodash/_baseIsEqualDeep.js deleted file mode 100644 index e3cfd6a8..00000000 --- a/res-pc/node_modules/lodash/_baseIsEqualDeep.js +++ /dev/null @@ -1,83 +0,0 @@ -var Stack = require('./_Stack'), - equalArrays = require('./_equalArrays'), - equalByTag = require('./_equalByTag'), - equalObjects = require('./_equalObjects'), - getTag = require('./_getTag'), - isArray = require('./isArray'), - isBuffer = require('./isBuffer'), - isTypedArray = require('./isTypedArray'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1; - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - objectTag = '[object Object]'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : getTag(object), - othTag = othIsArr ? arrayTag : getTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack); - return (objIsArr || isTypedArray(object)) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - stack || (stack = new Stack); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); -} - -module.exports = baseIsEqualDeep; diff --git a/res-pc/node_modules/lodash/_baseIsMap.js b/res-pc/node_modules/lodash/_baseIsMap.js deleted file mode 100644 index 02a4021c..00000000 --- a/res-pc/node_modules/lodash/_baseIsMap.js +++ /dev/null @@ -1,18 +0,0 @@ -var getTag = require('./_getTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]'; - -/** - * The base implementation of `_.isMap` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - */ -function baseIsMap(value) { - return isObjectLike(value) && getTag(value) == mapTag; -} - -module.exports = baseIsMap; diff --git a/res-pc/node_modules/lodash/_baseIsMatch.js b/res-pc/node_modules/lodash/_baseIsMatch.js deleted file mode 100644 index 72494bed..00000000 --- a/res-pc/node_modules/lodash/_baseIsMatch.js +++ /dev/null @@ -1,62 +0,0 @@ -var Stack = require('./_Stack'), - baseIsEqual = require('./_baseIsEqual'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ -function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new Stack; - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - if (!(result === undefined - ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) - : result - )) { - return false; - } - } - } - return true; -} - -module.exports = baseIsMatch; diff --git a/res-pc/node_modules/lodash/_baseIsNaN.js b/res-pc/node_modules/lodash/_baseIsNaN.js deleted file mode 100644 index 316f1eb1..00000000 --- a/res-pc/node_modules/lodash/_baseIsNaN.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ -function baseIsNaN(value) { - return value !== value; -} - -module.exports = baseIsNaN; diff --git a/res-pc/node_modules/lodash/_baseIsNative.js b/res-pc/node_modules/lodash/_baseIsNative.js deleted file mode 100644 index 87023304..00000000 --- a/res-pc/node_modules/lodash/_baseIsNative.js +++ /dev/null @@ -1,47 +0,0 @@ -var isFunction = require('./isFunction'), - isMasked = require('./_isMasked'), - isObject = require('./isObject'), - toSource = require('./_toSource'); - -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; - -/** Used to detect host constructors (Safari). */ -var reIsHostCtor = /^\[object .+?Constructor\]$/; - -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to detect if a method is native. */ -var reIsNative = RegExp('^' + - funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' -); - -/** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ -function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); -} - -module.exports = baseIsNative; diff --git a/res-pc/node_modules/lodash/_baseIsRegExp.js b/res-pc/node_modules/lodash/_baseIsRegExp.js deleted file mode 100644 index 6cd7c1ae..00000000 --- a/res-pc/node_modules/lodash/_baseIsRegExp.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var regexpTag = '[object RegExp]'; - -/** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ -function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; -} - -module.exports = baseIsRegExp; diff --git a/res-pc/node_modules/lodash/_baseIsSet.js b/res-pc/node_modules/lodash/_baseIsSet.js deleted file mode 100644 index 6dee3671..00000000 --- a/res-pc/node_modules/lodash/_baseIsSet.js +++ /dev/null @@ -1,18 +0,0 @@ -var getTag = require('./_getTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var setTag = '[object Set]'; - -/** - * The base implementation of `_.isSet` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - */ -function baseIsSet(value) { - return isObjectLike(value) && getTag(value) == setTag; -} - -module.exports = baseIsSet; diff --git a/res-pc/node_modules/lodash/_baseIsTypedArray.js b/res-pc/node_modules/lodash/_baseIsTypedArray.js deleted file mode 100644 index 1edb32ff..00000000 --- a/res-pc/node_modules/lodash/_baseIsTypedArray.js +++ /dev/null @@ -1,60 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isLength = require('./isLength'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values of typed arrays. */ -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = -typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = -typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = -typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = -typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag] = typedArrayTags[arrayTag] = -typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = -typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = -typedArrayTags[errorTag] = typedArrayTags[funcTag] = -typedArrayTags[mapTag] = typedArrayTags[numberTag] = -typedArrayTags[objectTag] = typedArrayTags[regexpTag] = -typedArrayTags[setTag] = typedArrayTags[stringTag] = -typedArrayTags[weakMapTag] = false; - -/** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ -function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; -} - -module.exports = baseIsTypedArray; diff --git a/res-pc/node_modules/lodash/_baseIteratee.js b/res-pc/node_modules/lodash/_baseIteratee.js deleted file mode 100644 index 995c2575..00000000 --- a/res-pc/node_modules/lodash/_baseIteratee.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseMatches = require('./_baseMatches'), - baseMatchesProperty = require('./_baseMatchesProperty'), - identity = require('./identity'), - isArray = require('./isArray'), - property = require('./property'); - -/** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ -function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == 'object') { - return isArray(value) - ? baseMatchesProperty(value[0], value[1]) - : baseMatches(value); - } - return property(value); -} - -module.exports = baseIteratee; diff --git a/res-pc/node_modules/lodash/_baseKeys.js b/res-pc/node_modules/lodash/_baseKeys.js deleted file mode 100644 index 45e9e6f3..00000000 --- a/res-pc/node_modules/lodash/_baseKeys.js +++ /dev/null @@ -1,30 +0,0 @@ -var isPrototype = require('./_isPrototype'), - nativeKeys = require('./_nativeKeys'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty.call(object, key) && key != 'constructor') { - result.push(key); - } - } - return result; -} - -module.exports = baseKeys; diff --git a/res-pc/node_modules/lodash/_baseKeysIn.js b/res-pc/node_modules/lodash/_baseKeysIn.js deleted file mode 100644 index ea8a0a17..00000000 --- a/res-pc/node_modules/lodash/_baseKeysIn.js +++ /dev/null @@ -1,33 +0,0 @@ -var isObject = require('./isObject'), - isPrototype = require('./_isPrototype'), - nativeKeysIn = require('./_nativeKeysIn'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; -} - -module.exports = baseKeysIn; diff --git a/res-pc/node_modules/lodash/_baseLodash.js b/res-pc/node_modules/lodash/_baseLodash.js deleted file mode 100644 index f76c790e..00000000 --- a/res-pc/node_modules/lodash/_baseLodash.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * The function whose prototype chain sequence wrappers inherit from. - * - * @private - */ -function baseLodash() { - // No operation performed. -} - -module.exports = baseLodash; diff --git a/res-pc/node_modules/lodash/_baseLt.js b/res-pc/node_modules/lodash/_baseLt.js deleted file mode 100644 index 8674d294..00000000 --- a/res-pc/node_modules/lodash/_baseLt.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ -function baseLt(value, other) { - return value < other; -} - -module.exports = baseLt; diff --git a/res-pc/node_modules/lodash/_baseMap.js b/res-pc/node_modules/lodash/_baseMap.js deleted file mode 100644 index 0bf5cead..00000000 --- a/res-pc/node_modules/lodash/_baseMap.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseEach = require('./_baseEach'), - isArrayLike = require('./isArrayLike'); - -/** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ -function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; -} - -module.exports = baseMap; diff --git a/res-pc/node_modules/lodash/_baseMatches.js b/res-pc/node_modules/lodash/_baseMatches.js deleted file mode 100644 index e56582ad..00000000 --- a/res-pc/node_modules/lodash/_baseMatches.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseIsMatch = require('./_baseIsMatch'), - getMatchData = require('./_getMatchData'), - matchesStrictComparable = require('./_matchesStrictComparable'); - -/** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ -function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; -} - -module.exports = baseMatches; diff --git a/res-pc/node_modules/lodash/_baseMatchesProperty.js b/res-pc/node_modules/lodash/_baseMatchesProperty.js deleted file mode 100644 index 24afd893..00000000 --- a/res-pc/node_modules/lodash/_baseMatchesProperty.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseIsEqual = require('./_baseIsEqual'), - get = require('./get'), - hasIn = require('./hasIn'), - isKey = require('./_isKey'), - isStrictComparable = require('./_isStrictComparable'), - matchesStrictComparable = require('./_matchesStrictComparable'), - toKey = require('./_toKey'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ -function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return (objValue === undefined && objValue === srcValue) - ? hasIn(object, path) - : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; -} - -module.exports = baseMatchesProperty; diff --git a/res-pc/node_modules/lodash/_baseMean.js b/res-pc/node_modules/lodash/_baseMean.js deleted file mode 100644 index fa9e00a0..00000000 --- a/res-pc/node_modules/lodash/_baseMean.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseSum = require('./_baseSum'); - -/** Used as references for various `Number` constants. */ -var NAN = 0 / 0; - -/** - * The base implementation of `_.mean` and `_.meanBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the mean. - */ -function baseMean(array, iteratee) { - var length = array == null ? 0 : array.length; - return length ? (baseSum(array, iteratee) / length) : NAN; -} - -module.exports = baseMean; diff --git a/res-pc/node_modules/lodash/_baseMerge.js b/res-pc/node_modules/lodash/_baseMerge.js deleted file mode 100644 index f4cb8c69..00000000 --- a/res-pc/node_modules/lodash/_baseMerge.js +++ /dev/null @@ -1,41 +0,0 @@ -var Stack = require('./_Stack'), - assignMergeValue = require('./_assignMergeValue'), - baseFor = require('./_baseFor'), - baseMergeDeep = require('./_baseMergeDeep'), - isObject = require('./isObject'), - keysIn = require('./keysIn'); - -/** - * The base implementation of `_.merge` without support for multiple sources. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {number} srcIndex The index of `source`. - * @param {Function} [customizer] The function to customize merged values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ -function baseMerge(object, source, srcIndex, customizer, stack) { - if (object === source) { - return; - } - baseFor(source, function(srcValue, key) { - if (isObject(srcValue)) { - stack || (stack = new Stack); - baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); - } - else { - var newValue = customizer - ? customizer(object[key], srcValue, (key + ''), object, source, stack) - : undefined; - - if (newValue === undefined) { - newValue = srcValue; - } - assignMergeValue(object, key, newValue); - } - }, keysIn); -} - -module.exports = baseMerge; diff --git a/res-pc/node_modules/lodash/_baseMergeDeep.js b/res-pc/node_modules/lodash/_baseMergeDeep.js deleted file mode 100644 index 42b405a3..00000000 --- a/res-pc/node_modules/lodash/_baseMergeDeep.js +++ /dev/null @@ -1,93 +0,0 @@ -var assignMergeValue = require('./_assignMergeValue'), - cloneBuffer = require('./_cloneBuffer'), - cloneTypedArray = require('./_cloneTypedArray'), - copyArray = require('./_copyArray'), - initCloneObject = require('./_initCloneObject'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isArrayLikeObject = require('./isArrayLikeObject'), - isBuffer = require('./isBuffer'), - isFunction = require('./isFunction'), - isObject = require('./isObject'), - isPlainObject = require('./isPlainObject'), - isTypedArray = require('./isTypedArray'), - toPlainObject = require('./toPlainObject'); - -/** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {number} srcIndex The index of `source`. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize assigned values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ -function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = object[key], - srcValue = source[key], - stacked = stack.get(srcValue); - - if (stacked) { - assignMergeValue(object, key, stacked); - return; - } - var newValue = customizer - ? customizer(objValue, srcValue, (key + ''), object, source, stack) - : undefined; - - var isCommon = newValue === undefined; - - if (isCommon) { - var isArr = isArray(srcValue), - isBuff = !isArr && isBuffer(srcValue), - isTyped = !isArr && !isBuff && isTypedArray(srcValue); - - newValue = srcValue; - if (isArr || isBuff || isTyped) { - if (isArray(objValue)) { - newValue = objValue; - } - else if (isArrayLikeObject(objValue)) { - newValue = copyArray(objValue); - } - else if (isBuff) { - isCommon = false; - newValue = cloneBuffer(srcValue, true); - } - else if (isTyped) { - isCommon = false; - newValue = cloneTypedArray(srcValue, true); - } - else { - newValue = []; - } - } - else if (isPlainObject(srcValue) || isArguments(srcValue)) { - newValue = objValue; - if (isArguments(objValue)) { - newValue = toPlainObject(objValue); - } - else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { - newValue = initCloneObject(srcValue); - } - } - else { - isCommon = false; - } - } - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, newValue); - mergeFunc(newValue, srcValue, srcIndex, customizer, stack); - stack['delete'](srcValue); - } - assignMergeValue(object, key, newValue); -} - -module.exports = baseMergeDeep; diff --git a/res-pc/node_modules/lodash/_baseNth.js b/res-pc/node_modules/lodash/_baseNth.js deleted file mode 100644 index 0403c2a3..00000000 --- a/res-pc/node_modules/lodash/_baseNth.js +++ /dev/null @@ -1,20 +0,0 @@ -var isIndex = require('./_isIndex'); - -/** - * The base implementation of `_.nth` which doesn't coerce arguments. - * - * @private - * @param {Array} array The array to query. - * @param {number} n The index of the element to return. - * @returns {*} Returns the nth element of `array`. - */ -function baseNth(array, n) { - var length = array.length; - if (!length) { - return; - } - n += n < 0 ? length : 0; - return isIndex(n, length) ? array[n] : undefined; -} - -module.exports = baseNth; diff --git a/res-pc/node_modules/lodash/_baseOrderBy.js b/res-pc/node_modules/lodash/_baseOrderBy.js deleted file mode 100644 index d8a46ab2..00000000 --- a/res-pc/node_modules/lodash/_baseOrderBy.js +++ /dev/null @@ -1,34 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIteratee = require('./_baseIteratee'), - baseMap = require('./_baseMap'), - baseSortBy = require('./_baseSortBy'), - baseUnary = require('./_baseUnary'), - compareMultiple = require('./_compareMultiple'), - identity = require('./identity'); - -/** - * The base implementation of `_.orderBy` without param guards. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {string[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ -function baseOrderBy(collection, iteratees, orders) { - var index = -1; - iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee)); - - var result = baseMap(collection, function(value, key, collection) { - var criteria = arrayMap(iteratees, function(iteratee) { - return iteratee(value); - }); - return { 'criteria': criteria, 'index': ++index, 'value': value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); -} - -module.exports = baseOrderBy; diff --git a/res-pc/node_modules/lodash/_basePick.js b/res-pc/node_modules/lodash/_basePick.js deleted file mode 100644 index 09b458a6..00000000 --- a/res-pc/node_modules/lodash/_basePick.js +++ /dev/null @@ -1,19 +0,0 @@ -var basePickBy = require('./_basePickBy'), - hasIn = require('./hasIn'); - -/** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ -function basePick(object, paths) { - return basePickBy(object, paths, function(value, path) { - return hasIn(object, path); - }); -} - -module.exports = basePick; diff --git a/res-pc/node_modules/lodash/_basePickBy.js b/res-pc/node_modules/lodash/_basePickBy.js deleted file mode 100644 index 85be68c8..00000000 --- a/res-pc/node_modules/lodash/_basePickBy.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseGet = require('./_baseGet'), - baseSet = require('./_baseSet'), - castPath = require('./_castPath'); - -/** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ -function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = baseGet(object, path); - - if (predicate(value, path)) { - baseSet(result, castPath(path, object), value); - } - } - return result; -} - -module.exports = basePickBy; diff --git a/res-pc/node_modules/lodash/_baseProperty.js b/res-pc/node_modules/lodash/_baseProperty.js deleted file mode 100644 index 496281ec..00000000 --- a/res-pc/node_modules/lodash/_baseProperty.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; -} - -module.exports = baseProperty; diff --git a/res-pc/node_modules/lodash/_basePropertyDeep.js b/res-pc/node_modules/lodash/_basePropertyDeep.js deleted file mode 100644 index 1e5aae50..00000000 --- a/res-pc/node_modules/lodash/_basePropertyDeep.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseGet = require('./_baseGet'); - -/** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; -} - -module.exports = basePropertyDeep; diff --git a/res-pc/node_modules/lodash/_basePropertyOf.js b/res-pc/node_modules/lodash/_basePropertyOf.js deleted file mode 100644 index 46173999..00000000 --- a/res-pc/node_modules/lodash/_basePropertyOf.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ -function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; -} - -module.exports = basePropertyOf; diff --git a/res-pc/node_modules/lodash/_basePullAll.js b/res-pc/node_modules/lodash/_basePullAll.js deleted file mode 100644 index 305720ed..00000000 --- a/res-pc/node_modules/lodash/_basePullAll.js +++ /dev/null @@ -1,51 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIndexOf = require('./_baseIndexOf'), - baseIndexOfWith = require('./_baseIndexOfWith'), - baseUnary = require('./_baseUnary'), - copyArray = require('./_copyArray'); - -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/** Built-in value references. */ -var splice = arrayProto.splice; - -/** - * The base implementation of `_.pullAllBy` without support for iteratee - * shorthands. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - */ -function basePullAll(array, values, iteratee, comparator) { - var indexOf = comparator ? baseIndexOfWith : baseIndexOf, - index = -1, - length = values.length, - seen = array; - - if (array === values) { - values = copyArray(values); - } - if (iteratee) { - seen = arrayMap(array, baseUnary(iteratee)); - } - while (++index < length) { - var fromIndex = 0, - value = values[index], - computed = iteratee ? iteratee(value) : value; - - while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { - if (seen !== array) { - splice.call(seen, fromIndex, 1); - } - splice.call(array, fromIndex, 1); - } - } - return array; -} - -module.exports = basePullAll; diff --git a/res-pc/node_modules/lodash/_basePullAt.js b/res-pc/node_modules/lodash/_basePullAt.js deleted file mode 100644 index c3e9e710..00000000 --- a/res-pc/node_modules/lodash/_basePullAt.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseUnset = require('./_baseUnset'), - isIndex = require('./_isIndex'); - -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/** Built-in value references. */ -var splice = arrayProto.splice; - -/** - * The base implementation of `_.pullAt` without support for individual - * indexes or capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ -function basePullAt(array, indexes) { - var length = array ? indexes.length : 0, - lastIndex = length - 1; - - while (length--) { - var index = indexes[length]; - if (length == lastIndex || index !== previous) { - var previous = index; - if (isIndex(index)) { - splice.call(array, index, 1); - } else { - baseUnset(array, index); - } - } - } - return array; -} - -module.exports = basePullAt; diff --git a/res-pc/node_modules/lodash/_baseRandom.js b/res-pc/node_modules/lodash/_baseRandom.js deleted file mode 100644 index 94f76a76..00000000 --- a/res-pc/node_modules/lodash/_baseRandom.js +++ /dev/null @@ -1,18 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeFloor = Math.floor, - nativeRandom = Math.random; - -/** - * The base implementation of `_.random` without support for returning - * floating-point numbers. - * - * @private - * @param {number} lower The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the random number. - */ -function baseRandom(lower, upper) { - return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); -} - -module.exports = baseRandom; diff --git a/res-pc/node_modules/lodash/_baseRange.js b/res-pc/node_modules/lodash/_baseRange.js deleted file mode 100644 index 0fb8e419..00000000 --- a/res-pc/node_modules/lodash/_baseRange.js +++ /dev/null @@ -1,28 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil, - nativeMax = Math.max; - -/** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */ -function baseRange(start, end, step, fromRight) { - var index = -1, - length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), - result = Array(length); - - while (length--) { - result[fromRight ? length : ++index] = start; - start += step; - } - return result; -} - -module.exports = baseRange; diff --git a/res-pc/node_modules/lodash/_baseReduce.js b/res-pc/node_modules/lodash/_baseReduce.js deleted file mode 100644 index 5a1f8b57..00000000 --- a/res-pc/node_modules/lodash/_baseReduce.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ -function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; -} - -module.exports = baseReduce; diff --git a/res-pc/node_modules/lodash/_baseRepeat.js b/res-pc/node_modules/lodash/_baseRepeat.js deleted file mode 100644 index ee44c31a..00000000 --- a/res-pc/node_modules/lodash/_baseRepeat.js +++ /dev/null @@ -1,35 +0,0 @@ -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeFloor = Math.floor; - -/** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ -function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); - - return result; -} - -module.exports = baseRepeat; diff --git a/res-pc/node_modules/lodash/_baseRest.js b/res-pc/node_modules/lodash/_baseRest.js deleted file mode 100644 index d0dc4bdd..00000000 --- a/res-pc/node_modules/lodash/_baseRest.js +++ /dev/null @@ -1,17 +0,0 @@ -var identity = require('./identity'), - overRest = require('./_overRest'), - setToString = require('./_setToString'); - -/** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ -function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); -} - -module.exports = baseRest; diff --git a/res-pc/node_modules/lodash/_baseSample.js b/res-pc/node_modules/lodash/_baseSample.js deleted file mode 100644 index 58582b91..00000000 --- a/res-pc/node_modules/lodash/_baseSample.js +++ /dev/null @@ -1,15 +0,0 @@ -var arraySample = require('./_arraySample'), - values = require('./values'); - -/** - * The base implementation of `_.sample`. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - */ -function baseSample(collection) { - return arraySample(values(collection)); -} - -module.exports = baseSample; diff --git a/res-pc/node_modules/lodash/_baseSampleSize.js b/res-pc/node_modules/lodash/_baseSampleSize.js deleted file mode 100644 index 5c90ec51..00000000 --- a/res-pc/node_modules/lodash/_baseSampleSize.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseClamp = require('./_baseClamp'), - shuffleSelf = require('./_shuffleSelf'), - values = require('./values'); - -/** - * The base implementation of `_.sampleSize` without param guards. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ -function baseSampleSize(collection, n) { - var array = values(collection); - return shuffleSelf(array, baseClamp(n, 0, array.length)); -} - -module.exports = baseSampleSize; diff --git a/res-pc/node_modules/lodash/_baseSet.js b/res-pc/node_modules/lodash/_baseSet.js deleted file mode 100644 index 612a24cc..00000000 --- a/res-pc/node_modules/lodash/_baseSet.js +++ /dev/null @@ -1,47 +0,0 @@ -var assignValue = require('./_assignValue'), - castPath = require('./_castPath'), - isIndex = require('./_isIndex'), - isObject = require('./isObject'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ -function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = castPath(path, object); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; -} - -module.exports = baseSet; diff --git a/res-pc/node_modules/lodash/_baseSetData.js b/res-pc/node_modules/lodash/_baseSetData.js deleted file mode 100644 index c409947d..00000000 --- a/res-pc/node_modules/lodash/_baseSetData.js +++ /dev/null @@ -1,17 +0,0 @@ -var identity = require('./identity'), - metaMap = require('./_metaMap'); - -/** - * The base implementation of `setData` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ -var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; -}; - -module.exports = baseSetData; diff --git a/res-pc/node_modules/lodash/_baseSetToString.js b/res-pc/node_modules/lodash/_baseSetToString.js deleted file mode 100644 index 89eaca38..00000000 --- a/res-pc/node_modules/lodash/_baseSetToString.js +++ /dev/null @@ -1,22 +0,0 @@ -var constant = require('./constant'), - defineProperty = require('./_defineProperty'), - identity = require('./identity'); - -/** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ -var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant(string), - 'writable': true - }); -}; - -module.exports = baseSetToString; diff --git a/res-pc/node_modules/lodash/_baseShuffle.js b/res-pc/node_modules/lodash/_baseShuffle.js deleted file mode 100644 index 023077ac..00000000 --- a/res-pc/node_modules/lodash/_baseShuffle.js +++ /dev/null @@ -1,15 +0,0 @@ -var shuffleSelf = require('./_shuffleSelf'), - values = require('./values'); - -/** - * The base implementation of `_.shuffle`. - * - * @private - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - */ -function baseShuffle(collection) { - return shuffleSelf(values(collection)); -} - -module.exports = baseShuffle; diff --git a/res-pc/node_modules/lodash/_baseSlice.js b/res-pc/node_modules/lodash/_baseSlice.js deleted file mode 100644 index 786f6c99..00000000 --- a/res-pc/node_modules/lodash/_baseSlice.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ -function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; -} - -module.exports = baseSlice; diff --git a/res-pc/node_modules/lodash/_baseSome.js b/res-pc/node_modules/lodash/_baseSome.js deleted file mode 100644 index 58f3f447..00000000 --- a/res-pc/node_modules/lodash/_baseSome.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; -} - -module.exports = baseSome; diff --git a/res-pc/node_modules/lodash/_baseSortBy.js b/res-pc/node_modules/lodash/_baseSortBy.js deleted file mode 100644 index a25c92ed..00000000 --- a/res-pc/node_modules/lodash/_baseSortBy.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * The base implementation of `_.sortBy` which uses `comparer` to define the - * sort order of `array` and replaces criteria objects with their corresponding - * values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ -function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; -} - -module.exports = baseSortBy; diff --git a/res-pc/node_modules/lodash/_baseSortedIndex.js b/res-pc/node_modules/lodash/_baseSortedIndex.js deleted file mode 100644 index 638c366c..00000000 --- a/res-pc/node_modules/lodash/_baseSortedIndex.js +++ /dev/null @@ -1,42 +0,0 @@ -var baseSortedIndexBy = require('./_baseSortedIndexBy'), - identity = require('./identity'), - isSymbol = require('./isSymbol'); - -/** Used as references for the maximum length and index of an array. */ -var MAX_ARRAY_LENGTH = 4294967295, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - -/** - * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which - * performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ -function baseSortedIndex(array, value, retHighest) { - var low = 0, - high = array == null ? low : array.length; - - if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if (computed !== null && !isSymbol(computed) && - (retHighest ? (computed <= value) : (computed < value))) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return baseSortedIndexBy(array, value, identity, retHighest); -} - -module.exports = baseSortedIndex; diff --git a/res-pc/node_modules/lodash/_baseSortedIndexBy.js b/res-pc/node_modules/lodash/_baseSortedIndexBy.js deleted file mode 100644 index bb22e36d..00000000 --- a/res-pc/node_modules/lodash/_baseSortedIndexBy.js +++ /dev/null @@ -1,64 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** Used as references for the maximum length and index of an array. */ -var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeFloor = Math.floor, - nativeMin = Math.min; - -/** - * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` - * which invokes `iteratee` for `value` and each element of `array` to compute - * their sort ranking. The iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The iteratee invoked per element. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ -function baseSortedIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - - var low = 0, - high = array == null ? 0 : array.length, - valIsNaN = value !== value, - valIsNull = value === null, - valIsSymbol = isSymbol(value), - valIsUndefined = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - othIsDefined = computed !== undefined, - othIsNull = computed === null, - othIsReflexive = computed === computed, - othIsSymbol = isSymbol(computed); - - if (valIsNaN) { - var setLow = retHighest || othIsReflexive; - } else if (valIsUndefined) { - setLow = othIsReflexive && (retHighest || othIsDefined); - } else if (valIsNull) { - setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); - } else if (valIsSymbol) { - setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); - } else if (othIsNull || othIsSymbol) { - setLow = false; - } else { - setLow = retHighest ? (computed <= value) : (computed < value); - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); -} - -module.exports = baseSortedIndexBy; diff --git a/res-pc/node_modules/lodash/_baseSortedUniq.js b/res-pc/node_modules/lodash/_baseSortedUniq.js deleted file mode 100644 index 802159a3..00000000 --- a/res-pc/node_modules/lodash/_baseSortedUniq.js +++ /dev/null @@ -1,30 +0,0 @@ -var eq = require('./eq'); - -/** - * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ -function baseSortedUniq(array, iteratee) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - if (!index || !eq(computed, seen)) { - var seen = computed; - result[resIndex++] = value === 0 ? 0 : value; - } - } - return result; -} - -module.exports = baseSortedUniq; diff --git a/res-pc/node_modules/lodash/_baseSum.js b/res-pc/node_modules/lodash/_baseSum.js deleted file mode 100644 index a9e84c13..00000000 --- a/res-pc/node_modules/lodash/_baseSum.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * The base implementation of `_.sum` and `_.sumBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ -function baseSum(array, iteratee) { - var result, - index = -1, - length = array.length; - - while (++index < length) { - var current = iteratee(array[index]); - if (current !== undefined) { - result = result === undefined ? current : (result + current); - } - } - return result; -} - -module.exports = baseSum; diff --git a/res-pc/node_modules/lodash/_baseTimes.js b/res-pc/node_modules/lodash/_baseTimes.js deleted file mode 100644 index 0603fc37..00000000 --- a/res-pc/node_modules/lodash/_baseTimes.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ -function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; -} - -module.exports = baseTimes; diff --git a/res-pc/node_modules/lodash/_baseToNumber.js b/res-pc/node_modules/lodash/_baseToNumber.js deleted file mode 100644 index 04859f39..00000000 --- a/res-pc/node_modules/lodash/_baseToNumber.js +++ /dev/null @@ -1,24 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** Used as references for various `Number` constants. */ -var NAN = 0 / 0; - -/** - * The base implementation of `_.toNumber` which doesn't ensure correct - * conversions of binary, hexadecimal, or octal string values. - * - * @private - * @param {*} value The value to process. - * @returns {number} Returns the number. - */ -function baseToNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - return +value; -} - -module.exports = baseToNumber; diff --git a/res-pc/node_modules/lodash/_baseToPairs.js b/res-pc/node_modules/lodash/_baseToPairs.js deleted file mode 100644 index bff19912..00000000 --- a/res-pc/node_modules/lodash/_baseToPairs.js +++ /dev/null @@ -1,18 +0,0 @@ -var arrayMap = require('./_arrayMap'); - -/** - * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array - * of key-value pairs for `object` corresponding to the property names of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the key-value pairs. - */ -function baseToPairs(object, props) { - return arrayMap(props, function(key) { - return [key, object[key]]; - }); -} - -module.exports = baseToPairs; diff --git a/res-pc/node_modules/lodash/_baseToString.js b/res-pc/node_modules/lodash/_baseToString.js deleted file mode 100644 index ada6ad29..00000000 --- a/res-pc/node_modules/lodash/_baseToString.js +++ /dev/null @@ -1,37 +0,0 @@ -var Symbol = require('./_Symbol'), - arrayMap = require('./_arrayMap'), - isArray = require('./isArray'), - isSymbol = require('./isSymbol'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; - -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} - -module.exports = baseToString; diff --git a/res-pc/node_modules/lodash/_baseUnary.js b/res-pc/node_modules/lodash/_baseUnary.js deleted file mode 100644 index 98639e92..00000000 --- a/res-pc/node_modules/lodash/_baseUnary.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ -function baseUnary(func) { - return function(value) { - return func(value); - }; -} - -module.exports = baseUnary; diff --git a/res-pc/node_modules/lodash/_baseUniq.js b/res-pc/node_modules/lodash/_baseUniq.js deleted file mode 100644 index aea459dc..00000000 --- a/res-pc/node_modules/lodash/_baseUniq.js +++ /dev/null @@ -1,72 +0,0 @@ -var SetCache = require('./_SetCache'), - arrayIncludes = require('./_arrayIncludes'), - arrayIncludesWith = require('./_arrayIncludesWith'), - cacheHas = require('./_cacheHas'), - createSet = require('./_createSet'), - setToArray = require('./_setToArray'); - -/** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE = 200; - -/** - * The base implementation of `_.uniqBy` without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ -function baseUniq(array, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - length = array.length, - isCommon = true, - result = [], - seen = result; - - if (comparator) { - isCommon = false; - includes = arrayIncludesWith; - } - else if (length >= LARGE_ARRAY_SIZE) { - var set = iteratee ? null : createSet(array); - if (set) { - return setToArray(set); - } - isCommon = false; - includes = cacheHas; - seen = new SetCache; - } - else { - seen = iteratee ? [] : result; - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } - else if (!includes(seen, computed, comparator)) { - if (seen !== result) { - seen.push(computed); - } - result.push(value); - } - } - return result; -} - -module.exports = baseUniq; diff --git a/res-pc/node_modules/lodash/_baseUnset.js b/res-pc/node_modules/lodash/_baseUnset.js deleted file mode 100644 index eefc6e37..00000000 --- a/res-pc/node_modules/lodash/_baseUnset.js +++ /dev/null @@ -1,20 +0,0 @@ -var castPath = require('./_castPath'), - last = require('./last'), - parent = require('./_parent'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.unset`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The property path to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - */ -function baseUnset(object, path) { - path = castPath(path, object); - object = parent(object, path); - return object == null || delete object[toKey(last(path))]; -} - -module.exports = baseUnset; diff --git a/res-pc/node_modules/lodash/_baseUpdate.js b/res-pc/node_modules/lodash/_baseUpdate.js deleted file mode 100644 index 92a62377..00000000 --- a/res-pc/node_modules/lodash/_baseUpdate.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGet = require('./_baseGet'), - baseSet = require('./_baseSet'); - -/** - * The base implementation of `_.update`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to update. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ -function baseUpdate(object, path, updater, customizer) { - return baseSet(object, path, updater(baseGet(object, path)), customizer); -} - -module.exports = baseUpdate; diff --git a/res-pc/node_modules/lodash/_baseValues.js b/res-pc/node_modules/lodash/_baseValues.js deleted file mode 100644 index b95faadc..00000000 --- a/res-pc/node_modules/lodash/_baseValues.js +++ /dev/null @@ -1,19 +0,0 @@ -var arrayMap = require('./_arrayMap'); - -/** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ -function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); -} - -module.exports = baseValues; diff --git a/res-pc/node_modules/lodash/_baseWhile.js b/res-pc/node_modules/lodash/_baseWhile.js deleted file mode 100644 index 07eac61b..00000000 --- a/res-pc/node_modules/lodash/_baseWhile.js +++ /dev/null @@ -1,26 +0,0 @@ -var baseSlice = require('./_baseSlice'); - -/** - * The base implementation of methods like `_.dropWhile` and `_.takeWhile` - * without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ -function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length) && - predicate(array[index], index, array)) {} - - return isDrop - ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) - : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); -} - -module.exports = baseWhile; diff --git a/res-pc/node_modules/lodash/_baseWrapperValue.js b/res-pc/node_modules/lodash/_baseWrapperValue.js deleted file mode 100644 index 443e0df5..00000000 --- a/res-pc/node_modules/lodash/_baseWrapperValue.js +++ /dev/null @@ -1,25 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - arrayPush = require('./_arrayPush'), - arrayReduce = require('./_arrayReduce'); - -/** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ -function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - return arrayReduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); -} - -module.exports = baseWrapperValue; diff --git a/res-pc/node_modules/lodash/_baseXor.js b/res-pc/node_modules/lodash/_baseXor.js deleted file mode 100644 index 8e69338b..00000000 --- a/res-pc/node_modules/lodash/_baseXor.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseUniq = require('./_baseUniq'); - -/** - * The base implementation of methods like `_.xor`, without support for - * iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of values. - */ -function baseXor(arrays, iteratee, comparator) { - var length = arrays.length; - if (length < 2) { - return length ? baseUniq(arrays[0]) : []; - } - var index = -1, - result = Array(length); - - while (++index < length) { - var array = arrays[index], - othIndex = -1; - - while (++othIndex < length) { - if (othIndex != index) { - result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); - } - } - } - return baseUniq(baseFlatten(result, 1), iteratee, comparator); -} - -module.exports = baseXor; diff --git a/res-pc/node_modules/lodash/_baseZipObject.js b/res-pc/node_modules/lodash/_baseZipObject.js deleted file mode 100644 index 401f85be..00000000 --- a/res-pc/node_modules/lodash/_baseZipObject.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This base implementation of `_.zipObject` which assigns values using `assignFunc`. - * - * @private - * @param {Array} props The property identifiers. - * @param {Array} values The property values. - * @param {Function} assignFunc The function to assign values. - * @returns {Object} Returns the new object. - */ -function baseZipObject(props, values, assignFunc) { - var index = -1, - length = props.length, - valsLength = values.length, - result = {}; - - while (++index < length) { - var value = index < valsLength ? values[index] : undefined; - assignFunc(result, props[index], value); - } - return result; -} - -module.exports = baseZipObject; diff --git a/res-pc/node_modules/lodash/_cacheHas.js b/res-pc/node_modules/lodash/_cacheHas.js deleted file mode 100644 index 2dec8926..00000000 --- a/res-pc/node_modules/lodash/_cacheHas.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function cacheHas(cache, key) { - return cache.has(key); -} - -module.exports = cacheHas; diff --git a/res-pc/node_modules/lodash/_castArrayLikeObject.js b/res-pc/node_modules/lodash/_castArrayLikeObject.js deleted file mode 100644 index 92c75fa1..00000000 --- a/res-pc/node_modules/lodash/_castArrayLikeObject.js +++ /dev/null @@ -1,14 +0,0 @@ -var isArrayLikeObject = require('./isArrayLikeObject'); - -/** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ -function castArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; -} - -module.exports = castArrayLikeObject; diff --git a/res-pc/node_modules/lodash/_castFunction.js b/res-pc/node_modules/lodash/_castFunction.js deleted file mode 100644 index 98c91ae6..00000000 --- a/res-pc/node_modules/lodash/_castFunction.js +++ /dev/null @@ -1,14 +0,0 @@ -var identity = require('./identity'); - -/** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ -function castFunction(value) { - return typeof value == 'function' ? value : identity; -} - -module.exports = castFunction; diff --git a/res-pc/node_modules/lodash/_castPath.js b/res-pc/node_modules/lodash/_castPath.js deleted file mode 100644 index 017e4c1b..00000000 --- a/res-pc/node_modules/lodash/_castPath.js +++ /dev/null @@ -1,21 +0,0 @@ -var isArray = require('./isArray'), - isKey = require('./_isKey'), - stringToPath = require('./_stringToPath'), - toString = require('./toString'); - -/** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ -function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); -} - -module.exports = castPath; diff --git a/res-pc/node_modules/lodash/_castRest.js b/res-pc/node_modules/lodash/_castRest.js deleted file mode 100644 index 213c66f1..00000000 --- a/res-pc/node_modules/lodash/_castRest.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseRest = require('./_baseRest'); - -/** - * A `baseRest` alias which can be replaced with `identity` by module - * replacement plugins. - * - * @private - * @type {Function} - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ -var castRest = baseRest; - -module.exports = castRest; diff --git a/res-pc/node_modules/lodash/_castSlice.js b/res-pc/node_modules/lodash/_castSlice.js deleted file mode 100644 index 071faeba..00000000 --- a/res-pc/node_modules/lodash/_castSlice.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseSlice = require('./_baseSlice'); - -/** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ -function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return (!start && end >= length) ? array : baseSlice(array, start, end); -} - -module.exports = castSlice; diff --git a/res-pc/node_modules/lodash/_charsEndIndex.js b/res-pc/node_modules/lodash/_charsEndIndex.js deleted file mode 100644 index 07908ff3..00000000 --- a/res-pc/node_modules/lodash/_charsEndIndex.js +++ /dev/null @@ -1,19 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'); - -/** - * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the last unmatched string symbol. - */ -function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; -} - -module.exports = charsEndIndex; diff --git a/res-pc/node_modules/lodash/_charsStartIndex.js b/res-pc/node_modules/lodash/_charsStartIndex.js deleted file mode 100644 index b17afd25..00000000 --- a/res-pc/node_modules/lodash/_charsStartIndex.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'); - -/** - * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the first unmatched string symbol. - */ -function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, - length = strSymbols.length; - - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; -} - -module.exports = charsStartIndex; diff --git a/res-pc/node_modules/lodash/_cloneArrayBuffer.js b/res-pc/node_modules/lodash/_cloneArrayBuffer.js deleted file mode 100644 index c3d8f6e3..00000000 --- a/res-pc/node_modules/lodash/_cloneArrayBuffer.js +++ /dev/null @@ -1,16 +0,0 @@ -var Uint8Array = require('./_Uint8Array'); - -/** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ -function cloneArrayBuffer(arrayBuffer) { - var result = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array(result).set(new Uint8Array(arrayBuffer)); - return result; -} - -module.exports = cloneArrayBuffer; diff --git a/res-pc/node_modules/lodash/_cloneBuffer.js b/res-pc/node_modules/lodash/_cloneBuffer.js deleted file mode 100644 index 27c48109..00000000 --- a/res-pc/node_modules/lodash/_cloneBuffer.js +++ /dev/null @@ -1,35 +0,0 @@ -var root = require('./_root'); - -/** Detect free variable `exports`. */ -var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports = freeModule && freeModule.exports === freeExports; - -/** Built-in value references. */ -var Buffer = moduleExports ? root.Buffer : undefined, - allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; - -/** - * Creates a clone of `buffer`. - * - * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. - */ -function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); - } - var length = buffer.length, - result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - - buffer.copy(result); - return result; -} - -module.exports = cloneBuffer; diff --git a/res-pc/node_modules/lodash/_cloneDataView.js b/res-pc/node_modules/lodash/_cloneDataView.js deleted file mode 100644 index 9c9b7b05..00000000 --- a/res-pc/node_modules/lodash/_cloneDataView.js +++ /dev/null @@ -1,16 +0,0 @@ -var cloneArrayBuffer = require('./_cloneArrayBuffer'); - -/** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */ -function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); -} - -module.exports = cloneDataView; diff --git a/res-pc/node_modules/lodash/_cloneMap.js b/res-pc/node_modules/lodash/_cloneMap.js deleted file mode 100644 index 334b73e9..00000000 --- a/res-pc/node_modules/lodash/_cloneMap.js +++ /dev/null @@ -1,22 +0,0 @@ -var addMapEntry = require('./_addMapEntry'), - arrayReduce = require('./_arrayReduce'), - mapToArray = require('./_mapToArray'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a clone of `map`. - * - * @private - * @param {Object} map The map to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned map. - */ -function cloneMap(map, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map); - return arrayReduce(array, addMapEntry, new map.constructor); -} - -module.exports = cloneMap; diff --git a/res-pc/node_modules/lodash/_cloneRegExp.js b/res-pc/node_modules/lodash/_cloneRegExp.js deleted file mode 100644 index 64a30dfb..00000000 --- a/res-pc/node_modules/lodash/_cloneRegExp.js +++ /dev/null @@ -1,17 +0,0 @@ -/** Used to match `RegExp` flags from their coerced string values. */ -var reFlags = /\w*$/; - -/** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */ -function cloneRegExp(regexp) { - var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result.lastIndex = regexp.lastIndex; - return result; -} - -module.exports = cloneRegExp; diff --git a/res-pc/node_modules/lodash/_cloneSet.js b/res-pc/node_modules/lodash/_cloneSet.js deleted file mode 100644 index 713a2f76..00000000 --- a/res-pc/node_modules/lodash/_cloneSet.js +++ /dev/null @@ -1,22 +0,0 @@ -var addSetEntry = require('./_addSetEntry'), - arrayReduce = require('./_arrayReduce'), - setToArray = require('./_setToArray'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a clone of `set`. - * - * @private - * @param {Object} set The set to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned set. - */ -function cloneSet(set, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set); - return arrayReduce(array, addSetEntry, new set.constructor); -} - -module.exports = cloneSet; diff --git a/res-pc/node_modules/lodash/_cloneSymbol.js b/res-pc/node_modules/lodash/_cloneSymbol.js deleted file mode 100644 index bede39f5..00000000 --- a/res-pc/node_modules/lodash/_cloneSymbol.js +++ /dev/null @@ -1,18 +0,0 @@ -var Symbol = require('./_Symbol'); - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; - -/** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */ -function cloneSymbol(symbol) { - return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; -} - -module.exports = cloneSymbol; diff --git a/res-pc/node_modules/lodash/_cloneTypedArray.js b/res-pc/node_modules/lodash/_cloneTypedArray.js deleted file mode 100644 index 7aad84d4..00000000 --- a/res-pc/node_modules/lodash/_cloneTypedArray.js +++ /dev/null @@ -1,16 +0,0 @@ -var cloneArrayBuffer = require('./_cloneArrayBuffer'); - -/** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */ -function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); -} - -module.exports = cloneTypedArray; diff --git a/res-pc/node_modules/lodash/_compareAscending.js b/res-pc/node_modules/lodash/_compareAscending.js deleted file mode 100644 index 8dc27910..00000000 --- a/res-pc/node_modules/lodash/_compareAscending.js +++ /dev/null @@ -1,41 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ -function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = isSymbol(value); - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = isSymbol(other); - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; -} - -module.exports = compareAscending; diff --git a/res-pc/node_modules/lodash/_compareMultiple.js b/res-pc/node_modules/lodash/_compareMultiple.js deleted file mode 100644 index ad61f0fb..00000000 --- a/res-pc/node_modules/lodash/_compareMultiple.js +++ /dev/null @@ -1,44 +0,0 @@ -var compareAscending = require('./_compareAscending'); - -/** - * Used by `_.orderBy` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, - * specify an order of "desc" for descending or "asc" for ascending sort order - * of corresponding values. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]|string[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ -function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = compareAscending(objCriteria[index], othCriteria[index]); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * (order == 'desc' ? -1 : 1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; -} - -module.exports = compareMultiple; diff --git a/res-pc/node_modules/lodash/_composeArgs.js b/res-pc/node_modules/lodash/_composeArgs.js deleted file mode 100644 index 1ce40f4f..00000000 --- a/res-pc/node_modules/lodash/_composeArgs.js +++ /dev/null @@ -1,39 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ -function composeArgs(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersLength = holders.length, - leftIndex = -1, - leftLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(leftLength + rangeLength), - isUncurried = !isCurried; - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - } - while (rangeLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; -} - -module.exports = composeArgs; diff --git a/res-pc/node_modules/lodash/_composeArgsRight.js b/res-pc/node_modules/lodash/_composeArgsRight.js deleted file mode 100644 index 8dc588d0..00000000 --- a/res-pc/node_modules/lodash/_composeArgsRight.js +++ /dev/null @@ -1,41 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ -function composeArgsRight(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersIndex = -1, - holdersLength = holders.length, - rightIndex = -1, - rightLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(rangeLength + rightLength), - isUncurried = !isCurried; - - while (++argsIndex < rangeLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - } - return result; -} - -module.exports = composeArgsRight; diff --git a/res-pc/node_modules/lodash/_copyArray.js b/res-pc/node_modules/lodash/_copyArray.js deleted file mode 100644 index cd94d5d0..00000000 --- a/res-pc/node_modules/lodash/_copyArray.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ -function copyArray(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; -} - -module.exports = copyArray; diff --git a/res-pc/node_modules/lodash/_copyObject.js b/res-pc/node_modules/lodash/_copyObject.js deleted file mode 100644 index 2f2a5c23..00000000 --- a/res-pc/node_modules/lodash/_copyObject.js +++ /dev/null @@ -1,40 +0,0 @@ -var assignValue = require('./_assignValue'), - baseAssignValue = require('./_baseAssignValue'); - -/** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ -function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; -} - -module.exports = copyObject; diff --git a/res-pc/node_modules/lodash/_copySymbols.js b/res-pc/node_modules/lodash/_copySymbols.js deleted file mode 100644 index c35944ab..00000000 --- a/res-pc/node_modules/lodash/_copySymbols.js +++ /dev/null @@ -1,16 +0,0 @@ -var copyObject = require('./_copyObject'), - getSymbols = require('./_getSymbols'); - -/** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ -function copySymbols(source, object) { - return copyObject(source, getSymbols(source), object); -} - -module.exports = copySymbols; diff --git a/res-pc/node_modules/lodash/_copySymbolsIn.js b/res-pc/node_modules/lodash/_copySymbolsIn.js deleted file mode 100644 index fdf20a73..00000000 --- a/res-pc/node_modules/lodash/_copySymbolsIn.js +++ /dev/null @@ -1,16 +0,0 @@ -var copyObject = require('./_copyObject'), - getSymbolsIn = require('./_getSymbolsIn'); - -/** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ -function copySymbolsIn(source, object) { - return copyObject(source, getSymbolsIn(source), object); -} - -module.exports = copySymbolsIn; diff --git a/res-pc/node_modules/lodash/_coreJsData.js b/res-pc/node_modules/lodash/_coreJsData.js deleted file mode 100644 index f8e5b4e3..00000000 --- a/res-pc/node_modules/lodash/_coreJsData.js +++ /dev/null @@ -1,6 +0,0 @@ -var root = require('./_root'); - -/** Used to detect overreaching core-js shims. */ -var coreJsData = root['__core-js_shared__']; - -module.exports = coreJsData; diff --git a/res-pc/node_modules/lodash/_countHolders.js b/res-pc/node_modules/lodash/_countHolders.js deleted file mode 100644 index 718fcdaa..00000000 --- a/res-pc/node_modules/lodash/_countHolders.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Gets the number of `placeholder` occurrences in `array`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} placeholder The placeholder to search for. - * @returns {number} Returns the placeholder count. - */ -function countHolders(array, placeholder) { - var length = array.length, - result = 0; - - while (length--) { - if (array[length] === placeholder) { - ++result; - } - } - return result; -} - -module.exports = countHolders; diff --git a/res-pc/node_modules/lodash/_createAggregator.js b/res-pc/node_modules/lodash/_createAggregator.js deleted file mode 100644 index 0be42c41..00000000 --- a/res-pc/node_modules/lodash/_createAggregator.js +++ /dev/null @@ -1,23 +0,0 @@ -var arrayAggregator = require('./_arrayAggregator'), - baseAggregator = require('./_baseAggregator'), - baseIteratee = require('./_baseIteratee'), - isArray = require('./isArray'); - -/** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ -function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var func = isArray(collection) ? arrayAggregator : baseAggregator, - accumulator = initializer ? initializer() : {}; - - return func(collection, setter, baseIteratee(iteratee, 2), accumulator); - }; -} - -module.exports = createAggregator; diff --git a/res-pc/node_modules/lodash/_createAssigner.js b/res-pc/node_modules/lodash/_createAssigner.js deleted file mode 100644 index 1f904c51..00000000 --- a/res-pc/node_modules/lodash/_createAssigner.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseRest = require('./_baseRest'), - isIterateeCall = require('./_isIterateeCall'); - -/** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ -function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined, - guard = length > 2 ? sources[2] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); -} - -module.exports = createAssigner; diff --git a/res-pc/node_modules/lodash/_createBaseEach.js b/res-pc/node_modules/lodash/_createBaseEach.js deleted file mode 100644 index d24fdd1b..00000000 --- a/res-pc/node_modules/lodash/_createBaseEach.js +++ /dev/null @@ -1,32 +0,0 @@ -var isArrayLike = require('./isArrayLike'); - -/** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; -} - -module.exports = createBaseEach; diff --git a/res-pc/node_modules/lodash/_createBaseFor.js b/res-pc/node_modules/lodash/_createBaseFor.js deleted file mode 100644 index 94cbf297..00000000 --- a/res-pc/node_modules/lodash/_createBaseFor.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; -} - -module.exports = createBaseFor; diff --git a/res-pc/node_modules/lodash/_createBind.js b/res-pc/node_modules/lodash/_createBind.js deleted file mode 100644 index 07cb99f4..00000000 --- a/res-pc/node_modules/lodash/_createBind.js +++ /dev/null @@ -1,28 +0,0 @@ -var createCtor = require('./_createCtor'), - root = require('./_root'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1; - -/** - * Creates a function that wraps `func` to invoke it with the optional `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createBind(func, bitmask, thisArg) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(isBind ? thisArg : this, arguments); - } - return wrapper; -} - -module.exports = createBind; diff --git a/res-pc/node_modules/lodash/_createCaseFirst.js b/res-pc/node_modules/lodash/_createCaseFirst.js deleted file mode 100644 index fe8ea483..00000000 --- a/res-pc/node_modules/lodash/_createCaseFirst.js +++ /dev/null @@ -1,33 +0,0 @@ -var castSlice = require('./_castSlice'), - hasUnicode = require('./_hasUnicode'), - stringToArray = require('./_stringToArray'), - toString = require('./toString'); - -/** - * Creates a function like `_.lowerFirst`. - * - * @private - * @param {string} methodName The name of the `String` case method to use. - * @returns {Function} Returns the new case function. - */ -function createCaseFirst(methodName) { - return function(string) { - string = toString(string); - - var strSymbols = hasUnicode(string) - ? stringToArray(string) - : undefined; - - var chr = strSymbols - ? strSymbols[0] - : string.charAt(0); - - var trailing = strSymbols - ? castSlice(strSymbols, 1).join('') - : string.slice(1); - - return chr[methodName]() + trailing; - }; -} - -module.exports = createCaseFirst; diff --git a/res-pc/node_modules/lodash/_createCompounder.js b/res-pc/node_modules/lodash/_createCompounder.js deleted file mode 100644 index 8d4cee2c..00000000 --- a/res-pc/node_modules/lodash/_createCompounder.js +++ /dev/null @@ -1,24 +0,0 @@ -var arrayReduce = require('./_arrayReduce'), - deburr = require('./deburr'), - words = require('./words'); - -/** Used to compose unicode capture groups. */ -var rsApos = "['\u2019]"; - -/** Used to match apostrophes. */ -var reApos = RegExp(rsApos, 'g'); - -/** - * Creates a function like `_.camelCase`. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ -function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); - }; -} - -module.exports = createCompounder; diff --git a/res-pc/node_modules/lodash/_createCtor.js b/res-pc/node_modules/lodash/_createCtor.js deleted file mode 100644 index 9047aa5f..00000000 --- a/res-pc/node_modules/lodash/_createCtor.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseCreate = require('./_baseCreate'), - isObject = require('./isObject'); - -/** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ -function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: return new Ctor; - case 1: return new Ctor(args[0]); - case 2: return new Ctor(args[0], args[1]); - case 3: return new Ctor(args[0], args[1], args[2]); - case 4: return new Ctor(args[0], args[1], args[2], args[3]); - case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); - case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; -} - -module.exports = createCtor; diff --git a/res-pc/node_modules/lodash/_createCurry.js b/res-pc/node_modules/lodash/_createCurry.js deleted file mode 100644 index f06c2cdd..00000000 --- a/res-pc/node_modules/lodash/_createCurry.js +++ /dev/null @@ -1,46 +0,0 @@ -var apply = require('./_apply'), - createCtor = require('./_createCtor'), - createHybrid = require('./_createHybrid'), - createRecurry = require('./_createRecurry'), - getHolder = require('./_getHolder'), - replaceHolders = require('./_replaceHolders'), - root = require('./_root'); - -/** - * Creates a function that wraps `func` to enable currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {number} arity The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createCurry(func, bitmask, arity) { - var Ctor = createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length, - placeholder = getHolder(wrapper); - - while (index--) { - args[index] = arguments[index]; - } - var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) - ? [] - : replaceHolders(args, placeholder); - - length -= holders.length; - if (length < arity) { - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, undefined, - args, holders, undefined, undefined, arity - length); - } - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return apply(fn, this, args); - } - return wrapper; -} - -module.exports = createCurry; diff --git a/res-pc/node_modules/lodash/_createFind.js b/res-pc/node_modules/lodash/_createFind.js deleted file mode 100644 index 8859ff89..00000000 --- a/res-pc/node_modules/lodash/_createFind.js +++ /dev/null @@ -1,25 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - isArrayLike = require('./isArrayLike'), - keys = require('./keys'); - -/** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ -function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = baseIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; -} - -module.exports = createFind; diff --git a/res-pc/node_modules/lodash/_createFlow.js b/res-pc/node_modules/lodash/_createFlow.js deleted file mode 100644 index baaddbf5..00000000 --- a/res-pc/node_modules/lodash/_createFlow.js +++ /dev/null @@ -1,78 +0,0 @@ -var LodashWrapper = require('./_LodashWrapper'), - flatRest = require('./_flatRest'), - getData = require('./_getData'), - getFuncName = require('./_getFuncName'), - isArray = require('./isArray'), - isLaziable = require('./_isLaziable'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** Used to compose bitmasks for function metadata. */ -var WRAP_CURRY_FLAG = 8, - WRAP_PARTIAL_FLAG = 32, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256; - -/** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ -function createFlow(fromRight) { - return flatRest(function(funcs) { - var length = funcs.length, - index = length, - prereq = LodashWrapper.prototype.thru; - - if (fromRight) { - funcs.reverse(); - } - while (index--) { - var func = funcs[index]; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (prereq && !wrapper && getFuncName(func) == 'wrapper') { - var wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? index : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if (data && isLaziable(data[0]) && - data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && - !data[4].length && data[9] == 1 - ) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = (func.length == 1 && isLaziable(func)) - ? wrapper[funcName]() - : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if (wrapper && args.length == 1 && isArray(value)) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }); -} - -module.exports = createFlow; diff --git a/res-pc/node_modules/lodash/_createHybrid.js b/res-pc/node_modules/lodash/_createHybrid.js deleted file mode 100644 index b671bd11..00000000 --- a/res-pc/node_modules/lodash/_createHybrid.js +++ /dev/null @@ -1,92 +0,0 @@ -var composeArgs = require('./_composeArgs'), - composeArgsRight = require('./_composeArgsRight'), - countHolders = require('./_countHolders'), - createCtor = require('./_createCtor'), - createRecurry = require('./_createRecurry'), - getHolder = require('./_getHolder'), - reorder = require('./_reorder'), - replaceHolders = require('./_replaceHolders'), - root = require('./_root'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_ARY_FLAG = 128, - WRAP_FLIP_FLAG = 512; - -/** - * Creates a function that wraps `func` to invoke it with optional `this` - * binding of `thisArg`, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided - * to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { - var isAry = bitmask & WRAP_ARY_FLAG, - isBind = bitmask & WRAP_BIND_FLAG, - isBindKey = bitmask & WRAP_BIND_KEY_FLAG, - isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), - isFlip = bitmask & WRAP_FLIP_FLAG, - Ctor = isBindKey ? undefined : createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length; - - while (index--) { - args[index] = arguments[index]; - } - if (isCurried) { - var placeholder = getHolder(wrapper), - holdersCount = countHolders(args, placeholder); - } - if (partials) { - args = composeArgs(args, partials, holders, isCurried); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight, isCurried); - } - length -= holdersCount; - if (isCurried && length < arity) { - var newHolders = replaceHolders(args, placeholder); - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, thisArg, - args, newHolders, argPos, ary, arity - length - ); - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - length = args.length; - if (argPos) { - args = reorder(args, argPos); - } else if (isFlip && length > 1) { - args.reverse(); - } - if (isAry && ary < length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtor(fn); - } - return fn.apply(thisBinding, args); - } - return wrapper; -} - -module.exports = createHybrid; diff --git a/res-pc/node_modules/lodash/_createInverter.js b/res-pc/node_modules/lodash/_createInverter.js deleted file mode 100644 index 6c0c5629..00000000 --- a/res-pc/node_modules/lodash/_createInverter.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseInverter = require('./_baseInverter'); - -/** - * Creates a function like `_.invertBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} toIteratee The function to resolve iteratees. - * @returns {Function} Returns the new inverter function. - */ -function createInverter(setter, toIteratee) { - return function(object, iteratee) { - return baseInverter(object, setter, toIteratee(iteratee), {}); - }; -} - -module.exports = createInverter; diff --git a/res-pc/node_modules/lodash/_createMathOperation.js b/res-pc/node_modules/lodash/_createMathOperation.js deleted file mode 100644 index f1e238ac..00000000 --- a/res-pc/node_modules/lodash/_createMathOperation.js +++ /dev/null @@ -1,38 +0,0 @@ -var baseToNumber = require('./_baseToNumber'), - baseToString = require('./_baseToString'); - -/** - * Creates a function that performs a mathematical operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @param {number} [defaultValue] The value used for `undefined` arguments. - * @returns {Function} Returns the new mathematical operation function. - */ -function createMathOperation(operator, defaultValue) { - return function(value, other) { - var result; - if (value === undefined && other === undefined) { - return defaultValue; - } - if (value !== undefined) { - result = value; - } - if (other !== undefined) { - if (result === undefined) { - return other; - } - if (typeof value == 'string' || typeof other == 'string') { - value = baseToString(value); - other = baseToString(other); - } else { - value = baseToNumber(value); - other = baseToNumber(other); - } - result = operator(value, other); - } - return result; - }; -} - -module.exports = createMathOperation; diff --git a/res-pc/node_modules/lodash/_createOver.js b/res-pc/node_modules/lodash/_createOver.js deleted file mode 100644 index 3b945516..00000000 --- a/res-pc/node_modules/lodash/_createOver.js +++ /dev/null @@ -1,27 +0,0 @@ -var apply = require('./_apply'), - arrayMap = require('./_arrayMap'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'), - baseUnary = require('./_baseUnary'), - flatRest = require('./_flatRest'); - -/** - * Creates a function like `_.over`. - * - * @private - * @param {Function} arrayFunc The function to iterate over iteratees. - * @returns {Function} Returns the new over function. - */ -function createOver(arrayFunc) { - return flatRest(function(iteratees) { - iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); - return baseRest(function(args) { - var thisArg = this; - return arrayFunc(iteratees, function(iteratee) { - return apply(iteratee, thisArg, args); - }); - }); - }); -} - -module.exports = createOver; diff --git a/res-pc/node_modules/lodash/_createPadding.js b/res-pc/node_modules/lodash/_createPadding.js deleted file mode 100644 index 2124612b..00000000 --- a/res-pc/node_modules/lodash/_createPadding.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseRepeat = require('./_baseRepeat'), - baseToString = require('./_baseToString'), - castSlice = require('./_castSlice'), - hasUnicode = require('./_hasUnicode'), - stringSize = require('./_stringSize'), - stringToArray = require('./_stringToArray'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil; - -/** - * Creates the padding for `string` based on `length`. The `chars` string - * is truncated if the number of characters exceeds `length`. - * - * @private - * @param {number} length The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padding for `string`. - */ -function createPadding(length, chars) { - chars = chars === undefined ? ' ' : baseToString(chars); - - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) - ? castSlice(stringToArray(result), 0, length).join('') - : result.slice(0, length); -} - -module.exports = createPadding; diff --git a/res-pc/node_modules/lodash/_createPartial.js b/res-pc/node_modules/lodash/_createPartial.js deleted file mode 100644 index e16c248b..00000000 --- a/res-pc/node_modules/lodash/_createPartial.js +++ /dev/null @@ -1,43 +0,0 @@ -var apply = require('./_apply'), - createCtor = require('./_createCtor'), - root = require('./_root'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1; - -/** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ -function createPartial(func, bitmask, thisArg, partials) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return apply(fn, isBind ? thisArg : this, args); - } - return wrapper; -} - -module.exports = createPartial; diff --git a/res-pc/node_modules/lodash/_createRange.js b/res-pc/node_modules/lodash/_createRange.js deleted file mode 100644 index 9f52c779..00000000 --- a/res-pc/node_modules/lodash/_createRange.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseRange = require('./_baseRange'), - isIterateeCall = require('./_isIterateeCall'), - toFinite = require('./toFinite'); - -/** - * Creates a `_.range` or `_.rangeRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new range function. - */ -function createRange(fromRight) { - return function(start, end, step) { - if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { - end = step = undefined; - } - // Ensure the sign of `-0` is preserved. - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); - return baseRange(start, end, step, fromRight); - }; -} - -module.exports = createRange; diff --git a/res-pc/node_modules/lodash/_createRecurry.js b/res-pc/node_modules/lodash/_createRecurry.js deleted file mode 100644 index eb29fb24..00000000 --- a/res-pc/node_modules/lodash/_createRecurry.js +++ /dev/null @@ -1,56 +0,0 @@ -var isLaziable = require('./_isLaziable'), - setData = require('./_setData'), - setWrapToString = require('./_setWrapToString'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64; - -/** - * Creates a function that wraps `func` to continue currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {Function} wrapFunc The function to create the `func` wrapper. - * @param {*} placeholder The placeholder value. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { - var isCurry = bitmask & WRAP_CURRY_FLAG, - newHolders = isCurry ? holders : undefined, - newHoldersRight = isCurry ? undefined : holders, - newPartials = isCurry ? partials : undefined, - newPartialsRight = isCurry ? undefined : partials; - - bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); - bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); - - if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { - bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); - } - var newData = [ - func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, - newHoldersRight, argPos, ary, arity - ]; - - var result = wrapFunc.apply(undefined, newData); - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return setWrapToString(result, func, bitmask); -} - -module.exports = createRecurry; diff --git a/res-pc/node_modules/lodash/_createRelationalOperation.js b/res-pc/node_modules/lodash/_createRelationalOperation.js deleted file mode 100644 index a17c6b5e..00000000 --- a/res-pc/node_modules/lodash/_createRelationalOperation.js +++ /dev/null @@ -1,20 +0,0 @@ -var toNumber = require('./toNumber'); - -/** - * Creates a function that performs a relational operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @returns {Function} Returns the new relational operation function. - */ -function createRelationalOperation(operator) { - return function(value, other) { - if (!(typeof value == 'string' && typeof other == 'string')) { - value = toNumber(value); - other = toNumber(other); - } - return operator(value, other); - }; -} - -module.exports = createRelationalOperation; diff --git a/res-pc/node_modules/lodash/_createRound.js b/res-pc/node_modules/lodash/_createRound.js deleted file mode 100644 index bf9b713f..00000000 --- a/res-pc/node_modules/lodash/_createRound.js +++ /dev/null @@ -1,33 +0,0 @@ -var toInteger = require('./toInteger'), - toNumber = require('./toNumber'), - toString = require('./toString'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Creates a function like `_.round`. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ -function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - number = toNumber(number); - precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); - if (precision) { - // Shift with exponential notation to avoid floating-point issues. - // See [MDN](https://mdn.io/round#Examples) for more details. - var pair = (toString(number) + 'e').split('e'), - value = func(pair[0] + 'e' + (+pair[1] + precision)); - - pair = (toString(value) + 'e').split('e'); - return +(pair[0] + 'e' + (+pair[1] - precision)); - } - return func(number); - }; -} - -module.exports = createRound; diff --git a/res-pc/node_modules/lodash/_createSet.js b/res-pc/node_modules/lodash/_createSet.js deleted file mode 100644 index 0f644eea..00000000 --- a/res-pc/node_modules/lodash/_createSet.js +++ /dev/null @@ -1,19 +0,0 @@ -var Set = require('./_Set'), - noop = require('./noop'), - setToArray = require('./_setToArray'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * Creates a set object of `values`. - * - * @private - * @param {Array} values The values to add to the set. - * @returns {Object} Returns the new set. - */ -var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { - return new Set(values); -}; - -module.exports = createSet; diff --git a/res-pc/node_modules/lodash/_createToPairs.js b/res-pc/node_modules/lodash/_createToPairs.js deleted file mode 100644 index 568417af..00000000 --- a/res-pc/node_modules/lodash/_createToPairs.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseToPairs = require('./_baseToPairs'), - getTag = require('./_getTag'), - mapToArray = require('./_mapToArray'), - setToPairs = require('./_setToPairs'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]', - setTag = '[object Set]'; - -/** - * Creates a `_.toPairs` or `_.toPairsIn` function. - * - * @private - * @param {Function} keysFunc The function to get the keys of a given object. - * @returns {Function} Returns the new pairs function. - */ -function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; -} - -module.exports = createToPairs; diff --git a/res-pc/node_modules/lodash/_createWrap.js b/res-pc/node_modules/lodash/_createWrap.js deleted file mode 100644 index 33f0633e..00000000 --- a/res-pc/node_modules/lodash/_createWrap.js +++ /dev/null @@ -1,106 +0,0 @@ -var baseSetData = require('./_baseSetData'), - createBind = require('./_createBind'), - createCurry = require('./_createCurry'), - createHybrid = require('./_createHybrid'), - createPartial = require('./_createPartial'), - getData = require('./_getData'), - mergeData = require('./_mergeData'), - setData = require('./_setData'), - setWrapToString = require('./_setWrapToString'), - toInteger = require('./toInteger'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * 512 - `_.flip` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { - var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); - arity = arity === undefined ? arity : toInteger(arity); - length -= holders ? holders.length : 0; - - if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func); - - var newData = [ - func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, - argPos, ary, arity - ]; - - if (data) { - mergeData(newData, data); - } - func = newData[0]; - bitmask = newData[1]; - thisArg = newData[2]; - partials = newData[3]; - holders = newData[4]; - arity = newData[9] = newData[9] === undefined - ? (isBindKey ? 0 : func.length) - : nativeMax(newData[9] - length, 0); - - if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { - bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); - } - if (!bitmask || bitmask == WRAP_BIND_FLAG) { - var result = createBind(func, bitmask, thisArg); - } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { - result = createCurry(func, bitmask, arity); - } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { - result = createPartial(func, bitmask, thisArg, partials); - } else { - result = createHybrid.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setWrapToString(setter(result, newData), func, bitmask); -} - -module.exports = createWrap; diff --git a/res-pc/node_modules/lodash/_customDefaultsAssignIn.js b/res-pc/node_modules/lodash/_customDefaultsAssignIn.js deleted file mode 100644 index 1f49e6fc..00000000 --- a/res-pc/node_modules/lodash/_customDefaultsAssignIn.js +++ /dev/null @@ -1,29 +0,0 @@ -var eq = require('./eq'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ -function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; -} - -module.exports = customDefaultsAssignIn; diff --git a/res-pc/node_modules/lodash/_customDefaultsMerge.js b/res-pc/node_modules/lodash/_customDefaultsMerge.js deleted file mode 100644 index 4cab3175..00000000 --- a/res-pc/node_modules/lodash/_customDefaultsMerge.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseMerge = require('./_baseMerge'), - isObject = require('./isObject'); - -/** - * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source - * objects into destination objects that are passed thru. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to merge. - * @param {Object} object The parent object of `objValue`. - * @param {Object} source The parent object of `srcValue`. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - * @returns {*} Returns the value to assign. - */ -function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { - if (isObject(objValue) && isObject(srcValue)) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, objValue); - baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); - stack['delete'](srcValue); - } - return objValue; -} - -module.exports = customDefaultsMerge; diff --git a/res-pc/node_modules/lodash/_customOmitClone.js b/res-pc/node_modules/lodash/_customOmitClone.js deleted file mode 100644 index 968db2ef..00000000 --- a/res-pc/node_modules/lodash/_customOmitClone.js +++ /dev/null @@ -1,16 +0,0 @@ -var isPlainObject = require('./isPlainObject'); - -/** - * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain - * objects. - * - * @private - * @param {*} value The value to inspect. - * @param {string} key The key of the property to inspect. - * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. - */ -function customOmitClone(value) { - return isPlainObject(value) ? undefined : value; -} - -module.exports = customOmitClone; diff --git a/res-pc/node_modules/lodash/_deburrLetter.js b/res-pc/node_modules/lodash/_deburrLetter.js deleted file mode 100644 index 3e531edc..00000000 --- a/res-pc/node_modules/lodash/_deburrLetter.js +++ /dev/null @@ -1,71 +0,0 @@ -var basePropertyOf = require('./_basePropertyOf'); - -/** Used to map Latin Unicode letters to basic Latin letters. */ -var deburredLetters = { - // Latin-1 Supplement block. - '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', - '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', - '\xc7': 'C', '\xe7': 'c', - '\xd0': 'D', '\xf0': 'd', - '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', - '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', - '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', - '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', - '\xd1': 'N', '\xf1': 'n', - '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', - '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', - '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', - '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', - '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', - '\xc6': 'Ae', '\xe6': 'ae', - '\xde': 'Th', '\xfe': 'th', - '\xdf': 'ss', - // Latin Extended-A block. - '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', - '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', - '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', - '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', - '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', - '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', - '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', - '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', - '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', - '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', - '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', - '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', - '\u0134': 'J', '\u0135': 'j', - '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', - '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', - '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', - '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', - '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', - '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', - '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', - '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', - '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', - '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', - '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', - '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', - '\u0163': 't', '\u0165': 't', '\u0167': 't', - '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', - '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', - '\u0174': 'W', '\u0175': 'w', - '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', - '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', - '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', - '\u0132': 'IJ', '\u0133': 'ij', - '\u0152': 'Oe', '\u0153': 'oe', - '\u0149': "'n", '\u017f': 's' -}; - -/** - * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A - * letters to basic Latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ -var deburrLetter = basePropertyOf(deburredLetters); - -module.exports = deburrLetter; diff --git a/res-pc/node_modules/lodash/_defineProperty.js b/res-pc/node_modules/lodash/_defineProperty.js deleted file mode 100644 index b6116d92..00000000 --- a/res-pc/node_modules/lodash/_defineProperty.js +++ /dev/null @@ -1,11 +0,0 @@ -var getNative = require('./_getNative'); - -var defineProperty = (function() { - try { - var func = getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} -}()); - -module.exports = defineProperty; diff --git a/res-pc/node_modules/lodash/_equalArrays.js b/res-pc/node_modules/lodash/_equalArrays.js deleted file mode 100644 index f6a3b7c9..00000000 --- a/res-pc/node_modules/lodash/_equalArrays.js +++ /dev/null @@ -1,83 +0,0 @@ -var SetCache = require('./_SetCache'), - arraySome = require('./_arraySome'), - cacheHas = require('./_cacheHas'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ -function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(array); - if (stacked && stack.get(other)) { - return stacked == other; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; - - stack.set(array, other); - stack.set(other, array); - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, arrValue, index, other, array, stack) - : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!arraySome(other, function(othValue, othIndex) { - if (!cacheHas(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - stack['delete'](array); - stack['delete'](other); - return result; -} - -module.exports = equalArrays; diff --git a/res-pc/node_modules/lodash/_equalByTag.js b/res-pc/node_modules/lodash/_equalByTag.js deleted file mode 100644 index 71919e86..00000000 --- a/res-pc/node_modules/lodash/_equalByTag.js +++ /dev/null @@ -1,112 +0,0 @@ -var Symbol = require('./_Symbol'), - Uint8Array = require('./_Uint8Array'), - eq = require('./eq'), - equalArrays = require('./_equalArrays'), - mapToArray = require('./_mapToArray'), - setToArray = require('./_setToArray'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - mapTag = '[object Map]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]'; - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; - -/** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if ((object.byteLength != other.byteLength) || - (object.byteOffset != other.byteOffset)) { - return false; - } - object = object.buffer; - other = other.buffer; - - case arrayBufferTag: - if ((object.byteLength != other.byteLength) || - !equalFunc(new Uint8Array(object), new Uint8Array(other))) { - return false; - } - return true; - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - case mapTag: - var convert = mapToArray; - - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; - convert || (convert = setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG; - - // Recursively compare objects (susceptible to call stack limits). - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; -} - -module.exports = equalByTag; diff --git a/res-pc/node_modules/lodash/_equalObjects.js b/res-pc/node_modules/lodash/_equalObjects.js deleted file mode 100644 index 17421f37..00000000 --- a/res-pc/node_modules/lodash/_equalObjects.js +++ /dev/null @@ -1,89 +0,0 @@ -var getAllKeys = require('./_getAllKeys'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = getAllKeys(object), - objLength = objProps.length, - othProps = getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked && stack.get(other)) { - return stacked == other; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, objValue, key, other, object, stack) - : customizer(objValue, othValue, key, object, other, stack); - } - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - stack['delete'](object); - stack['delete'](other); - return result; -} - -module.exports = equalObjects; diff --git a/res-pc/node_modules/lodash/_escapeHtmlChar.js b/res-pc/node_modules/lodash/_escapeHtmlChar.js deleted file mode 100644 index 7ca68ee6..00000000 --- a/res-pc/node_modules/lodash/_escapeHtmlChar.js +++ /dev/null @@ -1,21 +0,0 @@ -var basePropertyOf = require('./_basePropertyOf'); - -/** Used to map characters to HTML entities. */ -var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' -}; - -/** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ -var escapeHtmlChar = basePropertyOf(htmlEscapes); - -module.exports = escapeHtmlChar; diff --git a/res-pc/node_modules/lodash/_escapeStringChar.js b/res-pc/node_modules/lodash/_escapeStringChar.js deleted file mode 100644 index 44eca96c..00000000 --- a/res-pc/node_modules/lodash/_escapeStringChar.js +++ /dev/null @@ -1,22 +0,0 @@ -/** Used to escape characters for inclusion in compiled string literals. */ -var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' -}; - -/** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ -function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; -} - -module.exports = escapeStringChar; diff --git a/res-pc/node_modules/lodash/_flatRest.js b/res-pc/node_modules/lodash/_flatRest.js deleted file mode 100644 index 94ab6cca..00000000 --- a/res-pc/node_modules/lodash/_flatRest.js +++ /dev/null @@ -1,16 +0,0 @@ -var flatten = require('./flatten'), - overRest = require('./_overRest'), - setToString = require('./_setToString'); - -/** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ -function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); -} - -module.exports = flatRest; diff --git a/res-pc/node_modules/lodash/_freeGlobal.js b/res-pc/node_modules/lodash/_freeGlobal.js deleted file mode 100644 index bbec998f..00000000 --- a/res-pc/node_modules/lodash/_freeGlobal.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - -module.exports = freeGlobal; diff --git a/res-pc/node_modules/lodash/_getAllKeys.js b/res-pc/node_modules/lodash/_getAllKeys.js deleted file mode 100644 index a9ce6995..00000000 --- a/res-pc/node_modules/lodash/_getAllKeys.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseGetAllKeys = require('./_baseGetAllKeys'), - getSymbols = require('./_getSymbols'), - keys = require('./keys'); - -/** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ -function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); -} - -module.exports = getAllKeys; diff --git a/res-pc/node_modules/lodash/_getAllKeysIn.js b/res-pc/node_modules/lodash/_getAllKeysIn.js deleted file mode 100644 index 1b466784..00000000 --- a/res-pc/node_modules/lodash/_getAllKeysIn.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseGetAllKeys = require('./_baseGetAllKeys'), - getSymbolsIn = require('./_getSymbolsIn'), - keysIn = require('./keysIn'); - -/** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ -function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); -} - -module.exports = getAllKeysIn; diff --git a/res-pc/node_modules/lodash/_getData.js b/res-pc/node_modules/lodash/_getData.js deleted file mode 100644 index a1fe7b77..00000000 --- a/res-pc/node_modules/lodash/_getData.js +++ /dev/null @@ -1,15 +0,0 @@ -var metaMap = require('./_metaMap'), - noop = require('./noop'); - -/** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ -var getData = !metaMap ? noop : function(func) { - return metaMap.get(func); -}; - -module.exports = getData; diff --git a/res-pc/node_modules/lodash/_getFuncName.js b/res-pc/node_modules/lodash/_getFuncName.js deleted file mode 100644 index 21e15b33..00000000 --- a/res-pc/node_modules/lodash/_getFuncName.js +++ /dev/null @@ -1,31 +0,0 @@ -var realNames = require('./_realNames'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ -function getFuncName(func) { - var result = (func.name + ''), - array = realNames[result], - length = hasOwnProperty.call(realNames, result) ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; -} - -module.exports = getFuncName; diff --git a/res-pc/node_modules/lodash/_getHolder.js b/res-pc/node_modules/lodash/_getHolder.js deleted file mode 100644 index 65e94b5c..00000000 --- a/res-pc/node_modules/lodash/_getHolder.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Gets the argument placeholder value for `func`. - * - * @private - * @param {Function} func The function to inspect. - * @returns {*} Returns the placeholder value. - */ -function getHolder(func) { - var object = func; - return object.placeholder; -} - -module.exports = getHolder; diff --git a/res-pc/node_modules/lodash/_getMapData.js b/res-pc/node_modules/lodash/_getMapData.js deleted file mode 100644 index 17f63032..00000000 --- a/res-pc/node_modules/lodash/_getMapData.js +++ /dev/null @@ -1,18 +0,0 @@ -var isKeyable = require('./_isKeyable'); - -/** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ -function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; -} - -module.exports = getMapData; diff --git a/res-pc/node_modules/lodash/_getMatchData.js b/res-pc/node_modules/lodash/_getMatchData.js deleted file mode 100644 index 2cc70f91..00000000 --- a/res-pc/node_modules/lodash/_getMatchData.js +++ /dev/null @@ -1,24 +0,0 @@ -var isStrictComparable = require('./_isStrictComparable'), - keys = require('./keys'); - -/** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ -function getMatchData(object) { - var result = keys(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - - result[length] = [key, value, isStrictComparable(value)]; - } - return result; -} - -module.exports = getMatchData; diff --git a/res-pc/node_modules/lodash/_getNative.js b/res-pc/node_modules/lodash/_getNative.js deleted file mode 100644 index 97a622b8..00000000 --- a/res-pc/node_modules/lodash/_getNative.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseIsNative = require('./_baseIsNative'), - getValue = require('./_getValue'); - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ -function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined; -} - -module.exports = getNative; diff --git a/res-pc/node_modules/lodash/_getPrototype.js b/res-pc/node_modules/lodash/_getPrototype.js deleted file mode 100644 index e8086121..00000000 --- a/res-pc/node_modules/lodash/_getPrototype.js +++ /dev/null @@ -1,6 +0,0 @@ -var overArg = require('./_overArg'); - -/** Built-in value references. */ -var getPrototype = overArg(Object.getPrototypeOf, Object); - -module.exports = getPrototype; diff --git a/res-pc/node_modules/lodash/_getRawTag.js b/res-pc/node_modules/lodash/_getRawTag.js deleted file mode 100644 index 49a95c9c..00000000 --- a/res-pc/node_modules/lodash/_getRawTag.js +++ /dev/null @@ -1,46 +0,0 @@ -var Symbol = require('./_Symbol'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** Built-in value references. */ -var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; -} - -module.exports = getRawTag; diff --git a/res-pc/node_modules/lodash/_getSymbols.js b/res-pc/node_modules/lodash/_getSymbols.js deleted file mode 100644 index 7d6eafeb..00000000 --- a/res-pc/node_modules/lodash/_getSymbols.js +++ /dev/null @@ -1,30 +0,0 @@ -var arrayFilter = require('./_arrayFilter'), - stubArray = require('./stubArray'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Built-in value references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeGetSymbols = Object.getOwnPropertySymbols; - -/** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ -var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); -}; - -module.exports = getSymbols; diff --git a/res-pc/node_modules/lodash/_getSymbolsIn.js b/res-pc/node_modules/lodash/_getSymbolsIn.js deleted file mode 100644 index cec0855a..00000000 --- a/res-pc/node_modules/lodash/_getSymbolsIn.js +++ /dev/null @@ -1,25 +0,0 @@ -var arrayPush = require('./_arrayPush'), - getPrototype = require('./_getPrototype'), - getSymbols = require('./_getSymbols'), - stubArray = require('./stubArray'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeGetSymbols = Object.getOwnPropertySymbols; - -/** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ -var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result = []; - while (object) { - arrayPush(result, getSymbols(object)); - object = getPrototype(object); - } - return result; -}; - -module.exports = getSymbolsIn; diff --git a/res-pc/node_modules/lodash/_getTag.js b/res-pc/node_modules/lodash/_getTag.js deleted file mode 100644 index deaf89d5..00000000 --- a/res-pc/node_modules/lodash/_getTag.js +++ /dev/null @@ -1,58 +0,0 @@ -var DataView = require('./_DataView'), - Map = require('./_Map'), - Promise = require('./_Promise'), - Set = require('./_Set'), - WeakMap = require('./_WeakMap'), - baseGetTag = require('./_baseGetTag'), - toSource = require('./_toSource'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]', - objectTag = '[object Object]', - promiseTag = '[object Promise]', - setTag = '[object Set]', - weakMapTag = '[object WeakMap]'; - -var dataViewTag = '[object DataView]'; - -/** Used to detect maps, sets, and weakmaps. */ -var dataViewCtorString = toSource(DataView), - mapCtorString = toSource(Map), - promiseCtorString = toSource(Promise), - setCtorString = toSource(Set), - weakMapCtorString = toSource(WeakMap); - -/** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ -var getTag = baseGetTag; - -// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. -if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || - (Map && getTag(new Map) != mapTag) || - (Promise && getTag(Promise.resolve()) != promiseTag) || - (Set && getTag(new Set) != setTag) || - (WeakMap && getTag(new WeakMap) != weakMapTag)) { - getTag = function(value) { - var result = baseGetTag(value), - Ctor = result == objectTag ? value.constructor : undefined, - ctorString = Ctor ? toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: return dataViewTag; - case mapCtorString: return mapTag; - case promiseCtorString: return promiseTag; - case setCtorString: return setTag; - case weakMapCtorString: return weakMapTag; - } - } - return result; - }; -} - -module.exports = getTag; diff --git a/res-pc/node_modules/lodash/_getValue.js b/res-pc/node_modules/lodash/_getValue.js deleted file mode 100644 index 5f7d7736..00000000 --- a/res-pc/node_modules/lodash/_getValue.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ -function getValue(object, key) { - return object == null ? undefined : object[key]; -} - -module.exports = getValue; diff --git a/res-pc/node_modules/lodash/_getView.js b/res-pc/node_modules/lodash/_getView.js deleted file mode 100644 index df1e5d44..00000000 --- a/res-pc/node_modules/lodash/_getView.js +++ /dev/null @@ -1,33 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ -function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': start += size; break; - case 'dropRight': end -= size; break; - case 'take': end = nativeMin(end, start + size); break; - case 'takeRight': start = nativeMax(start, end - size); break; - } - } - return { 'start': start, 'end': end }; -} - -module.exports = getView; diff --git a/res-pc/node_modules/lodash/_getWrapDetails.js b/res-pc/node_modules/lodash/_getWrapDetails.js deleted file mode 100644 index 3bcc6e48..00000000 --- a/res-pc/node_modules/lodash/_getWrapDetails.js +++ /dev/null @@ -1,17 +0,0 @@ -/** Used to match wrap detail comments. */ -var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, - reSplitDetails = /,? & /; - -/** - * Extracts wrapper details from the `source` body comment. - * - * @private - * @param {string} source The source to inspect. - * @returns {Array} Returns the wrapper details. - */ -function getWrapDetails(source) { - var match = source.match(reWrapDetails); - return match ? match[1].split(reSplitDetails) : []; -} - -module.exports = getWrapDetails; diff --git a/res-pc/node_modules/lodash/_hasPath.js b/res-pc/node_modules/lodash/_hasPath.js deleted file mode 100644 index 93dbde15..00000000 --- a/res-pc/node_modules/lodash/_hasPath.js +++ /dev/null @@ -1,39 +0,0 @@ -var castPath = require('./_castPath'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isIndex = require('./_isIndex'), - isLength = require('./isLength'), - toKey = require('./_toKey'); - -/** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ -function hasPath(object, path, hasFunc) { - path = castPath(path, object); - - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && - (isArray(object) || isArguments(object)); -} - -module.exports = hasPath; diff --git a/res-pc/node_modules/lodash/_hasUnicode.js b/res-pc/node_modules/lodash/_hasUnicode.js deleted file mode 100644 index cb6ca15f..00000000 --- a/res-pc/node_modules/lodash/_hasUnicode.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsVarRange = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsZWJ = '\\u200d'; - -/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ -var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); - -/** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ -function hasUnicode(string) { - return reHasUnicode.test(string); -} - -module.exports = hasUnicode; diff --git a/res-pc/node_modules/lodash/_hasUnicodeWord.js b/res-pc/node_modules/lodash/_hasUnicodeWord.js deleted file mode 100644 index a35d6e50..00000000 --- a/res-pc/node_modules/lodash/_hasUnicodeWord.js +++ /dev/null @@ -1,15 +0,0 @@ -/** Used to detect strings that need a more robust regexp to match words. */ -var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; - -/** - * Checks if `string` contains a word composed of Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a word is found, else `false`. - */ -function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); -} - -module.exports = hasUnicodeWord; diff --git a/res-pc/node_modules/lodash/_hashClear.js b/res-pc/node_modules/lodash/_hashClear.js deleted file mode 100644 index 5d4b70cc..00000000 --- a/res-pc/node_modules/lodash/_hashClear.js +++ /dev/null @@ -1,15 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ -function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; -} - -module.exports = hashClear; diff --git a/res-pc/node_modules/lodash/_hashDelete.js b/res-pc/node_modules/lodash/_hashDelete.js deleted file mode 100644 index ea9dabf1..00000000 --- a/res-pc/node_modules/lodash/_hashDelete.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; -} - -module.exports = hashDelete; diff --git a/res-pc/node_modules/lodash/_hashGet.js b/res-pc/node_modules/lodash/_hashGet.js deleted file mode 100644 index 1fc2f34b..00000000 --- a/res-pc/node_modules/lodash/_hashGet.js +++ /dev/null @@ -1,30 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - return hasOwnProperty.call(data, key) ? data[key] : undefined; -} - -module.exports = hashGet; diff --git a/res-pc/node_modules/lodash/_hashHas.js b/res-pc/node_modules/lodash/_hashHas.js deleted file mode 100644 index 281a5517..00000000 --- a/res-pc/node_modules/lodash/_hashHas.js +++ /dev/null @@ -1,23 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function hashHas(key) { - var data = this.__data__; - return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); -} - -module.exports = hashHas; diff --git a/res-pc/node_modules/lodash/_hashSet.js b/res-pc/node_modules/lodash/_hashSet.js deleted file mode 100644 index e1055283..00000000 --- a/res-pc/node_modules/lodash/_hashSet.js +++ /dev/null @@ -1,23 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ -function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; -} - -module.exports = hashSet; diff --git a/res-pc/node_modules/lodash/_initCloneArray.js b/res-pc/node_modules/lodash/_initCloneArray.js deleted file mode 100644 index aef02120..00000000 --- a/res-pc/node_modules/lodash/_initCloneArray.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ -function initCloneArray(array) { - var length = array.length, - result = array.constructor(length); - - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; -} - -module.exports = initCloneArray; diff --git a/res-pc/node_modules/lodash/_initCloneByTag.js b/res-pc/node_modules/lodash/_initCloneByTag.js deleted file mode 100644 index e7b77edc..00000000 --- a/res-pc/node_modules/lodash/_initCloneByTag.js +++ /dev/null @@ -1,80 +0,0 @@ -var cloneArrayBuffer = require('./_cloneArrayBuffer'), - cloneDataView = require('./_cloneDataView'), - cloneMap = require('./_cloneMap'), - cloneRegExp = require('./_cloneRegExp'), - cloneSet = require('./_cloneSet'), - cloneSymbol = require('./_cloneSymbol'), - cloneTypedArray = require('./_cloneTypedArray'); - -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]', - dateTag = '[object Date]', - mapTag = '[object Map]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ -function initCloneByTag(object, tag, cloneFunc, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case dataViewTag: - return cloneDataView(object, isDeep); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - return cloneTypedArray(object, isDeep); - - case mapTag: - return cloneMap(object, isDeep, cloneFunc); - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - return cloneRegExp(object); - - case setTag: - return cloneSet(object, isDeep, cloneFunc); - - case symbolTag: - return cloneSymbol(object); - } -} - -module.exports = initCloneByTag; diff --git a/res-pc/node_modules/lodash/_initCloneObject.js b/res-pc/node_modules/lodash/_initCloneObject.js deleted file mode 100644 index 5a13e64a..00000000 --- a/res-pc/node_modules/lodash/_initCloneObject.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseCreate = require('./_baseCreate'), - getPrototype = require('./_getPrototype'), - isPrototype = require('./_isPrototype'); - -/** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ -function initCloneObject(object) { - return (typeof object.constructor == 'function' && !isPrototype(object)) - ? baseCreate(getPrototype(object)) - : {}; -} - -module.exports = initCloneObject; diff --git a/res-pc/node_modules/lodash/_insertWrapDetails.js b/res-pc/node_modules/lodash/_insertWrapDetails.js deleted file mode 100644 index e7908086..00000000 --- a/res-pc/node_modules/lodash/_insertWrapDetails.js +++ /dev/null @@ -1,23 +0,0 @@ -/** Used to match wrap detail comments. */ -var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/; - -/** - * Inserts wrapper `details` in a comment at the top of the `source` body. - * - * @private - * @param {string} source The source to modify. - * @returns {Array} details The details to insert. - * @returns {string} Returns the modified source. - */ -function insertWrapDetails(source, details) { - var length = details.length; - if (!length) { - return source; - } - var lastIndex = length - 1; - details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; - details = details.join(length > 2 ? ', ' : ' '); - return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); -} - -module.exports = insertWrapDetails; diff --git a/res-pc/node_modules/lodash/_isFlattenable.js b/res-pc/node_modules/lodash/_isFlattenable.js deleted file mode 100644 index 4cc2c249..00000000 --- a/res-pc/node_modules/lodash/_isFlattenable.js +++ /dev/null @@ -1,20 +0,0 @@ -var Symbol = require('./_Symbol'), - isArguments = require('./isArguments'), - isArray = require('./isArray'); - -/** Built-in value references. */ -var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; - -/** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ -function isFlattenable(value) { - return isArray(value) || isArguments(value) || - !!(spreadableSymbol && value && value[spreadableSymbol]); -} - -module.exports = isFlattenable; diff --git a/res-pc/node_modules/lodash/_isIndex.js b/res-pc/node_modules/lodash/_isIndex.js deleted file mode 100644 index e123dde8..00000000 --- a/res-pc/node_modules/lodash/_isIndex.js +++ /dev/null @@ -1,22 +0,0 @@ -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** Used to detect unsigned integer values. */ -var reIsUint = /^(?:0|[1-9]\d*)$/; - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && - (typeof value == 'number' || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length); -} - -module.exports = isIndex; diff --git a/res-pc/node_modules/lodash/_isIterateeCall.js b/res-pc/node_modules/lodash/_isIterateeCall.js deleted file mode 100644 index a0bb5a9c..00000000 --- a/res-pc/node_modules/lodash/_isIterateeCall.js +++ /dev/null @@ -1,30 +0,0 @@ -var eq = require('./eq'), - isArrayLike = require('./isArrayLike'), - isIndex = require('./_isIndex'), - isObject = require('./isObject'); - -/** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ -function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; -} - -module.exports = isIterateeCall; diff --git a/res-pc/node_modules/lodash/_isKey.js b/res-pc/node_modules/lodash/_isKey.js deleted file mode 100644 index ff08b068..00000000 --- a/res-pc/node_modules/lodash/_isKey.js +++ /dev/null @@ -1,29 +0,0 @@ -var isArray = require('./isArray'), - isSymbol = require('./isSymbol'); - -/** Used to match property names within property paths. */ -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; - -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ -function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); -} - -module.exports = isKey; diff --git a/res-pc/node_modules/lodash/_isKeyable.js b/res-pc/node_modules/lodash/_isKeyable.js deleted file mode 100644 index 39f1828d..00000000 --- a/res-pc/node_modules/lodash/_isKeyable.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ -function isKeyable(value) { - var type = typeof value; - return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') - ? (value !== '__proto__') - : (value === null); -} - -module.exports = isKeyable; diff --git a/res-pc/node_modules/lodash/_isLaziable.js b/res-pc/node_modules/lodash/_isLaziable.js deleted file mode 100644 index a57c4f2d..00000000 --- a/res-pc/node_modules/lodash/_isLaziable.js +++ /dev/null @@ -1,28 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - getData = require('./_getData'), - getFuncName = require('./_getFuncName'), - lodash = require('./wrapperLodash'); - -/** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, - * else `false`. - */ -function isLaziable(func) { - var funcName = getFuncName(func), - other = lodash[funcName]; - - if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { - return false; - } - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; -} - -module.exports = isLaziable; diff --git a/res-pc/node_modules/lodash/_isMaskable.js b/res-pc/node_modules/lodash/_isMaskable.js deleted file mode 100644 index eb98d09f..00000000 --- a/res-pc/node_modules/lodash/_isMaskable.js +++ /dev/null @@ -1,14 +0,0 @@ -var coreJsData = require('./_coreJsData'), - isFunction = require('./isFunction'), - stubFalse = require('./stubFalse'); - -/** - * Checks if `func` is capable of being masked. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `func` is maskable, else `false`. - */ -var isMaskable = coreJsData ? isFunction : stubFalse; - -module.exports = isMaskable; diff --git a/res-pc/node_modules/lodash/_isMasked.js b/res-pc/node_modules/lodash/_isMasked.js deleted file mode 100644 index 4b0f21ba..00000000 --- a/res-pc/node_modules/lodash/_isMasked.js +++ /dev/null @@ -1,20 +0,0 @@ -var coreJsData = require('./_coreJsData'); - -/** Used to detect methods masquerading as native. */ -var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; -}()); - -/** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ -function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); -} - -module.exports = isMasked; diff --git a/res-pc/node_modules/lodash/_isPrototype.js b/res-pc/node_modules/lodash/_isPrototype.js deleted file mode 100644 index 0f29498d..00000000 --- a/res-pc/node_modules/lodash/_isPrototype.js +++ /dev/null @@ -1,18 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ -function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; - - return value === proto; -} - -module.exports = isPrototype; diff --git a/res-pc/node_modules/lodash/_isStrictComparable.js b/res-pc/node_modules/lodash/_isStrictComparable.js deleted file mode 100644 index b59f40b8..00000000 --- a/res-pc/node_modules/lodash/_isStrictComparable.js +++ /dev/null @@ -1,15 +0,0 @@ -var isObject = require('./isObject'); - -/** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ -function isStrictComparable(value) { - return value === value && !isObject(value); -} - -module.exports = isStrictComparable; diff --git a/res-pc/node_modules/lodash/_iteratorToArray.js b/res-pc/node_modules/lodash/_iteratorToArray.js deleted file mode 100644 index 47685664..00000000 --- a/res-pc/node_modules/lodash/_iteratorToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `iterator` to an array. - * - * @private - * @param {Object} iterator The iterator to convert. - * @returns {Array} Returns the converted array. - */ -function iteratorToArray(iterator) { - var data, - result = []; - - while (!(data = iterator.next()).done) { - result.push(data.value); - } - return result; -} - -module.exports = iteratorToArray; diff --git a/res-pc/node_modules/lodash/_lazyClone.js b/res-pc/node_modules/lodash/_lazyClone.js deleted file mode 100644 index d8a51f87..00000000 --- a/res-pc/node_modules/lodash/_lazyClone.js +++ /dev/null @@ -1,23 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - copyArray = require('./_copyArray'); - -/** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ -function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = copyArray(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = copyArray(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = copyArray(this.__views__); - return result; -} - -module.exports = lazyClone; diff --git a/res-pc/node_modules/lodash/_lazyReverse.js b/res-pc/node_modules/lodash/_lazyReverse.js deleted file mode 100644 index c5b52190..00000000 --- a/res-pc/node_modules/lodash/_lazyReverse.js +++ /dev/null @@ -1,23 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'); - -/** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ -function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; -} - -module.exports = lazyReverse; diff --git a/res-pc/node_modules/lodash/_lazyValue.js b/res-pc/node_modules/lodash/_lazyValue.js deleted file mode 100644 index 371ca8d2..00000000 --- a/res-pc/node_modules/lodash/_lazyValue.js +++ /dev/null @@ -1,69 +0,0 @@ -var baseWrapperValue = require('./_baseWrapperValue'), - getView = require('./_getView'), - isArray = require('./isArray'); - -/** Used to indicate the type of lazy iteratees. */ -var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ -function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : (start - 1), - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if (!isArr || (!isRight && arrLength == length && takeCount == length)) { - return baseWrapperValue(array, this.__actions__); - } - var result = []; - - outer: - while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; -} - -module.exports = lazyValue; diff --git a/res-pc/node_modules/lodash/_listCacheClear.js b/res-pc/node_modules/lodash/_listCacheClear.js deleted file mode 100644 index acbe39a5..00000000 --- a/res-pc/node_modules/lodash/_listCacheClear.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ -function listCacheClear() { - this.__data__ = []; - this.size = 0; -} - -module.exports = listCacheClear; diff --git a/res-pc/node_modules/lodash/_listCacheDelete.js b/res-pc/node_modules/lodash/_listCacheDelete.js deleted file mode 100644 index b1384ade..00000000 --- a/res-pc/node_modules/lodash/_listCacheDelete.js +++ /dev/null @@ -1,35 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/** Built-in value references. */ -var splice = arrayProto.splice; - -/** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; -} - -module.exports = listCacheDelete; diff --git a/res-pc/node_modules/lodash/_listCacheGet.js b/res-pc/node_modules/lodash/_listCacheGet.js deleted file mode 100644 index f8192fc3..00000000 --- a/res-pc/node_modules/lodash/_listCacheGet.js +++ /dev/null @@ -1,19 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; -} - -module.exports = listCacheGet; diff --git a/res-pc/node_modules/lodash/_listCacheHas.js b/res-pc/node_modules/lodash/_listCacheHas.js deleted file mode 100644 index 2adf6714..00000000 --- a/res-pc/node_modules/lodash/_listCacheHas.js +++ /dev/null @@ -1,16 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; -} - -module.exports = listCacheHas; diff --git a/res-pc/node_modules/lodash/_listCacheSet.js b/res-pc/node_modules/lodash/_listCacheSet.js deleted file mode 100644 index 5855c95e..00000000 --- a/res-pc/node_modules/lodash/_listCacheSet.js +++ /dev/null @@ -1,26 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ -function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; -} - -module.exports = listCacheSet; diff --git a/res-pc/node_modules/lodash/_mapCacheClear.js b/res-pc/node_modules/lodash/_mapCacheClear.js deleted file mode 100644 index bc9ca204..00000000 --- a/res-pc/node_modules/lodash/_mapCacheClear.js +++ /dev/null @@ -1,21 +0,0 @@ -var Hash = require('./_Hash'), - ListCache = require('./_ListCache'), - Map = require('./_Map'); - -/** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ -function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new Hash, - 'map': new (Map || ListCache), - 'string': new Hash - }; -} - -module.exports = mapCacheClear; diff --git a/res-pc/node_modules/lodash/_mapCacheDelete.js b/res-pc/node_modules/lodash/_mapCacheDelete.js deleted file mode 100644 index 946ca3c9..00000000 --- a/res-pc/node_modules/lodash/_mapCacheDelete.js +++ /dev/null @@ -1,18 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function mapCacheDelete(key) { - var result = getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; -} - -module.exports = mapCacheDelete; diff --git a/res-pc/node_modules/lodash/_mapCacheGet.js b/res-pc/node_modules/lodash/_mapCacheGet.js deleted file mode 100644 index f29f55cf..00000000 --- a/res-pc/node_modules/lodash/_mapCacheGet.js +++ /dev/null @@ -1,16 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function mapCacheGet(key) { - return getMapData(this, key).get(key); -} - -module.exports = mapCacheGet; diff --git a/res-pc/node_modules/lodash/_mapCacheHas.js b/res-pc/node_modules/lodash/_mapCacheHas.js deleted file mode 100644 index a1214c02..00000000 --- a/res-pc/node_modules/lodash/_mapCacheHas.js +++ /dev/null @@ -1,16 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function mapCacheHas(key) { - return getMapData(this, key).has(key); -} - -module.exports = mapCacheHas; diff --git a/res-pc/node_modules/lodash/_mapCacheSet.js b/res-pc/node_modules/lodash/_mapCacheSet.js deleted file mode 100644 index 73468492..00000000 --- a/res-pc/node_modules/lodash/_mapCacheSet.js +++ /dev/null @@ -1,22 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ -function mapCacheSet(key, value) { - var data = getMapData(this, key), - size = data.size; - - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; -} - -module.exports = mapCacheSet; diff --git a/res-pc/node_modules/lodash/_mapToArray.js b/res-pc/node_modules/lodash/_mapToArray.js deleted file mode 100644 index fe3dd531..00000000 --- a/res-pc/node_modules/lodash/_mapToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ -function mapToArray(map) { - var index = -1, - result = Array(map.size); - - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; -} - -module.exports = mapToArray; diff --git a/res-pc/node_modules/lodash/_matchesStrictComparable.js b/res-pc/node_modules/lodash/_matchesStrictComparable.js deleted file mode 100644 index f608af9e..00000000 --- a/res-pc/node_modules/lodash/_matchesStrictComparable.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ -function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && - (srcValue !== undefined || (key in Object(object))); - }; -} - -module.exports = matchesStrictComparable; diff --git a/res-pc/node_modules/lodash/_memoizeCapped.js b/res-pc/node_modules/lodash/_memoizeCapped.js deleted file mode 100644 index 7f71c8fb..00000000 --- a/res-pc/node_modules/lodash/_memoizeCapped.js +++ /dev/null @@ -1,26 +0,0 @@ -var memoize = require('./memoize'); - -/** Used as the maximum memoize cache size. */ -var MAX_MEMOIZE_SIZE = 500; - -/** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ -function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; -} - -module.exports = memoizeCapped; diff --git a/res-pc/node_modules/lodash/_mergeData.js b/res-pc/node_modules/lodash/_mergeData.js deleted file mode 100644 index cb570f97..00000000 --- a/res-pc/node_modules/lodash/_mergeData.js +++ /dev/null @@ -1,90 +0,0 @@ -var composeArgs = require('./_composeArgs'), - composeArgsRight = require('./_composeArgsRight'), - replaceHolders = require('./_replaceHolders'); - -/** Used as the internal argument placeholder. */ -var PLACEHOLDER = '__lodash_placeholder__'; - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers used to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and - * `_.rearg` modify function arguments, making the order in which they are - * executed important, preventing the merging of metadata. However, we make - * an exception for a safe combined case where curried functions have `_.ary` - * and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ -function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); - - var isCombo = - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || - ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & WRAP_BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source[4]) : value; - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = value; - } - // Use source `ary` if it's smaller. - if (srcBitmask & WRAP_ARY_FLAG) { - data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; -} - -module.exports = mergeData; diff --git a/res-pc/node_modules/lodash/_metaMap.js b/res-pc/node_modules/lodash/_metaMap.js deleted file mode 100644 index 0157a0b0..00000000 --- a/res-pc/node_modules/lodash/_metaMap.js +++ /dev/null @@ -1,6 +0,0 @@ -var WeakMap = require('./_WeakMap'); - -/** Used to store function metadata. */ -var metaMap = WeakMap && new WeakMap; - -module.exports = metaMap; diff --git a/res-pc/node_modules/lodash/_nativeCreate.js b/res-pc/node_modules/lodash/_nativeCreate.js deleted file mode 100644 index c7aede85..00000000 --- a/res-pc/node_modules/lodash/_nativeCreate.js +++ /dev/null @@ -1,6 +0,0 @@ -var getNative = require('./_getNative'); - -/* Built-in method references that are verified to be native. */ -var nativeCreate = getNative(Object, 'create'); - -module.exports = nativeCreate; diff --git a/res-pc/node_modules/lodash/_nativeKeys.js b/res-pc/node_modules/lodash/_nativeKeys.js deleted file mode 100644 index 479a104a..00000000 --- a/res-pc/node_modules/lodash/_nativeKeys.js +++ /dev/null @@ -1,6 +0,0 @@ -var overArg = require('./_overArg'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeKeys = overArg(Object.keys, Object); - -module.exports = nativeKeys; diff --git a/res-pc/node_modules/lodash/_nativeKeysIn.js b/res-pc/node_modules/lodash/_nativeKeysIn.js deleted file mode 100644 index 00ee5059..00000000 --- a/res-pc/node_modules/lodash/_nativeKeysIn.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; -} - -module.exports = nativeKeysIn; diff --git a/res-pc/node_modules/lodash/_nodeUtil.js b/res-pc/node_modules/lodash/_nodeUtil.js deleted file mode 100644 index 14e179fe..00000000 --- a/res-pc/node_modules/lodash/_nodeUtil.js +++ /dev/null @@ -1,22 +0,0 @@ -var freeGlobal = require('./_freeGlobal'); - -/** Detect free variable `exports`. */ -var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports = freeModule && freeModule.exports === freeExports; - -/** Detect free variable `process` from Node.js. */ -var freeProcess = moduleExports && freeGlobal.process; - -/** Used to access faster Node.js helpers. */ -var nodeUtil = (function() { - try { - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} -}()); - -module.exports = nodeUtil; diff --git a/res-pc/node_modules/lodash/_objectToString.js b/res-pc/node_modules/lodash/_objectToString.js deleted file mode 100644 index c614ec09..00000000 --- a/res-pc/node_modules/lodash/_objectToString.js +++ /dev/null @@ -1,22 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ -function objectToString(value) { - return nativeObjectToString.call(value); -} - -module.exports = objectToString; diff --git a/res-pc/node_modules/lodash/_overArg.js b/res-pc/node_modules/lodash/_overArg.js deleted file mode 100644 index 651c5c55..00000000 --- a/res-pc/node_modules/lodash/_overArg.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; -} - -module.exports = overArg; diff --git a/res-pc/node_modules/lodash/_overRest.js b/res-pc/node_modules/lodash/_overRest.js deleted file mode 100644 index c7cdef33..00000000 --- a/res-pc/node_modules/lodash/_overRest.js +++ /dev/null @@ -1,36 +0,0 @@ -var apply = require('./_apply'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ -function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return apply(func, this, otherArgs); - }; -} - -module.exports = overRest; diff --git a/res-pc/node_modules/lodash/_parent.js b/res-pc/node_modules/lodash/_parent.js deleted file mode 100644 index f174328f..00000000 --- a/res-pc/node_modules/lodash/_parent.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseGet = require('./_baseGet'), - baseSlice = require('./_baseSlice'); - -/** - * Gets the parent value at `path` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path to get the parent value of. - * @returns {*} Returns the parent value. - */ -function parent(object, path) { - return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); -} - -module.exports = parent; diff --git a/res-pc/node_modules/lodash/_reEscape.js b/res-pc/node_modules/lodash/_reEscape.js deleted file mode 100644 index 7f47eda6..00000000 --- a/res-pc/node_modules/lodash/_reEscape.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to match template delimiters. */ -var reEscape = /<%-([\s\S]+?)%>/g; - -module.exports = reEscape; diff --git a/res-pc/node_modules/lodash/_reEvaluate.js b/res-pc/node_modules/lodash/_reEvaluate.js deleted file mode 100644 index 6adfc312..00000000 --- a/res-pc/node_modules/lodash/_reEvaluate.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to match template delimiters. */ -var reEvaluate = /<%([\s\S]+?)%>/g; - -module.exports = reEvaluate; diff --git a/res-pc/node_modules/lodash/_reInterpolate.js b/res-pc/node_modules/lodash/_reInterpolate.js deleted file mode 100644 index d02ff0b2..00000000 --- a/res-pc/node_modules/lodash/_reInterpolate.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to match template delimiters. */ -var reInterpolate = /<%=([\s\S]+?)%>/g; - -module.exports = reInterpolate; diff --git a/res-pc/node_modules/lodash/_realNames.js b/res-pc/node_modules/lodash/_realNames.js deleted file mode 100644 index aa0d5292..00000000 --- a/res-pc/node_modules/lodash/_realNames.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to lookup unminified function names. */ -var realNames = {}; - -module.exports = realNames; diff --git a/res-pc/node_modules/lodash/_reorder.js b/res-pc/node_modules/lodash/_reorder.js deleted file mode 100644 index a3502b05..00000000 --- a/res-pc/node_modules/lodash/_reorder.js +++ /dev/null @@ -1,29 +0,0 @@ -var copyArray = require('./_copyArray'), - isIndex = require('./_isIndex'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ -function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = copyArray(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; - } - return array; -} - -module.exports = reorder; diff --git a/res-pc/node_modules/lodash/_replaceHolders.js b/res-pc/node_modules/lodash/_replaceHolders.js deleted file mode 100644 index 74360ec4..00000000 --- a/res-pc/node_modules/lodash/_replaceHolders.js +++ /dev/null @@ -1,29 +0,0 @@ -/** Used as the internal argument placeholder. */ -var PLACEHOLDER = '__lodash_placeholder__'; - -/** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ -function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value === placeholder || value === PLACEHOLDER) { - array[index] = PLACEHOLDER; - result[resIndex++] = index; - } - } - return result; -} - -module.exports = replaceHolders; diff --git a/res-pc/node_modules/lodash/_root.js b/res-pc/node_modules/lodash/_root.js deleted file mode 100644 index d2852bed..00000000 --- a/res-pc/node_modules/lodash/_root.js +++ /dev/null @@ -1,9 +0,0 @@ -var freeGlobal = require('./_freeGlobal'); - -/** Detect free variable `self`. */ -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); - -module.exports = root; diff --git a/res-pc/node_modules/lodash/_setCacheAdd.js b/res-pc/node_modules/lodash/_setCacheAdd.js deleted file mode 100644 index 1081a744..00000000 --- a/res-pc/node_modules/lodash/_setCacheAdd.js +++ /dev/null @@ -1,19 +0,0 @@ -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ -function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; -} - -module.exports = setCacheAdd; diff --git a/res-pc/node_modules/lodash/_setCacheHas.js b/res-pc/node_modules/lodash/_setCacheHas.js deleted file mode 100644 index 9a492556..00000000 --- a/res-pc/node_modules/lodash/_setCacheHas.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ -function setCacheHas(value) { - return this.__data__.has(value); -} - -module.exports = setCacheHas; diff --git a/res-pc/node_modules/lodash/_setData.js b/res-pc/node_modules/lodash/_setData.js deleted file mode 100644 index e5cf3eb9..00000000 --- a/res-pc/node_modules/lodash/_setData.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseSetData = require('./_baseSetData'), - shortOut = require('./_shortOut'); - -/** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity - * function to avoid garbage collection pauses in V8. See - * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ -var setData = shortOut(baseSetData); - -module.exports = setData; diff --git a/res-pc/node_modules/lodash/_setToArray.js b/res-pc/node_modules/lodash/_setToArray.js deleted file mode 100644 index b87f0741..00000000 --- a/res-pc/node_modules/lodash/_setToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ -function setToArray(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = value; - }); - return result; -} - -module.exports = setToArray; diff --git a/res-pc/node_modules/lodash/_setToPairs.js b/res-pc/node_modules/lodash/_setToPairs.js deleted file mode 100644 index 36ad37a0..00000000 --- a/res-pc/node_modules/lodash/_setToPairs.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `set` to its value-value pairs. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the value-value pairs. - */ -function setToPairs(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; -} - -module.exports = setToPairs; diff --git a/res-pc/node_modules/lodash/_setToString.js b/res-pc/node_modules/lodash/_setToString.js deleted file mode 100644 index 6ca84196..00000000 --- a/res-pc/node_modules/lodash/_setToString.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseSetToString = require('./_baseSetToString'), - shortOut = require('./_shortOut'); - -/** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ -var setToString = shortOut(baseSetToString); - -module.exports = setToString; diff --git a/res-pc/node_modules/lodash/_setWrapToString.js b/res-pc/node_modules/lodash/_setWrapToString.js deleted file mode 100644 index decdc449..00000000 --- a/res-pc/node_modules/lodash/_setWrapToString.js +++ /dev/null @@ -1,21 +0,0 @@ -var getWrapDetails = require('./_getWrapDetails'), - insertWrapDetails = require('./_insertWrapDetails'), - setToString = require('./_setToString'), - updateWrapDetails = require('./_updateWrapDetails'); - -/** - * Sets the `toString` method of `wrapper` to mimic the source of `reference` - * with wrapper details in a comment at the top of the source body. - * - * @private - * @param {Function} wrapper The function to modify. - * @param {Function} reference The reference function. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Function} Returns `wrapper`. - */ -function setWrapToString(wrapper, reference, bitmask) { - var source = (reference + ''); - return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); -} - -module.exports = setWrapToString; diff --git a/res-pc/node_modules/lodash/_shortOut.js b/res-pc/node_modules/lodash/_shortOut.js deleted file mode 100644 index 3300a079..00000000 --- a/res-pc/node_modules/lodash/_shortOut.js +++ /dev/null @@ -1,37 +0,0 @@ -/** Used to detect hot functions by number of calls within a span of milliseconds. */ -var HOT_COUNT = 800, - HOT_SPAN = 16; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeNow = Date.now; - -/** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ -function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; -} - -module.exports = shortOut; diff --git a/res-pc/node_modules/lodash/_shuffleSelf.js b/res-pc/node_modules/lodash/_shuffleSelf.js deleted file mode 100644 index 8bcc4f5c..00000000 --- a/res-pc/node_modules/lodash/_shuffleSelf.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseRandom = require('./_baseRandom'); - -/** - * A specialized version of `_.shuffle` which mutates and sets the size of `array`. - * - * @private - * @param {Array} array The array to shuffle. - * @param {number} [size=array.length] The size of `array`. - * @returns {Array} Returns `array`. - */ -function shuffleSelf(array, size) { - var index = -1, - length = array.length, - lastIndex = length - 1; - - size = size === undefined ? length : size; - while (++index < size) { - var rand = baseRandom(index, lastIndex), - value = array[rand]; - - array[rand] = array[index]; - array[index] = value; - } - array.length = size; - return array; -} - -module.exports = shuffleSelf; diff --git a/res-pc/node_modules/lodash/_stackClear.js b/res-pc/node_modules/lodash/_stackClear.js deleted file mode 100644 index ce8e5a92..00000000 --- a/res-pc/node_modules/lodash/_stackClear.js +++ /dev/null @@ -1,15 +0,0 @@ -var ListCache = require('./_ListCache'); - -/** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ -function stackClear() { - this.__data__ = new ListCache; - this.size = 0; -} - -module.exports = stackClear; diff --git a/res-pc/node_modules/lodash/_stackDelete.js b/res-pc/node_modules/lodash/_stackDelete.js deleted file mode 100644 index ff9887ab..00000000 --- a/res-pc/node_modules/lodash/_stackDelete.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - - this.size = data.size; - return result; -} - -module.exports = stackDelete; diff --git a/res-pc/node_modules/lodash/_stackGet.js b/res-pc/node_modules/lodash/_stackGet.js deleted file mode 100644 index 1cdf0040..00000000 --- a/res-pc/node_modules/lodash/_stackGet.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function stackGet(key) { - return this.__data__.get(key); -} - -module.exports = stackGet; diff --git a/res-pc/node_modules/lodash/_stackHas.js b/res-pc/node_modules/lodash/_stackHas.js deleted file mode 100644 index 16a3ad11..00000000 --- a/res-pc/node_modules/lodash/_stackHas.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function stackHas(key) { - return this.__data__.has(key); -} - -module.exports = stackHas; diff --git a/res-pc/node_modules/lodash/_stackSet.js b/res-pc/node_modules/lodash/_stackSet.js deleted file mode 100644 index b790ac5f..00000000 --- a/res-pc/node_modules/lodash/_stackSet.js +++ /dev/null @@ -1,34 +0,0 @@ -var ListCache = require('./_ListCache'), - Map = require('./_Map'), - MapCache = require('./_MapCache'); - -/** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE = 200; - -/** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ -function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; -} - -module.exports = stackSet; diff --git a/res-pc/node_modules/lodash/_strictIndexOf.js b/res-pc/node_modules/lodash/_strictIndexOf.js deleted file mode 100644 index 0486a495..00000000 --- a/res-pc/node_modules/lodash/_strictIndexOf.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; -} - -module.exports = strictIndexOf; diff --git a/res-pc/node_modules/lodash/_strictLastIndexOf.js b/res-pc/node_modules/lodash/_strictLastIndexOf.js deleted file mode 100644 index d7310dcc..00000000 --- a/res-pc/node_modules/lodash/_strictLastIndexOf.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A specialized version of `_.lastIndexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function strictLastIndexOf(array, value, fromIndex) { - var index = fromIndex + 1; - while (index--) { - if (array[index] === value) { - return index; - } - } - return index; -} - -module.exports = strictLastIndexOf; diff --git a/res-pc/node_modules/lodash/_stringSize.js b/res-pc/node_modules/lodash/_stringSize.js deleted file mode 100644 index 17ef462a..00000000 --- a/res-pc/node_modules/lodash/_stringSize.js +++ /dev/null @@ -1,18 +0,0 @@ -var asciiSize = require('./_asciiSize'), - hasUnicode = require('./_hasUnicode'), - unicodeSize = require('./_unicodeSize'); - -/** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */ -function stringSize(string) { - return hasUnicode(string) - ? unicodeSize(string) - : asciiSize(string); -} - -module.exports = stringSize; diff --git a/res-pc/node_modules/lodash/_stringToArray.js b/res-pc/node_modules/lodash/_stringToArray.js deleted file mode 100644 index d161158c..00000000 --- a/res-pc/node_modules/lodash/_stringToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -var asciiToArray = require('./_asciiToArray'), - hasUnicode = require('./_hasUnicode'), - unicodeToArray = require('./_unicodeToArray'); - -/** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); -} - -module.exports = stringToArray; diff --git a/res-pc/node_modules/lodash/_stringToPath.js b/res-pc/node_modules/lodash/_stringToPath.js deleted file mode 100644 index db7b0f7d..00000000 --- a/res-pc/node_modules/lodash/_stringToPath.js +++ /dev/null @@ -1,28 +0,0 @@ -var memoizeCapped = require('./_memoizeCapped'); - -/** Used to match property names within property paths. */ -var reLeadingDot = /^\./, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - -/** Used to match backslashes in property paths. */ -var reEscapeChar = /\\(\\)?/g; - -/** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ -var stringToPath = memoizeCapped(function(string) { - var result = []; - if (reLeadingDot.test(string)) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; -}); - -module.exports = stringToPath; diff --git a/res-pc/node_modules/lodash/_toKey.js b/res-pc/node_modules/lodash/_toKey.js deleted file mode 100644 index c6d645c4..00000000 --- a/res-pc/node_modules/lodash/_toKey.js +++ /dev/null @@ -1,21 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ -function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} - -module.exports = toKey; diff --git a/res-pc/node_modules/lodash/_toSource.js b/res-pc/node_modules/lodash/_toSource.js deleted file mode 100644 index a020b386..00000000 --- a/res-pc/node_modules/lodash/_toSource.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used for built-in method references. */ -var funcProto = Function.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ -function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - try { - return (func + ''); - } catch (e) {} - } - return ''; -} - -module.exports = toSource; diff --git a/res-pc/node_modules/lodash/_unescapeHtmlChar.js b/res-pc/node_modules/lodash/_unescapeHtmlChar.js deleted file mode 100644 index a71fecb3..00000000 --- a/res-pc/node_modules/lodash/_unescapeHtmlChar.js +++ /dev/null @@ -1,21 +0,0 @@ -var basePropertyOf = require('./_basePropertyOf'); - -/** Used to map HTML entities to characters. */ -var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" -}; - -/** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ -var unescapeHtmlChar = basePropertyOf(htmlUnescapes); - -module.exports = unescapeHtmlChar; diff --git a/res-pc/node_modules/lodash/_unicodeSize.js b/res-pc/node_modules/lodash/_unicodeSize.js deleted file mode 100644 index 68137ec2..00000000 --- a/res-pc/node_modules/lodash/_unicodeSize.js +++ /dev/null @@ -1,44 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsVarRange = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsAstral = '[' + rsAstralRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsZWJ = '\\u200d'; - -/** Used to compose unicode regexes. */ -var reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - -/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ -var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - -/** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ -function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - ++result; - } - return result; -} - -module.exports = unicodeSize; diff --git a/res-pc/node_modules/lodash/_unicodeToArray.js b/res-pc/node_modules/lodash/_unicodeToArray.js deleted file mode 100644 index 2a725c06..00000000 --- a/res-pc/node_modules/lodash/_unicodeToArray.js +++ /dev/null @@ -1,40 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsVarRange = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsAstral = '[' + rsAstralRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsZWJ = '\\u200d'; - -/** Used to compose unicode regexes. */ -var reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - -/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ -var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - -/** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function unicodeToArray(string) { - return string.match(reUnicode) || []; -} - -module.exports = unicodeToArray; diff --git a/res-pc/node_modules/lodash/_unicodeWords.js b/res-pc/node_modules/lodash/_unicodeWords.js deleted file mode 100644 index d8b822ad..00000000 --- a/res-pc/node_modules/lodash/_unicodeWords.js +++ /dev/null @@ -1,69 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsDingbatRange = '\\u2700-\\u27bf', - rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', - rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', - rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', - rsPunctuationRange = '\\u2000-\\u206f', - rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', - rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', - rsVarRange = '\\ufe0e\\ufe0f', - rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; - -/** Used to compose unicode capture groups. */ -var rsApos = "['\u2019]", - rsBreak = '[' + rsBreakRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsDigits = '\\d+', - rsDingbat = '[' + rsDingbatRange + ']', - rsLower = '[' + rsLowerRange + ']', - rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsUpper = '[' + rsUpperRange + ']', - rsZWJ = '\\u200d'; - -/** Used to compose unicode regexes. */ -var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', - rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', - rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', - rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', - reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)', - rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq; - -/** Used to match complex or compound words. */ -var reUnicodeWord = RegExp([ - rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', - rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', - rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, - rsUpper + '+' + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji -].join('|'), 'g'); - -/** - * Splits a Unicode `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ -function unicodeWords(string) { - return string.match(reUnicodeWord) || []; -} - -module.exports = unicodeWords; diff --git a/res-pc/node_modules/lodash/_updateWrapDetails.js b/res-pc/node_modules/lodash/_updateWrapDetails.js deleted file mode 100644 index 8759fbdf..00000000 --- a/res-pc/node_modules/lodash/_updateWrapDetails.js +++ /dev/null @@ -1,46 +0,0 @@ -var arrayEach = require('./_arrayEach'), - arrayIncludes = require('./_arrayIncludes'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256, - WRAP_FLIP_FLAG = 512; - -/** Used to associate wrap methods with their bit flags. */ -var wrapFlags = [ - ['ary', WRAP_ARY_FLAG], - ['bind', WRAP_BIND_FLAG], - ['bindKey', WRAP_BIND_KEY_FLAG], - ['curry', WRAP_CURRY_FLAG], - ['curryRight', WRAP_CURRY_RIGHT_FLAG], - ['flip', WRAP_FLIP_FLAG], - ['partial', WRAP_PARTIAL_FLAG], - ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], - ['rearg', WRAP_REARG_FLAG] -]; - -/** - * Updates wrapper `details` based on `bitmask` flags. - * - * @private - * @returns {Array} details The details to modify. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Array} Returns `details`. - */ -function updateWrapDetails(details, bitmask) { - arrayEach(wrapFlags, function(pair) { - var value = '_.' + pair[0]; - if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { - details.push(value); - } - }); - return details.sort(); -} - -module.exports = updateWrapDetails; diff --git a/res-pc/node_modules/lodash/_wrapperClone.js b/res-pc/node_modules/lodash/_wrapperClone.js deleted file mode 100644 index 7bb58a2e..00000000 --- a/res-pc/node_modules/lodash/_wrapperClone.js +++ /dev/null @@ -1,23 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - LodashWrapper = require('./_LodashWrapper'), - copyArray = require('./_copyArray'); - -/** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ -function wrapperClone(wrapper) { - if (wrapper instanceof LazyWrapper) { - return wrapper.clone(); - } - var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); - result.__actions__ = copyArray(wrapper.__actions__); - result.__index__ = wrapper.__index__; - result.__values__ = wrapper.__values__; - return result; -} - -module.exports = wrapperClone; diff --git a/res-pc/node_modules/lodash/add.js b/res-pc/node_modules/lodash/add.js deleted file mode 100644 index f0695156..00000000 --- a/res-pc/node_modules/lodash/add.js +++ /dev/null @@ -1,22 +0,0 @@ -var createMathOperation = require('./_createMathOperation'); - -/** - * Adds two numbers. - * - * @static - * @memberOf _ - * @since 3.4.0 - * @category Math - * @param {number} augend The first number in an addition. - * @param {number} addend The second number in an addition. - * @returns {number} Returns the total. - * @example - * - * _.add(6, 4); - * // => 10 - */ -var add = createMathOperation(function(augend, addend) { - return augend + addend; -}, 0); - -module.exports = add; diff --git a/res-pc/node_modules/lodash/after.js b/res-pc/node_modules/lodash/after.js deleted file mode 100644 index 3900c979..00000000 --- a/res-pc/node_modules/lodash/after.js +++ /dev/null @@ -1,42 +0,0 @@ -var toInteger = require('./toInteger'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it's called `n` or more times. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => Logs 'done saving!' after the two async saves have completed. - */ -function after(n, func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; -} - -module.exports = after; diff --git a/res-pc/node_modules/lodash/array.js b/res-pc/node_modules/lodash/array.js deleted file mode 100644 index af688d3e..00000000 --- a/res-pc/node_modules/lodash/array.js +++ /dev/null @@ -1,67 +0,0 @@ -module.exports = { - 'chunk': require('./chunk'), - 'compact': require('./compact'), - 'concat': require('./concat'), - 'difference': require('./difference'), - 'differenceBy': require('./differenceBy'), - 'differenceWith': require('./differenceWith'), - 'drop': require('./drop'), - 'dropRight': require('./dropRight'), - 'dropRightWhile': require('./dropRightWhile'), - 'dropWhile': require('./dropWhile'), - 'fill': require('./fill'), - 'findIndex': require('./findIndex'), - 'findLastIndex': require('./findLastIndex'), - 'first': require('./first'), - 'flatten': require('./flatten'), - 'flattenDeep': require('./flattenDeep'), - 'flattenDepth': require('./flattenDepth'), - 'fromPairs': require('./fromPairs'), - 'head': require('./head'), - 'indexOf': require('./indexOf'), - 'initial': require('./initial'), - 'intersection': require('./intersection'), - 'intersectionBy': require('./intersectionBy'), - 'intersectionWith': require('./intersectionWith'), - 'join': require('./join'), - 'last': require('./last'), - 'lastIndexOf': require('./lastIndexOf'), - 'nth': require('./nth'), - 'pull': require('./pull'), - 'pullAll': require('./pullAll'), - 'pullAllBy': require('./pullAllBy'), - 'pullAllWith': require('./pullAllWith'), - 'pullAt': require('./pullAt'), - 'remove': require('./remove'), - 'reverse': require('./reverse'), - 'slice': require('./slice'), - 'sortedIndex': require('./sortedIndex'), - 'sortedIndexBy': require('./sortedIndexBy'), - 'sortedIndexOf': require('./sortedIndexOf'), - 'sortedLastIndex': require('./sortedLastIndex'), - 'sortedLastIndexBy': require('./sortedLastIndexBy'), - 'sortedLastIndexOf': require('./sortedLastIndexOf'), - 'sortedUniq': require('./sortedUniq'), - 'sortedUniqBy': require('./sortedUniqBy'), - 'tail': require('./tail'), - 'take': require('./take'), - 'takeRight': require('./takeRight'), - 'takeRightWhile': require('./takeRightWhile'), - 'takeWhile': require('./takeWhile'), - 'union': require('./union'), - 'unionBy': require('./unionBy'), - 'unionWith': require('./unionWith'), - 'uniq': require('./uniq'), - 'uniqBy': require('./uniqBy'), - 'uniqWith': require('./uniqWith'), - 'unzip': require('./unzip'), - 'unzipWith': require('./unzipWith'), - 'without': require('./without'), - 'xor': require('./xor'), - 'xorBy': require('./xorBy'), - 'xorWith': require('./xorWith'), - 'zip': require('./zip'), - 'zipObject': require('./zipObject'), - 'zipObjectDeep': require('./zipObjectDeep'), - 'zipWith': require('./zipWith') -}; diff --git a/res-pc/node_modules/lodash/ary.js b/res-pc/node_modules/lodash/ary.js deleted file mode 100644 index 70c87d09..00000000 --- a/res-pc/node_modules/lodash/ary.js +++ /dev/null @@ -1,29 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_ARY_FLAG = 128; - -/** - * Creates a function that invokes `func`, with up to `n` arguments, - * ignoring any additional arguments. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ -function ary(func, n, guard) { - n = guard ? undefined : n; - n = (func && n == null) ? func.length : n; - return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); -} - -module.exports = ary; diff --git a/res-pc/node_modules/lodash/assign.js b/res-pc/node_modules/lodash/assign.js deleted file mode 100644 index 909db26a..00000000 --- a/res-pc/node_modules/lodash/assign.js +++ /dev/null @@ -1,58 +0,0 @@ -var assignValue = require('./_assignValue'), - copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - isArrayLike = require('./isArrayLike'), - isPrototype = require('./_isPrototype'), - keys = require('./keys'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ -var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { - copyObject(source, keys(source), object); - return; - } - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - assignValue(object, key, source[key]); - } - } -}); - -module.exports = assign; diff --git a/res-pc/node_modules/lodash/assignIn.js b/res-pc/node_modules/lodash/assignIn.js deleted file mode 100644 index e663473a..00000000 --- a/res-pc/node_modules/lodash/assignIn.js +++ /dev/null @@ -1,40 +0,0 @@ -var copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - keysIn = require('./keysIn'); - -/** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ -var assignIn = createAssigner(function(object, source) { - copyObject(source, keysIn(source), object); -}); - -module.exports = assignIn; diff --git a/res-pc/node_modules/lodash/assignInWith.js b/res-pc/node_modules/lodash/assignInWith.js deleted file mode 100644 index 68fcc0b0..00000000 --- a/res-pc/node_modules/lodash/assignInWith.js +++ /dev/null @@ -1,38 +0,0 @@ -var copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - keysIn = require('./keysIn'); - -/** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); -}); - -module.exports = assignInWith; diff --git a/res-pc/node_modules/lodash/assignWith.js b/res-pc/node_modules/lodash/assignWith.js deleted file mode 100644 index 7dc6c761..00000000 --- a/res-pc/node_modules/lodash/assignWith.js +++ /dev/null @@ -1,37 +0,0 @@ -var copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - keys = require('./keys'); - -/** - * This method is like `_.assign` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignInWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var assignWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keys(source), object, customizer); -}); - -module.exports = assignWith; diff --git a/res-pc/node_modules/lodash/at.js b/res-pc/node_modules/lodash/at.js deleted file mode 100644 index 781ee9e5..00000000 --- a/res-pc/node_modules/lodash/at.js +++ /dev/null @@ -1,23 +0,0 @@ -var baseAt = require('./_baseAt'), - flatRest = require('./_flatRest'); - -/** - * Creates an array of values corresponding to `paths` of `object`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Array} Returns the picked values. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _.at(object, ['a[0].b.c', 'a[1]']); - * // => [3, 4] - */ -var at = flatRest(baseAt); - -module.exports = at; diff --git a/res-pc/node_modules/lodash/attempt.js b/res-pc/node_modules/lodash/attempt.js deleted file mode 100644 index 624d0152..00000000 --- a/res-pc/node_modules/lodash/attempt.js +++ /dev/null @@ -1,35 +0,0 @@ -var apply = require('./_apply'), - baseRest = require('./_baseRest'), - isError = require('./isError'); - -/** - * Attempts to invoke `func`, returning either the result or the caught error - * object. Any additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Util - * @param {Function} func The function to attempt. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {*} Returns the `func` result or error object. - * @example - * - * // Avoid throwing errors for invalid selectors. - * var elements = _.attempt(function(selector) { - * return document.querySelectorAll(selector); - * }, '>_>'); - * - * if (_.isError(elements)) { - * elements = []; - * } - */ -var attempt = baseRest(function(func, args) { - try { - return apply(func, undefined, args); - } catch (e) { - return isError(e) ? e : new Error(e); - } -}); - -module.exports = attempt; diff --git a/res-pc/node_modules/lodash/before.js b/res-pc/node_modules/lodash/before.js deleted file mode 100644 index a3e0a16c..00000000 --- a/res-pc/node_modules/lodash/before.js +++ /dev/null @@ -1,40 +0,0 @@ -var toInteger = require('./toInteger'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ -function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; -} - -module.exports = before; diff --git a/res-pc/node_modules/lodash/bind.js b/res-pc/node_modules/lodash/bind.js deleted file mode 100644 index b1076e93..00000000 --- a/res-pc/node_modules/lodash/bind.js +++ /dev/null @@ -1,57 +0,0 @@ -var baseRest = require('./_baseRest'), - createWrap = require('./_createWrap'), - getHolder = require('./_getHolder'), - replaceHolders = require('./_replaceHolders'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_PARTIAL_FLAG = 32; - -/** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ -var bind = baseRest(function(func, thisArg, partials) { - var bitmask = WRAP_BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(func, bitmask, thisArg, partials, holders); -}); - -// Assign default placeholders. -bind.placeholder = {}; - -module.exports = bind; diff --git a/res-pc/node_modules/lodash/bindAll.js b/res-pc/node_modules/lodash/bindAll.js deleted file mode 100644 index a35706de..00000000 --- a/res-pc/node_modules/lodash/bindAll.js +++ /dev/null @@ -1,41 +0,0 @@ -var arrayEach = require('./_arrayEach'), - baseAssignValue = require('./_baseAssignValue'), - bind = require('./bind'), - flatRest = require('./_flatRest'), - toKey = require('./_toKey'); - -/** - * Binds methods of an object to the object itself, overwriting the existing - * method. - * - * **Note:** This method doesn't set the "length" property of bound functions. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {Object} object The object to bind and assign the bound methods to. - * @param {...(string|string[])} methodNames The object method names to bind. - * @returns {Object} Returns `object`. - * @example - * - * var view = { - * 'label': 'docs', - * 'click': function() { - * console.log('clicked ' + this.label); - * } - * }; - * - * _.bindAll(view, ['click']); - * jQuery(element).on('click', view.click); - * // => Logs 'clicked docs' when clicked. - */ -var bindAll = flatRest(function(object, methodNames) { - arrayEach(methodNames, function(key) { - key = toKey(key); - baseAssignValue(object, key, bind(object[key], object)); - }); - return object; -}); - -module.exports = bindAll; diff --git a/res-pc/node_modules/lodash/bindKey.js b/res-pc/node_modules/lodash/bindKey.js deleted file mode 100644 index f7fd64cd..00000000 --- a/res-pc/node_modules/lodash/bindKey.js +++ /dev/null @@ -1,68 +0,0 @@ -var baseRest = require('./_baseRest'), - createWrap = require('./_createWrap'), - getHolder = require('./_getHolder'), - replaceHolders = require('./_replaceHolders'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_PARTIAL_FLAG = 32; - -/** - * Creates a function that invokes the method at `object[key]` with `partials` - * prepended to the arguments it receives. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. See - * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Function - * @param {Object} object The object to invoke the method on. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // Bound with placeholders. - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ -var bindKey = baseRest(function(object, key, partials) { - var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(key, bitmask, object, partials, holders); -}); - -// Assign default placeholders. -bindKey.placeholder = {}; - -module.exports = bindKey; diff --git a/res-pc/node_modules/lodash/camelCase.js b/res-pc/node_modules/lodash/camelCase.js deleted file mode 100644 index d7390def..00000000 --- a/res-pc/node_modules/lodash/camelCase.js +++ /dev/null @@ -1,29 +0,0 @@ -var capitalize = require('./capitalize'), - createCompounder = require('./_createCompounder'); - -/** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar--'); - * // => 'fooBar' - * - * _.camelCase('__FOO_BAR__'); - * // => 'fooBar' - */ -var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return result + (index ? capitalize(word) : word); -}); - -module.exports = camelCase; diff --git a/res-pc/node_modules/lodash/capitalize.js b/res-pc/node_modules/lodash/capitalize.js deleted file mode 100644 index 3e1600e7..00000000 --- a/res-pc/node_modules/lodash/capitalize.js +++ /dev/null @@ -1,23 +0,0 @@ -var toString = require('./toString'), - upperFirst = require('./upperFirst'); - -/** - * Converts the first character of `string` to upper case and the remaining - * to lower case. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('FRED'); - * // => 'Fred' - */ -function capitalize(string) { - return upperFirst(toString(string).toLowerCase()); -} - -module.exports = capitalize; diff --git a/res-pc/node_modules/lodash/castArray.js b/res-pc/node_modules/lodash/castArray.js deleted file mode 100644 index e470bdb9..00000000 --- a/res-pc/node_modules/lodash/castArray.js +++ /dev/null @@ -1,44 +0,0 @@ -var isArray = require('./isArray'); - -/** - * Casts `value` as an array if it's not one. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Lang - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast array. - * @example - * - * _.castArray(1); - * // => [1] - * - * _.castArray({ 'a': 1 }); - * // => [{ 'a': 1 }] - * - * _.castArray('abc'); - * // => ['abc'] - * - * _.castArray(null); - * // => [null] - * - * _.castArray(undefined); - * // => [undefined] - * - * _.castArray(); - * // => [] - * - * var array = [1, 2, 3]; - * console.log(_.castArray(array) === array); - * // => true - */ -function castArray() { - if (!arguments.length) { - return []; - } - var value = arguments[0]; - return isArray(value) ? value : [value]; -} - -module.exports = castArray; diff --git a/res-pc/node_modules/lodash/ceil.js b/res-pc/node_modules/lodash/ceil.js deleted file mode 100644 index 56c8722c..00000000 --- a/res-pc/node_modules/lodash/ceil.js +++ /dev/null @@ -1,26 +0,0 @@ -var createRound = require('./_createRound'); - -/** - * Computes `number` rounded up to `precision`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Math - * @param {number} number The number to round up. - * @param {number} [precision=0] The precision to round up to. - * @returns {number} Returns the rounded up number. - * @example - * - * _.ceil(4.006); - * // => 5 - * - * _.ceil(6.004, 2); - * // => 6.01 - * - * _.ceil(6040, -2); - * // => 6100 - */ -var ceil = createRound('ceil'); - -module.exports = ceil; diff --git a/res-pc/node_modules/lodash/chain.js b/res-pc/node_modules/lodash/chain.js deleted file mode 100644 index f6cd6475..00000000 --- a/res-pc/node_modules/lodash/chain.js +++ /dev/null @@ -1,38 +0,0 @@ -var lodash = require('./wrapperLodash'); - -/** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ -function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; -} - -module.exports = chain; diff --git a/res-pc/node_modules/lodash/chunk.js b/res-pc/node_modules/lodash/chunk.js deleted file mode 100644 index 5b562fef..00000000 --- a/res-pc/node_modules/lodash/chunk.js +++ /dev/null @@ -1,50 +0,0 @@ -var baseSlice = require('./_baseSlice'), - isIterateeCall = require('./_isIterateeCall'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil, - nativeMax = Math.max; - -/** - * Creates an array of elements split into groups the length of `size`. - * If `array` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the new array of chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ -function chunk(array, size, guard) { - if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { - size = 1; - } else { - size = nativeMax(toInteger(size), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size < 1) { - return []; - } - var index = 0, - resIndex = 0, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[resIndex++] = baseSlice(array, index, (index += size)); - } - return result; -} - -module.exports = chunk; diff --git a/res-pc/node_modules/lodash/clamp.js b/res-pc/node_modules/lodash/clamp.js deleted file mode 100644 index 91a72c97..00000000 --- a/res-pc/node_modules/lodash/clamp.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseClamp = require('./_baseClamp'), - toNumber = require('./toNumber'); - -/** - * Clamps `number` within the inclusive `lower` and `upper` bounds. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Number - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - * @example - * - * _.clamp(-10, -5, 5); - * // => -5 - * - * _.clamp(10, -5, 5); - * // => 5 - */ -function clamp(number, lower, upper) { - if (upper === undefined) { - upper = lower; - lower = undefined; - } - if (upper !== undefined) { - upper = toNumber(upper); - upper = upper === upper ? upper : 0; - } - if (lower !== undefined) { - lower = toNumber(lower); - lower = lower === lower ? lower : 0; - } - return baseClamp(toNumber(number), lower, upper); -} - -module.exports = clamp; diff --git a/res-pc/node_modules/lodash/clone.js b/res-pc/node_modules/lodash/clone.js deleted file mode 100644 index dd439d63..00000000 --- a/res-pc/node_modules/lodash/clone.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_SYMBOLS_FLAG = 4; - -/** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ -function clone(value) { - return baseClone(value, CLONE_SYMBOLS_FLAG); -} - -module.exports = clone; diff --git a/res-pc/node_modules/lodash/cloneDeep.js b/res-pc/node_modules/lodash/cloneDeep.js deleted file mode 100644 index 4425fbe8..00000000 --- a/res-pc/node_modules/lodash/cloneDeep.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1, - CLONE_SYMBOLS_FLAG = 4; - -/** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */ -function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); -} - -module.exports = cloneDeep; diff --git a/res-pc/node_modules/lodash/cloneDeepWith.js b/res-pc/node_modules/lodash/cloneDeepWith.js deleted file mode 100644 index fd9c6c05..00000000 --- a/res-pc/node_modules/lodash/cloneDeepWith.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1, - CLONE_SYMBOLS_FLAG = 4; - -/** - * This method is like `_.cloneWith` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the deep cloned value. - * @see _.cloneWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * } - * - * var el = _.cloneDeepWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 20 - */ -function cloneDeepWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); -} - -module.exports = cloneDeepWith; diff --git a/res-pc/node_modules/lodash/cloneWith.js b/res-pc/node_modules/lodash/cloneWith.js deleted file mode 100644 index d2f4e756..00000000 --- a/res-pc/node_modules/lodash/cloneWith.js +++ /dev/null @@ -1,42 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_SYMBOLS_FLAG = 4; - -/** - * This method is like `_.clone` except that it accepts `customizer` which - * is invoked to produce the cloned value. If `customizer` returns `undefined`, - * cloning is handled by the method instead. The `customizer` is invoked with - * up to four arguments; (value [, index|key, object, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the cloned value. - * @see _.cloneDeepWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * } - * - * var el = _.cloneWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 0 - */ -function cloneWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); -} - -module.exports = cloneWith; diff --git a/res-pc/node_modules/lodash/collection.js b/res-pc/node_modules/lodash/collection.js deleted file mode 100644 index 77fe837f..00000000 --- a/res-pc/node_modules/lodash/collection.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - 'countBy': require('./countBy'), - 'each': require('./each'), - 'eachRight': require('./eachRight'), - 'every': require('./every'), - 'filter': require('./filter'), - 'find': require('./find'), - 'findLast': require('./findLast'), - 'flatMap': require('./flatMap'), - 'flatMapDeep': require('./flatMapDeep'), - 'flatMapDepth': require('./flatMapDepth'), - 'forEach': require('./forEach'), - 'forEachRight': require('./forEachRight'), - 'groupBy': require('./groupBy'), - 'includes': require('./includes'), - 'invokeMap': require('./invokeMap'), - 'keyBy': require('./keyBy'), - 'map': require('./map'), - 'orderBy': require('./orderBy'), - 'partition': require('./partition'), - 'reduce': require('./reduce'), - 'reduceRight': require('./reduceRight'), - 'reject': require('./reject'), - 'sample': require('./sample'), - 'sampleSize': require('./sampleSize'), - 'shuffle': require('./shuffle'), - 'size': require('./size'), - 'some': require('./some'), - 'sortBy': require('./sortBy') -}; diff --git a/res-pc/node_modules/lodash/commit.js b/res-pc/node_modules/lodash/commit.js deleted file mode 100644 index fe4db717..00000000 --- a/res-pc/node_modules/lodash/commit.js +++ /dev/null @@ -1,33 +0,0 @@ -var LodashWrapper = require('./_LodashWrapper'); - -/** - * Executes the chain sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ -function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); -} - -module.exports = wrapperCommit; diff --git a/res-pc/node_modules/lodash/compact.js b/res-pc/node_modules/lodash/compact.js deleted file mode 100644 index 031fab4e..00000000 --- a/res-pc/node_modules/lodash/compact.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ -function compact(array) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[resIndex++] = value; - } - } - return result; -} - -module.exports = compact; diff --git a/res-pc/node_modules/lodash/concat.js b/res-pc/node_modules/lodash/concat.js deleted file mode 100644 index 1da48a4f..00000000 --- a/res-pc/node_modules/lodash/concat.js +++ /dev/null @@ -1,43 +0,0 @@ -var arrayPush = require('./_arrayPush'), - baseFlatten = require('./_baseFlatten'), - copyArray = require('./_copyArray'), - isArray = require('./isArray'); - -/** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ -function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); -} - -module.exports = concat; diff --git a/res-pc/node_modules/lodash/cond.js b/res-pc/node_modules/lodash/cond.js deleted file mode 100644 index 64555986..00000000 --- a/res-pc/node_modules/lodash/cond.js +++ /dev/null @@ -1,60 +0,0 @@ -var apply = require('./_apply'), - arrayMap = require('./_arrayMap'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that iterates over `pairs` and invokes the corresponding - * function of the first predicate to return truthy. The predicate-function - * pairs are invoked with the `this` binding and arguments of the created - * function. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Util - * @param {Array} pairs The predicate-function pairs. - * @returns {Function} Returns the new composite function. - * @example - * - * var func = _.cond([ - * [_.matches({ 'a': 1 }), _.constant('matches A')], - * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], - * [_.stubTrue, _.constant('no match')] - * ]); - * - * func({ 'a': 1, 'b': 2 }); - * // => 'matches A' - * - * func({ 'a': 0, 'b': 1 }); - * // => 'matches B' - * - * func({ 'a': '1', 'b': '2' }); - * // => 'no match' - */ -function cond(pairs) { - var length = pairs == null ? 0 : pairs.length, - toIteratee = baseIteratee; - - pairs = !length ? [] : arrayMap(pairs, function(pair) { - if (typeof pair[1] != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return [toIteratee(pair[0]), pair[1]]; - }); - - return baseRest(function(args) { - var index = -1; - while (++index < length) { - var pair = pairs[index]; - if (apply(pair[0], this, args)) { - return apply(pair[1], this, args); - } - } - }); -} - -module.exports = cond; diff --git a/res-pc/node_modules/lodash/conforms.js b/res-pc/node_modules/lodash/conforms.js deleted file mode 100644 index 5501a949..00000000 --- a/res-pc/node_modules/lodash/conforms.js +++ /dev/null @@ -1,35 +0,0 @@ -var baseClone = require('./_baseClone'), - baseConforms = require('./_baseConforms'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a function that invokes the predicate properties of `source` with - * the corresponding property values of a given object, returning `true` if - * all predicates return truthy, else `false`. - * - * **Note:** The created function is equivalent to `_.conformsTo` with - * `source` partially applied. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Util - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - * @example - * - * var objects = [ - * { 'a': 2, 'b': 1 }, - * { 'a': 1, 'b': 2 } - * ]; - * - * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); - * // => [{ 'a': 1, 'b': 2 }] - */ -function conforms(source) { - return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); -} - -module.exports = conforms; diff --git a/res-pc/node_modules/lodash/conformsTo.js b/res-pc/node_modules/lodash/conformsTo.js deleted file mode 100644 index b8a93ebf..00000000 --- a/res-pc/node_modules/lodash/conformsTo.js +++ /dev/null @@ -1,32 +0,0 @@ -var baseConformsTo = require('./_baseConformsTo'), - keys = require('./keys'); - -/** - * Checks if `object` conforms to `source` by invoking the predicate - * properties of `source` with the corresponding property values of `object`. - * - * **Note:** This method is equivalent to `_.conforms` when `source` is - * partially applied. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); - * // => true - * - * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); - * // => false - */ -function conformsTo(object, source) { - return source == null || baseConformsTo(object, source, keys(source)); -} - -module.exports = conformsTo; diff --git a/res-pc/node_modules/lodash/constant.js b/res-pc/node_modules/lodash/constant.js deleted file mode 100644 index 655ece3f..00000000 --- a/res-pc/node_modules/lodash/constant.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Creates a function that returns `value`. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. - * @example - * - * var objects = _.times(2, _.constant({ 'a': 1 })); - * - * console.log(objects); - * // => [{ 'a': 1 }, { 'a': 1 }] - * - * console.log(objects[0] === objects[1]); - * // => true - */ -function constant(value) { - return function() { - return value; - }; -} - -module.exports = constant; diff --git a/res-pc/node_modules/lodash/core.js b/res-pc/node_modules/lodash/core.js deleted file mode 100644 index 88c263f8..00000000 --- a/res-pc/node_modules/lodash/core.js +++ /dev/null @@ -1,3836 +0,0 @@ -/** - * @license - * Lodash (Custom Build) - * Build: `lodash core -o ./dist/lodash.core.js` - * Copyright JS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -;(function() { - - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '4.17.4'; - - /** Error message constants. */ - var FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - - /** Used to compose bitmasks for function metadata. */ - var WRAP_BIND_FLAG = 1, - WRAP_PARTIAL_FLAG = 32; - - /** Used as references for various `Number` constants. */ - var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - asyncTag = '[object AsyncFunction]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - numberTag = '[object Number]', - objectTag = '[object Object]', - proxyTag = '[object Proxy]', - regexpTag = '[object RegExp]', - stringTag = '[object String]'; - - /** Used to match HTML entities and HTML characters. */ - var reUnescapedHtml = /[&<>"']/g, - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /*--------------------------------------------------------------------------*/ - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - array.push.apply(array, values); - return array; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - return baseMap(props, function(key) { - return object[key]; - }); - } - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - var escapeHtmlChar = basePropertyOf(htmlEscapes); - - /** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - - /*--------------------------------------------------------------------------*/ - - /** Used for built-in method references. */ - var arrayProto = Array.prototype, - objectProto = Object.prototype; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Built-in value references. */ - var objectCreate = Object.create, - propertyIsEnumerable = objectProto.propertyIsEnumerable; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeIsFinite = root.isFinite, - nativeKeys = overArg(Object.keys, Object), - nativeMax = Math.max; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit method - * chain sequences. Methods that operate on and return arrays, collections, - * and functions can be chained together. Methods that retrieve a single value - * or may return a primitive value will automatically end the chain sequence - * and return the unwrapped value. Otherwise, the value must be unwrapped - * with `_#value`. - * - * Explicit chain sequences, which must be unwrapped with `_#value`, may be - * enabled using `_.chain`. - * - * The execution of chained methods is lazy, that is, it's deferred until - * `_#value` is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. - * Shortcut fusion is an optimization to merge iteratee calls; this avoids - * the creation of intermediate arrays and can greatly reduce the number of - * iteratee executions. Sections of a chain sequence qualify for shortcut - * fusion if the section is applied to an array and iteratees accept only - * one argument. The heuristic for whether a section qualifies for shortcut - * fusion is subject to change. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, - * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, - * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, - * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, - * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, - * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, - * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, - * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, - * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, - * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, - * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, - * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, - * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, - * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, - * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, - * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, - * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, - * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, - * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, - * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, - * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, - * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, - * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, - * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, - * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, - * `zipObject`, `zipObjectDeep`, and `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, - * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, - * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, - * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, - * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, - * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, - * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, - * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, - * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, - * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, - * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, - * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, - * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, - * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, - * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, - * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, - * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, - * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, - * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, - * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, - * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, - * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, - * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, - * `upperFirst`, `value`, and `words` - * - * @name _ - * @constructor - * @category Seq - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2, 3]); - * - * // Returns an unwrapped value. - * wrapped.reduce(_.add); - * // => 6 - * - * // Returns a wrapped value. - * var squares = wrapped.map(square); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - return value instanceof LodashWrapper - ? value - : new LodashWrapper(value); - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; - }()); - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ - function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - } - - LodashWrapper.prototype = baseCreate(lodash.prototype); - LodashWrapper.prototype.constructor = LodashWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function baseAssignValue(object, key, value) { - object[key] = value; - } - - /** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !false) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; - } - - /** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ - function baseFunctions(object, props) { - return baseFilter(props, function(key) { - return isFunction(object[key]); - }); - } - - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag(value) { - return objectToString(value); - } - - /** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ - function baseGt(value, other) { - return value > other; - } - - /** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - var baseIsArguments = noop; - - /** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ - function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; - } - - /** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : baseGetTag(object), - othTag = othIsArr ? arrayTag : baseGetTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - stack || (stack = []); - var objStack = find(stack, function(entry) { - return entry[0] == object; - }); - var othStack = find(stack, function(entry) { - return entry[0] == other; - }); - if (objStack && othStack) { - return objStack[1] == other; - } - stack.push([object, other]); - stack.push([other, object]); - if (isSameTag && !objIsObj) { - var result = (objIsArr) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - stack.pop(); - return result; - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - stack.pop(); - return result; - } - } - if (!isSameTag) { - return false; - } - var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack); - stack.pop(); - return result; - } - - /** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ - function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; - } - - /** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - function baseIteratee(func) { - if (typeof func == 'function') { - return func; - } - if (func == null) { - return identity; - } - return (typeof func == 'object' ? baseMatches : baseProperty)(func); - } - - /** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ - function baseLt(value, other) { - return value < other; - } - - /** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatches(source) { - var props = nativeKeys(source); - return function(object) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length]; - if (!(key in object && - baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG) - )) { - return false; - } - } - return true; - }; - } - - /** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - function basePick(object, props) { - object = Object(object); - return reduce(props, function(result, key) { - if (key in object) { - result[key] = object[key]; - } - return result; - }, {}); - } - - /** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ - function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); - } - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source) { - return baseSlice(source, 0, source.length); - } - - /** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - return reduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); - } - - /** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = false; - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = false; - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ - function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; - } - - /** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ - function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = baseIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; - } - - /** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ - function createPartial(func, bitmask, thisArg, partials) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return fn.apply(isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ - function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined; - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - var compared; - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!baseSome(other, function(othValue, othIndex) { - if (!indexOf(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - return result; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = keys(object), - objLength = objProps.length, - othProps = keys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - var result = true; - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - var compared; - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - return result; - } - - /** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); - } - - /** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - function isFlattenable(value) { - return isArray(value) || isArguments(value); - } - - /** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString(value) { - return nativeObjectToString.call(value); - } - - /** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return func.apply(this, otherArgs); - }; - } - - /** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var setToString = identity; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - return baseFilter(array, Boolean); - } - - /** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ - function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, baseIteratee(predicate, 3), index); - } - - /** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - - /** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ - function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; - } - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ - function head(array) { - return (array && array.length) ? array[0] : undefined; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ - function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (typeof fromIndex == 'number') { - fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex; - } else { - fromIndex = 0; - } - var index = (fromIndex || 0) - 1, - isReflexive = value === value; - - while (++index < length) { - var other = array[index]; - if ((isReflexive ? other === value : other !== other)) { - return index; - } - } - return -1; - } - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of - * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are - * returned. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array == null ? 0 : array.length; - start = start == null ? 0 : +start; - end = end === undefined ? length : +end; - return length ? baseSlice(array, start, end) : []; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor - * is invoked with one argument; (value). The purpose of this method is to - * "tap into" a method chain sequence in order to modify intermediate results. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * // Mutate input array. - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor) { - interceptor(value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * The purpose of this method is to "pass thru" values replacing intermediate - * results in a method chain sequence. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor) { - return interceptor(value); - } - - /** - * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. - * - * @name chain - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // A sequence without explicit chaining. - * _(users).head(); - * // => { 'user': 'barney', 'age': 36 } - * - * // A sequence with explicit chaining. - * _(users) - * .chain() - * .head() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chain sequence to resolve the unwrapped value. - * - * @name value - * @memberOf _ - * @since 0.1.0 - * @alias toJSON, valueOf - * @category Seq - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, guard) { - predicate = guard ? undefined : predicate; - return baseEvery(collection, baseIteratee(predicate)); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - */ - function filter(collection, predicate) { - return baseFilter(collection, baseIteratee(predicate)); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ - var find = createFind(findIndex); - - /** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forEach(collection, iteratee) { - return baseEach(collection, baseIteratee(iteratee)); - } - - /** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee) { - return baseMap(collection, baseIteratee(iteratee)); - } - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not given, the first element of `collection` is used as the initial - * value. The iteratee is invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */ - function reduce(collection, iteratee, accumulator) { - return baseReduce(collection, baseIteratee(iteratee), accumulator, arguments.length < 3, baseEach); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable string keyed properties for objects. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the collection size. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - if (collection == null) { - return 0; - } - collection = isArrayLike(collection) ? collection : nativeKeys(collection); - return collection.length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * Iteration is stopped once `predicate` returns truthy. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.some(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, guard) { - predicate = guard ? undefined : predicate; - return baseSome(collection, baseIteratee(predicate)); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection thru each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {...(Function|Function[])} [iteratees=[_.identity]] - * The iteratees to sort by. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] - */ - function sortBy(collection, iteratee) { - var index = 0; - iteratee = baseIteratee(iteratee); - - return baseMap(baseMap(collection, function(value, key, collection) { - return { 'value': value, 'index': index++, 'criteria': iteratee(value, key, collection) }; - }).sort(function(object, other) { - return compareAscending(object.criteria, other.criteria) || (object.index - other.index); - }), baseProperty('value')); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = baseRest(function(func, thisArg, partials) { - return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials); - }); - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ - var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ - var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); - }); - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - var args = arguments; - return !predicate.apply(this, args); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first invocation. The `func` is - * invoked with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // => `createApplication` is invoked once - */ - function once(func) { - return before(2, func); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ - function clone(value) { - if (!isObject(value)) { - return value; - } - return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value)); - } - - /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - function eq(value, other) { - return value === other || (value !== value && other !== other); - } - - /** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); - }; - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ - var isArray = Array.isArray; - - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); - } - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); - } - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - var isDate = baseIsDate; - - /** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (isArrayLike(value) && - (isArray(value) || isString(value) || - isFunction(value.splice) || isArguments(value))) { - return !value.length; - } - return !nativeKeys(value).length; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - function isEqual(value, other) { - return baseIsEqual(value, other); - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { - return value != null && typeof value == 'object'; - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - var isRegExp = baseIsRegExp; - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); - } - - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Converts `value` to an array. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * _.toArray({ 'a': 1, 'b': 2 }); - * // => [1, 2] - * - * _.toArray('abc'); - * // => ['a', 'b', 'c'] - * - * _.toArray(1); - * // => [] - * - * _.toArray(null); - * // => [] - */ - function toArray(value) { - if (!isArrayLike(value)) { - return values(value); - } - return value.length ? copyArray(value) : []; - } - - /** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */ - var toInteger = Number; - - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - var toNumber = Number; - - /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - function toString(value) { - if (typeof value == 'string') { - return value; - } - return value == null ? '' : (value + ''); - } - - /*------------------------------------------------------------------------*/ - - /** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ - var assign = createAssigner(function(object, source) { - copyObject(source, nativeKeys(source), object); - }); - - /** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ - var assignIn = createAssigner(function(object, source) { - copyObject(source, nativeKeysIn(source), object); - }); - - /** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); - }); - - /** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : assign(result, properties); - } - - /** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var defaults = baseRest(function(args) { - args.push(undefined, customDefaultsAssignIn); - return assignInWith.apply(undefined, args); - }); - - /** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ - function has(object, path) { - return object != null && hasOwnProperty.call(object, path); - } - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - var keys = nativeKeys; - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - var keysIn = nativeKeysIn; - - /** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); - }); - - /** - * This method is like `_.get` except that if the resolved value is a - * function it's invoked with the `this` binding of its parent object and - * its result is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a[0].b.c3', 'default'); - * // => 'default' - * - * _.result(object, 'a[0].b.c3', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - var value = object == null ? undefined : object[path]; - if (value === undefined) { - value = defaultValue; - } - return isFunction(value) ? value.call(object) : value; - } - - /** - * Creates an array of the own enumerable string keyed property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return object == null ? [] : baseValues(object, keys(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /*------------------------------------------------------------------------*/ - - /** - * This method returns the first argument it receives. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'a': 1 }; - * - * console.log(_.identity(object) === object); - * // => true - */ - function identity(value) { - return value; - } - - /** - * Creates a function that invokes `func` with the arguments of the created - * function. If `func` is a property name, the created function returns the - * property value for a given element. If `func` is an array or object, the - * created function returns `true` for elements that contain the equivalent - * source properties, otherwise it returns `false`. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Util - * @param {*} [func=_.identity] The value to convert to a callback. - * @returns {Function} Returns the callback. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); - * // => [{ 'user': 'barney', 'age': 36, 'active': true }] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, _.iteratee(['user', 'fred'])); - * // => [{ 'user': 'fred', 'age': 40 }] - * - * // The `_.property` iteratee shorthand. - * _.map(users, _.iteratee('user')); - * // => ['barney', 'fred'] - * - * // Create custom iteratee shorthands. - * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { - * return !_.isRegExp(func) ? iteratee(func) : function(string) { - * return func.test(string); - * }; - * }); - * - * _.filter(['abc', 'def'], /ef/); - * // => ['def'] - */ - var iteratee = baseIteratee; - - /** - * Creates a function that performs a partial deep comparison between a given - * object and `source`, returning `true` if the given object has equivalent - * property values, else `false`. - * - * **Note:** The created function is equivalent to `_.isMatch` with `source` - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Util - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - * @example - * - * var objects = [ - * { 'a': 1, 'b': 2, 'c': 3 }, - * { 'a': 4, 'b': 5, 'c': 6 } - * ]; - * - * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); - * // => [{ 'a': 4, 'b': 5, 'c': 6 }] - */ - function matches(source) { - return baseMatches(assign({}, source)); - } - - /** - * Adds all own enumerable string keyed function properties of a source - * object to the destination object. If `object` is a function, then methods - * are added to its prototype as well. - * - * **Note:** Use `_.runInContext` to create a pristine `lodash` function to - * avoid conflicts caused by modifying the original. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {Function|Object} [object=lodash] The destination object. - * @param {Object} source The object of functions to add. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.chain=true] Specify whether mixins are chainable. - * @returns {Function|Object} Returns `object`. - * @example - * - * function vowels(string) { - * return _.filter(string, function(v) { - * return /[aeiou]/i.test(v); - * }); - * } - * - * _.mixin({ 'vowels': vowels }); - * _.vowels('fred'); - * // => ['e'] - * - * _('fred').vowels().value(); - * // => ['e'] - * - * _.mixin({ 'vowels': vowels }, { 'chain': false }); - * _('fred').vowels(); - * // => ['e'] - */ - function mixin(object, source, options) { - var props = keys(source), - methodNames = baseFunctions(source, props); - - if (options == null && - !(isObject(source) && (methodNames.length || !props.length))) { - options = source; - source = object; - object = this; - methodNames = baseFunctions(source, keys(source)); - } - var chain = !(isObject(options) && 'chain' in options) || !!options.chain, - isFunc = isFunction(object); - - baseEach(methodNames, function(methodName) { - var func = source[methodName]; - object[methodName] = func; - if (isFunc) { - object.prototype[methodName] = function() { - var chainAll = this.__chain__; - if (chain || chainAll) { - var result = object(this.__wrapped__), - actions = result.__actions__ = copyArray(this.__actions__); - - actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); - result.__chain__ = chainAll; - return result; - } - return func.apply(object, arrayPush([this.value()], arguments)); - }; - } - }); - - return object; - } - - /** - * Reverts the `_` variable to its previous value and returns a reference to - * the `lodash` function. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @returns {Function} Returns the `lodash` function. - * @example - * - * var lodash = _.noConflict(); - */ - function noConflict() { - if (root._ === this) { - root._ = oldDash; - } - return this; - } - - /** - * This method returns `undefined`. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Util - * @example - * - * _.times(2, _.noop); - * // => [undefined, undefined] - */ - function noop() { - // No operation performed. - } - - /** - * Generates a unique ID. If `prefix` is given, the ID is appended to it. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {string} [prefix=''] The value to prefix the ID with. - * @returns {string} Returns the unique ID. - * @example - * - * _.uniqueId('contact_'); - * // => 'contact_104' - * - * _.uniqueId(); - * // => '105' - */ - function uniqueId(prefix) { - var id = ++idCounter; - return toString(prefix) + id; - } - - /*------------------------------------------------------------------------*/ - - /** - * Computes the maximum value of `array`. If `array` is empty or falsey, - * `undefined` is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Math - * @param {Array} array The array to iterate over. - * @returns {*} Returns the maximum value. - * @example - * - * _.max([4, 2, 8, 6]); - * // => 8 - * - * _.max([]); - * // => undefined - */ - function max(array) { - return (array && array.length) - ? baseExtremum(array, identity, baseGt) - : undefined; - } - - /** - * Computes the minimum value of `array`. If `array` is empty or falsey, - * `undefined` is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Math - * @param {Array} array The array to iterate over. - * @returns {*} Returns the minimum value. - * @example - * - * _.min([4, 2, 8, 6]); - * // => 2 - * - * _.min([]); - * // => undefined - */ - function min(array) { - return (array && array.length) - ? baseExtremum(array, identity, baseLt) - : undefined; - } - - /*------------------------------------------------------------------------*/ - - // Add methods that return wrapped values in chain sequences. - lodash.assignIn = assignIn; - lodash.before = before; - lodash.bind = bind; - lodash.chain = chain; - lodash.compact = compact; - lodash.concat = concat; - lodash.create = create; - lodash.defaults = defaults; - lodash.defer = defer; - lodash.delay = delay; - lodash.filter = filter; - lodash.flatten = flatten; - lodash.flattenDeep = flattenDeep; - lodash.iteratee = iteratee; - lodash.keys = keys; - lodash.map = map; - lodash.matches = matches; - lodash.mixin = mixin; - lodash.negate = negate; - lodash.once = once; - lodash.pick = pick; - lodash.slice = slice; - lodash.sortBy = sortBy; - lodash.tap = tap; - lodash.thru = thru; - lodash.toArray = toArray; - lodash.values = values; - - // Add aliases. - lodash.extend = assignIn; - - // Add methods to `lodash.prototype`. - mixin(lodash, lodash); - - /*------------------------------------------------------------------------*/ - - // Add methods that return unwrapped values in chain sequences. - lodash.clone = clone; - lodash.escape = escape; - lodash.every = every; - lodash.find = find; - lodash.forEach = forEach; - lodash.has = has; - lodash.head = head; - lodash.identity = identity; - lodash.indexOf = indexOf; - lodash.isArguments = isArguments; - lodash.isArray = isArray; - lodash.isBoolean = isBoolean; - lodash.isDate = isDate; - lodash.isEmpty = isEmpty; - lodash.isEqual = isEqual; - lodash.isFinite = isFinite; - lodash.isFunction = isFunction; - lodash.isNaN = isNaN; - lodash.isNull = isNull; - lodash.isNumber = isNumber; - lodash.isObject = isObject; - lodash.isRegExp = isRegExp; - lodash.isString = isString; - lodash.isUndefined = isUndefined; - lodash.last = last; - lodash.max = max; - lodash.min = min; - lodash.noConflict = noConflict; - lodash.noop = noop; - lodash.reduce = reduce; - lodash.result = result; - lodash.size = size; - lodash.some = some; - lodash.uniqueId = uniqueId; - - // Add aliases. - lodash.each = forEach; - lodash.first = head; - - mixin(lodash, (function() { - var source = {}; - baseForOwn(lodash, function(func, methodName) { - if (!hasOwnProperty.call(lodash.prototype, methodName)) { - source[methodName] = func; - } - }); - return source; - }()), { 'chain': false }); - - /*------------------------------------------------------------------------*/ - - /** - * The semantic version number. - * - * @static - * @memberOf _ - * @type {string} - */ - lodash.VERSION = VERSION; - - // Add `Array` methods to `lodash.prototype`. - baseEach(['pop', 'join', 'replace', 'reverse', 'split', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { - var func = (/^(?:replace|split)$/.test(methodName) ? String.prototype : arrayProto)[methodName], - chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', - retUnwrapped = /^(?:pop|join|replace|shift)$/.test(methodName); - - lodash.prototype[methodName] = function() { - var args = arguments; - if (retUnwrapped && !this.__chain__) { - var value = this.value(); - return func.apply(isArray(value) ? value : [], args); - } - return this[chainName](function(value) { - return func.apply(isArray(value) ? value : [], args); - }); - }; - }); - - // Add chain sequence methods to the `lodash` wrapper. - lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; - - /*--------------------------------------------------------------------------*/ - - // Some AMD build optimizers, like r.js, check for condition patterns like: - if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { - // Expose Lodash on the global object to prevent errors when Lodash is - // loaded by a script tag in the presence of an AMD loader. - // See http://requirejs.org/docs/errors.html#mismatch for more details. - // Use `_.noConflict` to remove Lodash from the global object. - root._ = lodash; - - // Define as an anonymous module so, through path mapping, it can be - // referenced as the "underscore" module. - define(function() { - return lodash; - }); - } - // Check for `exports` after `define` in case a build optimizer adds it. - else if (freeModule) { - // Export for Node.js. - (freeModule.exports = lodash)._ = lodash; - // Export for CommonJS support. - freeExports._ = lodash; - } - else { - // Export to the global object. - root._ = lodash; - } -}.call(this)); diff --git a/res-pc/node_modules/lodash/core.min.js b/res-pc/node_modules/lodash/core.min.js deleted file mode 100644 index b909d31c..00000000 --- a/res-pc/node_modules/lodash/core.min.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @license - * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE - * Build: `lodash core -o ./dist/lodash.core.js` - */ -;(function(){function n(n){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function"); -return setTimeout(function(){n.apply(nn,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++et}function y(n,t,r,e,u){return n===t||(null==n||null==t||!K(n)&&!K(t)?n!==n&&t!==t:b(n,t,r,e,y,u))}function b(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){ -return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t, -r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?d:r)(n)}function _(n,t){return nt&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++ei))return false;for(var c=-1,f=true,a=2&r?[]:nn;++cr?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++rarguments.length,mn)}function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n); -}function H(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Nn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,In(n))}function Y(n){return n}function Z(n,r,e){var u=In(r),o=h(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,In(r))); -var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){ -return function(t){return null==n?nn:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i; -var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++or&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++re||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r { '4': 1, '6': 2 } - * - * // The `_.property` iteratee shorthand. - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ -var countBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - ++result[key]; - } else { - baseAssignValue(result, key, 1); - } -}); - -module.exports = countBy; diff --git a/res-pc/node_modules/lodash/create.js b/res-pc/node_modules/lodash/create.js deleted file mode 100644 index 919edb85..00000000 --- a/res-pc/node_modules/lodash/create.js +++ /dev/null @@ -1,43 +0,0 @@ -var baseAssign = require('./_baseAssign'), - baseCreate = require('./_baseCreate'); - -/** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ -function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : baseAssign(result, properties); -} - -module.exports = create; diff --git a/res-pc/node_modules/lodash/curry.js b/res-pc/node_modules/lodash/curry.js deleted file mode 100644 index 918db1a4..00000000 --- a/res-pc/node_modules/lodash/curry.js +++ /dev/null @@ -1,57 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_CURRY_FLAG = 8; - -/** - * Creates a function that accepts arguments of `func` and either invokes - * `func` returning its result, if at least `arity` number of arguments have - * been provided, or returns a function that accepts the remaining `func` - * arguments, and so on. The arity of `func` may be specified if `func.length` - * is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ -function curry(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curry.placeholder; - return result; -} - -// Assign default placeholders. -curry.placeholder = {}; - -module.exports = curry; diff --git a/res-pc/node_modules/lodash/curryRight.js b/res-pc/node_modules/lodash/curryRight.js deleted file mode 100644 index c85b6f33..00000000 --- a/res-pc/node_modules/lodash/curryRight.js +++ /dev/null @@ -1,54 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_CURRY_RIGHT_FLAG = 16; - -/** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ -function curryRight(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curryRight.placeholder; - return result; -} - -// Assign default placeholders. -curryRight.placeholder = {}; - -module.exports = curryRight; diff --git a/res-pc/node_modules/lodash/date.js b/res-pc/node_modules/lodash/date.js deleted file mode 100644 index cbf5b410..00000000 --- a/res-pc/node_modules/lodash/date.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - 'now': require('./now') -}; diff --git a/res-pc/node_modules/lodash/debounce.js b/res-pc/node_modules/lodash/debounce.js deleted file mode 100644 index 04d7dfd3..00000000 --- a/res-pc/node_modules/lodash/debounce.js +++ /dev/null @@ -1,188 +0,0 @@ -var isObject = require('./isObject'), - now = require('./now'), - toNumber = require('./toNumber'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ -function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - result = wait - timeSinceLastCall; - - return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; -} - -module.exports = debounce; diff --git a/res-pc/node_modules/lodash/deburr.js b/res-pc/node_modules/lodash/deburr.js deleted file mode 100644 index f85e314a..00000000 --- a/res-pc/node_modules/lodash/deburr.js +++ /dev/null @@ -1,45 +0,0 @@ -var deburrLetter = require('./_deburrLetter'), - toString = require('./toString'); - -/** Used to match Latin Unicode letters (excluding mathematical operators). */ -var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; - -/** Used to compose unicode character classes. */ -var rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange; - -/** Used to compose unicode capture groups. */ -var rsCombo = '[' + rsComboRange + ']'; - -/** - * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and - * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). - */ -var reComboMark = RegExp(rsCombo, 'g'); - -/** - * Deburrs `string` by converting - * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) - * letters to basic Latin letters and removing - * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ -function deburr(string) { - string = toString(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); -} - -module.exports = deburr; diff --git a/res-pc/node_modules/lodash/defaultTo.js b/res-pc/node_modules/lodash/defaultTo.js deleted file mode 100644 index 5b333592..00000000 --- a/res-pc/node_modules/lodash/defaultTo.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Checks `value` to determine whether a default value should be returned in - * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, - * or `undefined`. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Util - * @param {*} value The value to check. - * @param {*} defaultValue The default value. - * @returns {*} Returns the resolved value. - * @example - * - * _.defaultTo(1, 10); - * // => 1 - * - * _.defaultTo(undefined, 10); - * // => 10 - */ -function defaultTo(value, defaultValue) { - return (value == null || value !== value) ? defaultValue : value; -} - -module.exports = defaultTo; diff --git a/res-pc/node_modules/lodash/defaults.js b/res-pc/node_modules/lodash/defaults.js deleted file mode 100644 index 6b75ee08..00000000 --- a/res-pc/node_modules/lodash/defaults.js +++ /dev/null @@ -1,32 +0,0 @@ -var apply = require('./_apply'), - assignInWith = require('./assignInWith'), - baseRest = require('./_baseRest'), - customDefaultsAssignIn = require('./_customDefaultsAssignIn'); - -/** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var defaults = baseRest(function(args) { - args.push(undefined, customDefaultsAssignIn); - return apply(assignInWith, undefined, args); -}); - -module.exports = defaults; diff --git a/res-pc/node_modules/lodash/defaultsDeep.js b/res-pc/node_modules/lodash/defaultsDeep.js deleted file mode 100644 index 9b5fa3ee..00000000 --- a/res-pc/node_modules/lodash/defaultsDeep.js +++ /dev/null @@ -1,30 +0,0 @@ -var apply = require('./_apply'), - baseRest = require('./_baseRest'), - customDefaultsMerge = require('./_customDefaultsMerge'), - mergeWith = require('./mergeWith'); - -/** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaults - * @example - * - * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); - * // => { 'a': { 'b': 2, 'c': 3 } } - */ -var defaultsDeep = baseRest(function(args) { - args.push(undefined, customDefaultsMerge); - return apply(mergeWith, undefined, args); -}); - -module.exports = defaultsDeep; diff --git a/res-pc/node_modules/lodash/defer.js b/res-pc/node_modules/lodash/defer.js deleted file mode 100644 index f6d6c6fa..00000000 --- a/res-pc/node_modules/lodash/defer.js +++ /dev/null @@ -1,26 +0,0 @@ -var baseDelay = require('./_baseDelay'), - baseRest = require('./_baseRest'); - -/** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ -var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); -}); - -module.exports = defer; diff --git a/res-pc/node_modules/lodash/delay.js b/res-pc/node_modules/lodash/delay.js deleted file mode 100644 index bd554796..00000000 --- a/res-pc/node_modules/lodash/delay.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseDelay = require('./_baseDelay'), - baseRest = require('./_baseRest'), - toNumber = require('./toNumber'); - -/** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ -var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); -}); - -module.exports = delay; diff --git a/res-pc/node_modules/lodash/difference.js b/res-pc/node_modules/lodash/difference.js deleted file mode 100644 index fa28bb30..00000000 --- a/res-pc/node_modules/lodash/difference.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseRest = require('./_baseRest'), - isArrayLikeObject = require('./isArrayLikeObject'); - -/** - * Creates an array of `array` values not included in the other given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * **Note:** Unlike `_.pullAll`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.without, _.xor - * @example - * - * _.difference([2, 1], [2, 3]); - * // => [1] - */ -var difference = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) - : []; -}); - -module.exports = difference; diff --git a/res-pc/node_modules/lodash/differenceBy.js b/res-pc/node_modules/lodash/differenceBy.js deleted file mode 100644 index 2cd63e7e..00000000 --- a/res-pc/node_modules/lodash/differenceBy.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'), - isArrayLikeObject = require('./isArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.difference` except that it accepts `iteratee` which - * is invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * **Note:** Unlike `_.pullAllBy`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2] - * - * // The `_.property` iteratee shorthand. - * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ -var differenceBy = baseRest(function(array, values) { - var iteratee = last(values); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2)) - : []; -}); - -module.exports = differenceBy; diff --git a/res-pc/node_modules/lodash/differenceWith.js b/res-pc/node_modules/lodash/differenceWith.js deleted file mode 100644 index c0233f4b..00000000 --- a/res-pc/node_modules/lodash/differenceWith.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseRest = require('./_baseRest'), - isArrayLikeObject = require('./isArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.difference` except that it accepts `comparator` - * which is invoked to compare elements of `array` to `values`. The order and - * references of result values are determined by the first array. The comparator - * is invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.pullAllWith`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * - * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); - * // => [{ 'x': 2, 'y': 1 }] - */ -var differenceWith = baseRest(function(array, values) { - var comparator = last(values); - if (isArrayLikeObject(comparator)) { - comparator = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) - : []; -}); - -module.exports = differenceWith; diff --git a/res-pc/node_modules/lodash/divide.js b/res-pc/node_modules/lodash/divide.js deleted file mode 100644 index 8cae0cd1..00000000 --- a/res-pc/node_modules/lodash/divide.js +++ /dev/null @@ -1,22 +0,0 @@ -var createMathOperation = require('./_createMathOperation'); - -/** - * Divide two numbers. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Math - * @param {number} dividend The first number in a division. - * @param {number} divisor The second number in a division. - * @returns {number} Returns the quotient. - * @example - * - * _.divide(6, 4); - * // => 1.5 - */ -var divide = createMathOperation(function(dividend, divisor) { - return dividend / divisor; -}, 1); - -module.exports = divide; diff --git a/res-pc/node_modules/lodash/drop.js b/res-pc/node_modules/lodash/drop.js deleted file mode 100644 index d5c3cbaa..00000000 --- a/res-pc/node_modules/lodash/drop.js +++ /dev/null @@ -1,38 +0,0 @@ -var baseSlice = require('./_baseSlice'), - toInteger = require('./toInteger'); - -/** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ -function drop(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, n < 0 ? 0 : n, length); -} - -module.exports = drop; diff --git a/res-pc/node_modules/lodash/dropRight.js b/res-pc/node_modules/lodash/dropRight.js deleted file mode 100644 index 441fe996..00000000 --- a/res-pc/node_modules/lodash/dropRight.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseSlice = require('./_baseSlice'), - toInteger = require('./toInteger'); - -/** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ -function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, 0, n < 0 ? 0 : n); -} - -module.exports = dropRight; diff --git a/res-pc/node_modules/lodash/dropRightWhile.js b/res-pc/node_modules/lodash/dropRightWhile.js deleted file mode 100644 index 9ad36a04..00000000 --- a/res-pc/node_modules/lodash/dropRightWhile.js +++ /dev/null @@ -1,45 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - baseWhile = require('./_baseWhile'); - -/** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.dropRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney'] - * - * // The `_.matches` iteratee shorthand. - * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropRightWhile(users, ['active', false]); - * // => objects for ['barney'] - * - * // The `_.property` iteratee shorthand. - * _.dropRightWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ -function dropRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, baseIteratee(predicate, 3), true, true) - : []; -} - -module.exports = dropRightWhile; diff --git a/res-pc/node_modules/lodash/dropWhile.js b/res-pc/node_modules/lodash/dropWhile.js deleted file mode 100644 index 903ef568..00000000 --- a/res-pc/node_modules/lodash/dropWhile.js +++ /dev/null @@ -1,45 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - baseWhile = require('./_baseWhile'); - -/** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.dropWhile(users, function(o) { return !o.active; }); - * // => objects for ['pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.dropWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropWhile(users, ['active', false]); - * // => objects for ['pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.dropWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ -function dropWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, baseIteratee(predicate, 3), true) - : []; -} - -module.exports = dropWhile; diff --git a/res-pc/node_modules/lodash/each.js b/res-pc/node_modules/lodash/each.js deleted file mode 100644 index 8800f420..00000000 --- a/res-pc/node_modules/lodash/each.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEach'); diff --git a/res-pc/node_modules/lodash/eachRight.js b/res-pc/node_modules/lodash/eachRight.js deleted file mode 100644 index 3252b2ab..00000000 --- a/res-pc/node_modules/lodash/eachRight.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEachRight'); diff --git a/res-pc/node_modules/lodash/endsWith.js b/res-pc/node_modules/lodash/endsWith.js deleted file mode 100644 index 76fc866e..00000000 --- a/res-pc/node_modules/lodash/endsWith.js +++ /dev/null @@ -1,43 +0,0 @@ -var baseClamp = require('./_baseClamp'), - baseToString = require('./_baseToString'), - toInteger = require('./toInteger'), - toString = require('./toString'); - -/** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search up to. - * @returns {boolean} Returns `true` if `string` ends with `target`, - * else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ -function endsWith(string, target, position) { - string = toString(string); - target = baseToString(target); - - var length = string.length; - position = position === undefined - ? length - : baseClamp(toInteger(position), 0, length); - - var end = position; - position -= target.length; - return position >= 0 && string.slice(position, end) == target; -} - -module.exports = endsWith; diff --git a/res-pc/node_modules/lodash/entries.js b/res-pc/node_modules/lodash/entries.js deleted file mode 100644 index 7a88df20..00000000 --- a/res-pc/node_modules/lodash/entries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairs'); diff --git a/res-pc/node_modules/lodash/entriesIn.js b/res-pc/node_modules/lodash/entriesIn.js deleted file mode 100644 index f6c6331c..00000000 --- a/res-pc/node_modules/lodash/entriesIn.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairsIn'); diff --git a/res-pc/node_modules/lodash/eq.js b/res-pc/node_modules/lodash/eq.js deleted file mode 100644 index a9406880..00000000 --- a/res-pc/node_modules/lodash/eq.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ -function eq(value, other) { - return value === other || (value !== value && other !== other); -} - -module.exports = eq; diff --git a/res-pc/node_modules/lodash/escape.js b/res-pc/node_modules/lodash/escape.js deleted file mode 100644 index 9247e002..00000000 --- a/res-pc/node_modules/lodash/escape.js +++ /dev/null @@ -1,43 +0,0 @@ -var escapeHtmlChar = require('./_escapeHtmlChar'), - toString = require('./toString'); - -/** Used to match HTML entities and HTML characters. */ -var reUnescapedHtml = /[&<>"']/g, - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - -/** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ -function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; -} - -module.exports = escape; diff --git a/res-pc/node_modules/lodash/escapeRegExp.js b/res-pc/node_modules/lodash/escapeRegExp.js deleted file mode 100644 index 0a58c69f..00000000 --- a/res-pc/node_modules/lodash/escapeRegExp.js +++ /dev/null @@ -1,32 +0,0 @@ -var toString = require('./toString'); - -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, - reHasRegExpChar = RegExp(reRegExpChar.source); - -/** - * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", - * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https://lodash\.com/\)' - */ -function escapeRegExp(string) { - string = toString(string); - return (string && reHasRegExpChar.test(string)) - ? string.replace(reRegExpChar, '\\$&') - : string; -} - -module.exports = escapeRegExp; diff --git a/res-pc/node_modules/lodash/every.js b/res-pc/node_modules/lodash/every.js deleted file mode 100644 index 25080dac..00000000 --- a/res-pc/node_modules/lodash/every.js +++ /dev/null @@ -1,56 +0,0 @@ -var arrayEvery = require('./_arrayEvery'), - baseEvery = require('./_baseEvery'), - baseIteratee = require('./_baseIteratee'), - isArray = require('./isArray'), - isIterateeCall = require('./_isIterateeCall'); - -/** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ -function every(collection, predicate, guard) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, baseIteratee(predicate, 3)); -} - -module.exports = every; diff --git a/res-pc/node_modules/lodash/extend.js b/res-pc/node_modules/lodash/extend.js deleted file mode 100644 index e00166c2..00000000 --- a/res-pc/node_modules/lodash/extend.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignIn'); diff --git a/res-pc/node_modules/lodash/extendWith.js b/res-pc/node_modules/lodash/extendWith.js deleted file mode 100644 index dbdcb3b4..00000000 --- a/res-pc/node_modules/lodash/extendWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInWith'); diff --git a/res-pc/node_modules/lodash/fill.js b/res-pc/node_modules/lodash/fill.js deleted file mode 100644 index ae13aa1c..00000000 --- a/res-pc/node_modules/lodash/fill.js +++ /dev/null @@ -1,45 +0,0 @@ -var baseFill = require('./_baseFill'), - isIterateeCall = require('./_isIterateeCall'); - -/** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8, 10], '*', 1, 3); - * // => [4, '*', '*', 10] - */ -function fill(array, value, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); -} - -module.exports = fill; diff --git a/res-pc/node_modules/lodash/filter.js b/res-pc/node_modules/lodash/filter.js deleted file mode 100644 index 52616be8..00000000 --- a/res-pc/node_modules/lodash/filter.js +++ /dev/null @@ -1,48 +0,0 @@ -var arrayFilter = require('./_arrayFilter'), - baseFilter = require('./_baseFilter'), - baseIteratee = require('./_baseIteratee'), - isArray = require('./isArray'); - -/** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - */ -function filter(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, baseIteratee(predicate, 3)); -} - -module.exports = filter; diff --git a/res-pc/node_modules/lodash/find.js b/res-pc/node_modules/lodash/find.js deleted file mode 100644 index de732ccb..00000000 --- a/res-pc/node_modules/lodash/find.js +++ /dev/null @@ -1,42 +0,0 @@ -var createFind = require('./_createFind'), - findIndex = require('./findIndex'); - -/** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ -var find = createFind(findIndex); - -module.exports = find; diff --git a/res-pc/node_modules/lodash/findIndex.js b/res-pc/node_modules/lodash/findIndex.js deleted file mode 100644 index 4689069f..00000000 --- a/res-pc/node_modules/lodash/findIndex.js +++ /dev/null @@ -1,55 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIteratee = require('./_baseIteratee'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ -function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, baseIteratee(predicate, 3), index); -} - -module.exports = findIndex; diff --git a/res-pc/node_modules/lodash/findKey.js b/res-pc/node_modules/lodash/findKey.js deleted file mode 100644 index cac0248a..00000000 --- a/res-pc/node_modules/lodash/findKey.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseFindKey = require('./_baseFindKey'), - baseForOwn = require('./_baseForOwn'), - baseIteratee = require('./_baseIteratee'); - -/** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(o) { return o.age < 40; }); - * // => 'barney' (iteration order is not guaranteed) - * - * // The `_.matches` iteratee shorthand. - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findKey(users, 'active'); - * // => 'barney' - */ -function findKey(object, predicate) { - return baseFindKey(object, baseIteratee(predicate, 3), baseForOwn); -} - -module.exports = findKey; diff --git a/res-pc/node_modules/lodash/findLast.js b/res-pc/node_modules/lodash/findLast.js deleted file mode 100644 index 70b4271d..00000000 --- a/res-pc/node_modules/lodash/findLast.js +++ /dev/null @@ -1,25 +0,0 @@ -var createFind = require('./_createFind'), - findLastIndex = require('./findLastIndex'); - -/** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=collection.length-1] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ -var findLast = createFind(findLastIndex); - -module.exports = findLast; diff --git a/res-pc/node_modules/lodash/findLastIndex.js b/res-pc/node_modules/lodash/findLastIndex.js deleted file mode 100644 index 7da3431f..00000000 --- a/res-pc/node_modules/lodash/findLastIndex.js +++ /dev/null @@ -1,59 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIteratee = require('./_baseIteratee'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); - * // => 2 - * - * // The `_.matches` iteratee shorthand. - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastIndex(users, ['active', false]); - * // => 2 - * - * // The `_.property` iteratee shorthand. - * _.findLastIndex(users, 'active'); - * // => 0 - */ -function findLastIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length - 1; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = fromIndex < 0 - ? nativeMax(length + index, 0) - : nativeMin(index, length - 1); - } - return baseFindIndex(array, baseIteratee(predicate, 3), index, true); -} - -module.exports = findLastIndex; diff --git a/res-pc/node_modules/lodash/findLastKey.js b/res-pc/node_modules/lodash/findLastKey.js deleted file mode 100644 index 66fb9fbc..00000000 --- a/res-pc/node_modules/lodash/findLastKey.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseFindKey = require('./_baseFindKey'), - baseForOwnRight = require('./_baseForOwnRight'), - baseIteratee = require('./_baseIteratee'); - -/** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(o) { return o.age < 40; }); - * // => returns 'pebbles' assuming `_.findKey` returns 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ -function findLastKey(object, predicate) { - return baseFindKey(object, baseIteratee(predicate, 3), baseForOwnRight); -} - -module.exports = findLastKey; diff --git a/res-pc/node_modules/lodash/first.js b/res-pc/node_modules/lodash/first.js deleted file mode 100644 index 53f4ad13..00000000 --- a/res-pc/node_modules/lodash/first.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./head'); diff --git a/res-pc/node_modules/lodash/flatMap.js b/res-pc/node_modules/lodash/flatMap.js deleted file mode 100644 index e6685068..00000000 --- a/res-pc/node_modules/lodash/flatMap.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - map = require('./map'); - -/** - * Creates a flattened array of values by running each element in `collection` - * thru `iteratee` and flattening the mapped results. The iteratee is invoked - * with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [n, n]; - * } - * - * _.flatMap([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ -function flatMap(collection, iteratee) { - return baseFlatten(map(collection, iteratee), 1); -} - -module.exports = flatMap; diff --git a/res-pc/node_modules/lodash/flatMapDeep.js b/res-pc/node_modules/lodash/flatMapDeep.js deleted file mode 100644 index 4653d603..00000000 --- a/res-pc/node_modules/lodash/flatMapDeep.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - map = require('./map'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDeep([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ -function flatMapDeep(collection, iteratee) { - return baseFlatten(map(collection, iteratee), INFINITY); -} - -module.exports = flatMapDeep; diff --git a/res-pc/node_modules/lodash/flatMapDepth.js b/res-pc/node_modules/lodash/flatMapDepth.js deleted file mode 100644 index 6d72005c..00000000 --- a/res-pc/node_modules/lodash/flatMapDepth.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - map = require('./map'), - toInteger = require('./toInteger'); - -/** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDepth([1, 2], duplicate, 2); - * // => [[1, 1], [2, 2]] - */ -function flatMapDepth(collection, iteratee, depth) { - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(map(collection, iteratee), depth); -} - -module.exports = flatMapDepth; diff --git a/res-pc/node_modules/lodash/flatten.js b/res-pc/node_modules/lodash/flatten.js deleted file mode 100644 index 3f09f7f7..00000000 --- a/res-pc/node_modules/lodash/flatten.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseFlatten = require('./_baseFlatten'); - -/** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ -function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; -} - -module.exports = flatten; diff --git a/res-pc/node_modules/lodash/flattenDeep.js b/res-pc/node_modules/lodash/flattenDeep.js deleted file mode 100644 index 8ad585cf..00000000 --- a/res-pc/node_modules/lodash/flattenDeep.js +++ /dev/null @@ -1,25 +0,0 @@ -var baseFlatten = require('./_baseFlatten'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ -function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; -} - -module.exports = flattenDeep; diff --git a/res-pc/node_modules/lodash/flattenDepth.js b/res-pc/node_modules/lodash/flattenDepth.js deleted file mode 100644 index 441fdcc2..00000000 --- a/res-pc/node_modules/lodash/flattenDepth.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - toInteger = require('./toInteger'); - -/** - * Recursively flatten `array` up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Array - * @param {Array} array The array to flatten. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * var array = [1, [2, [3, [4]], 5]]; - * - * _.flattenDepth(array, 1); - * // => [1, 2, [3, [4]], 5] - * - * _.flattenDepth(array, 2); - * // => [1, 2, 3, [4], 5] - */ -function flattenDepth(array, depth) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(array, depth); -} - -module.exports = flattenDepth; diff --git a/res-pc/node_modules/lodash/flip.js b/res-pc/node_modules/lodash/flip.js deleted file mode 100644 index c28dd789..00000000 --- a/res-pc/node_modules/lodash/flip.js +++ /dev/null @@ -1,28 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_FLIP_FLAG = 512; - -/** - * Creates a function that invokes `func` with arguments reversed. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to flip arguments for. - * @returns {Function} Returns the new flipped function. - * @example - * - * var flipped = _.flip(function() { - * return _.toArray(arguments); - * }); - * - * flipped('a', 'b', 'c', 'd'); - * // => ['d', 'c', 'b', 'a'] - */ -function flip(func) { - return createWrap(func, WRAP_FLIP_FLAG); -} - -module.exports = flip; diff --git a/res-pc/node_modules/lodash/floor.js b/res-pc/node_modules/lodash/floor.js deleted file mode 100644 index ab6dfa28..00000000 --- a/res-pc/node_modules/lodash/floor.js +++ /dev/null @@ -1,26 +0,0 @@ -var createRound = require('./_createRound'); - -/** - * Computes `number` rounded down to `precision`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Math - * @param {number} number The number to round down. - * @param {number} [precision=0] The precision to round down to. - * @returns {number} Returns the rounded down number. - * @example - * - * _.floor(4.006); - * // => 4 - * - * _.floor(0.046, 2); - * // => 0.04 - * - * _.floor(4060, -2); - * // => 4000 - */ -var floor = createRound('floor'); - -module.exports = floor; diff --git a/res-pc/node_modules/lodash/flow.js b/res-pc/node_modules/lodash/flow.js deleted file mode 100644 index 74b6b62d..00000000 --- a/res-pc/node_modules/lodash/flow.js +++ /dev/null @@ -1,27 +0,0 @@ -var createFlow = require('./_createFlow'); - -/** - * Creates a function that returns the result of invoking the given functions - * with the `this` binding of the created function, where each successive - * invocation is supplied the return value of the previous. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Util - * @param {...(Function|Function[])} [funcs] The functions to invoke. - * @returns {Function} Returns the new composite function. - * @see _.flowRight - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flow([_.add, square]); - * addSquare(1, 2); - * // => 9 - */ -var flow = createFlow(); - -module.exports = flow; diff --git a/res-pc/node_modules/lodash/flowRight.js b/res-pc/node_modules/lodash/flowRight.js deleted file mode 100644 index 11461410..00000000 --- a/res-pc/node_modules/lodash/flowRight.js +++ /dev/null @@ -1,26 +0,0 @@ -var createFlow = require('./_createFlow'); - -/** - * This method is like `_.flow` except that it creates a function that - * invokes the given functions from right to left. - * - * @static - * @since 3.0.0 - * @memberOf _ - * @category Util - * @param {...(Function|Function[])} [funcs] The functions to invoke. - * @returns {Function} Returns the new composite function. - * @see _.flow - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flowRight([square, _.add]); - * addSquare(1, 2); - * // => 9 - */ -var flowRight = createFlow(true); - -module.exports = flowRight; diff --git a/res-pc/node_modules/lodash/forEach.js b/res-pc/node_modules/lodash/forEach.js deleted file mode 100644 index c64eaa73..00000000 --- a/res-pc/node_modules/lodash/forEach.js +++ /dev/null @@ -1,41 +0,0 @@ -var arrayEach = require('./_arrayEach'), - baseEach = require('./_baseEach'), - castFunction = require('./_castFunction'), - isArray = require('./isArray'); - -/** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ -function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, castFunction(iteratee)); -} - -module.exports = forEach; diff --git a/res-pc/node_modules/lodash/forEachRight.js b/res-pc/node_modules/lodash/forEachRight.js deleted file mode 100644 index 7390ebaf..00000000 --- a/res-pc/node_modules/lodash/forEachRight.js +++ /dev/null @@ -1,31 +0,0 @@ -var arrayEachRight = require('./_arrayEachRight'), - baseEachRight = require('./_baseEachRight'), - castFunction = require('./_castFunction'), - isArray = require('./isArray'); - -/** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @alias eachRight - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEach - * @example - * - * _.forEachRight([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `2` then `1`. - */ -function forEachRight(collection, iteratee) { - var func = isArray(collection) ? arrayEachRight : baseEachRight; - return func(collection, castFunction(iteratee)); -} - -module.exports = forEachRight; diff --git a/res-pc/node_modules/lodash/forIn.js b/res-pc/node_modules/lodash/forIn.js deleted file mode 100644 index 583a5963..00000000 --- a/res-pc/node_modules/lodash/forIn.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseFor = require('./_baseFor'), - castFunction = require('./_castFunction'), - keysIn = require('./keysIn'); - -/** - * Iterates over own and inherited enumerable string keyed properties of an - * object and invokes `iteratee` for each property. The iteratee is invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forInRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). - */ -function forIn(object, iteratee) { - return object == null - ? object - : baseFor(object, castFunction(iteratee), keysIn); -} - -module.exports = forIn; diff --git a/res-pc/node_modules/lodash/forInRight.js b/res-pc/node_modules/lodash/forInRight.js deleted file mode 100644 index 4aedf58a..00000000 --- a/res-pc/node_modules/lodash/forInRight.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseForRight = require('./_baseForRight'), - castFunction = require('./_castFunction'), - keysIn = require('./keysIn'); - -/** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forIn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. - */ -function forInRight(object, iteratee) { - return object == null - ? object - : baseForRight(object, castFunction(iteratee), keysIn); -} - -module.exports = forInRight; diff --git a/res-pc/node_modules/lodash/forOwn.js b/res-pc/node_modules/lodash/forOwn.js deleted file mode 100644 index 94eed840..00000000 --- a/res-pc/node_modules/lodash/forOwn.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseForOwn = require('./_baseForOwn'), - castFunction = require('./_castFunction'); - -/** - * Iterates over own enumerable string keyed properties of an object and - * invokes `iteratee` for each property. The iteratee is invoked with three - * arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwnRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ -function forOwn(object, iteratee) { - return object && baseForOwn(object, castFunction(iteratee)); -} - -module.exports = forOwn; diff --git a/res-pc/node_modules/lodash/forOwnRight.js b/res-pc/node_modules/lodash/forOwnRight.js deleted file mode 100644 index 86f338f0..00000000 --- a/res-pc/node_modules/lodash/forOwnRight.js +++ /dev/null @@ -1,34 +0,0 @@ -var baseForOwnRight = require('./_baseForOwnRight'), - castFunction = require('./_castFunction'); - -/** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. - */ -function forOwnRight(object, iteratee) { - return object && baseForOwnRight(object, castFunction(iteratee)); -} - -module.exports = forOwnRight; diff --git a/res-pc/node_modules/lodash/fp.js b/res-pc/node_modules/lodash/fp.js deleted file mode 100644 index e372dbbd..00000000 --- a/res-pc/node_modules/lodash/fp.js +++ /dev/null @@ -1,2 +0,0 @@ -var _ = require('./lodash.min').runInContext(); -module.exports = require('./fp/_baseConvert')(_, _); diff --git a/res-pc/node_modules/lodash/fp/F.js b/res-pc/node_modules/lodash/fp/F.js deleted file mode 100644 index a05a63ad..00000000 --- a/res-pc/node_modules/lodash/fp/F.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./stubFalse'); diff --git a/res-pc/node_modules/lodash/fp/T.js b/res-pc/node_modules/lodash/fp/T.js deleted file mode 100644 index e2ba8ea5..00000000 --- a/res-pc/node_modules/lodash/fp/T.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./stubTrue'); diff --git a/res-pc/node_modules/lodash/fp/__.js b/res-pc/node_modules/lodash/fp/__.js deleted file mode 100644 index 4af98deb..00000000 --- a/res-pc/node_modules/lodash/fp/__.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./placeholder'); diff --git a/res-pc/node_modules/lodash/fp/_baseConvert.js b/res-pc/node_modules/lodash/fp/_baseConvert.js deleted file mode 100644 index 7af27655..00000000 --- a/res-pc/node_modules/lodash/fp/_baseConvert.js +++ /dev/null @@ -1,568 +0,0 @@ -var mapping = require('./_mapping'), - fallbackHolder = require('./placeholder'); - -/** Built-in value reference. */ -var push = Array.prototype.push; - -/** - * Creates a function, with an arity of `n`, that invokes `func` with the - * arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} n The arity of the new function. - * @returns {Function} Returns the new function. - */ -function baseArity(func, n) { - return n == 2 - ? function(a, b) { return func.apply(undefined, arguments); } - : function(a) { return func.apply(undefined, arguments); }; -} - -/** - * Creates a function that invokes `func`, with up to `n` arguments, ignoring - * any additional arguments. - * - * @private - * @param {Function} func The function to cap arguments for. - * @param {number} n The arity cap. - * @returns {Function} Returns the new function. - */ -function baseAry(func, n) { - return n == 2 - ? function(a, b) { return func(a, b); } - : function(a) { return func(a); }; -} - -/** - * Creates a clone of `array`. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the cloned array. - */ -function cloneArray(array) { - var length = array ? array.length : 0, - result = Array(length); - - while (length--) { - result[length] = array[length]; - } - return result; -} - -/** - * Creates a function that clones a given object using the assignment `func`. - * - * @private - * @param {Function} func The assignment function. - * @returns {Function} Returns the new cloner function. - */ -function createCloner(func) { - return function(object) { - return func({}, object); - }; -} - -/** - * A specialized version of `_.spread` which flattens the spread array into - * the arguments of the invoked `func`. - * - * @private - * @param {Function} func The function to spread arguments over. - * @param {number} start The start position of the spread. - * @returns {Function} Returns the new function. - */ -function flatSpread(func, start) { - return function() { - var length = arguments.length, - lastIndex = length - 1, - args = Array(length); - - while (length--) { - args[length] = arguments[length]; - } - var array = args[start], - otherArgs = args.slice(0, start); - - if (array) { - push.apply(otherArgs, array); - } - if (start != lastIndex) { - push.apply(otherArgs, args.slice(start + 1)); - } - return func.apply(this, otherArgs); - }; -} - -/** - * Creates a function that wraps `func` and uses `cloner` to clone the first - * argument it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} cloner The function to clone arguments. - * @returns {Function} Returns the new immutable function. - */ -function wrapImmutable(func, cloner) { - return function() { - var length = arguments.length; - if (!length) { - return; - } - var args = Array(length); - while (length--) { - args[length] = arguments[length]; - } - var result = args[0] = cloner.apply(undefined, args); - func.apply(undefined, args); - return result; - }; -} - -/** - * The base implementation of `convert` which accepts a `util` object of methods - * required to perform conversions. - * - * @param {Object} util The util object. - * @param {string} name The name of the function to convert. - * @param {Function} func The function to convert. - * @param {Object} [options] The options object. - * @param {boolean} [options.cap=true] Specify capping iteratee arguments. - * @param {boolean} [options.curry=true] Specify currying. - * @param {boolean} [options.fixed=true] Specify fixed arity. - * @param {boolean} [options.immutable=true] Specify immutable operations. - * @param {boolean} [options.rearg=true] Specify rearranging arguments. - * @returns {Function|Object} Returns the converted function or object. - */ -function baseConvert(util, name, func, options) { - var setPlaceholder, - isLib = typeof name == 'function', - isObj = name === Object(name); - - if (isObj) { - options = func; - func = name; - name = undefined; - } - if (func == null) { - throw new TypeError; - } - options || (options = {}); - - var config = { - 'cap': 'cap' in options ? options.cap : true, - 'curry': 'curry' in options ? options.curry : true, - 'fixed': 'fixed' in options ? options.fixed : true, - 'immutable': 'immutable' in options ? options.immutable : true, - 'rearg': 'rearg' in options ? options.rearg : true - }; - - var forceCurry = ('curry' in options) && options.curry, - forceFixed = ('fixed' in options) && options.fixed, - forceRearg = ('rearg' in options) && options.rearg, - placeholder = isLib ? func : fallbackHolder, - pristine = isLib ? func.runInContext() : undefined; - - var helpers = isLib ? func : { - 'ary': util.ary, - 'assign': util.assign, - 'clone': util.clone, - 'curry': util.curry, - 'forEach': util.forEach, - 'isArray': util.isArray, - 'isFunction': util.isFunction, - 'iteratee': util.iteratee, - 'keys': util.keys, - 'rearg': util.rearg, - 'toInteger': util.toInteger, - 'toPath': util.toPath - }; - - var ary = helpers.ary, - assign = helpers.assign, - clone = helpers.clone, - curry = helpers.curry, - each = helpers.forEach, - isArray = helpers.isArray, - isFunction = helpers.isFunction, - keys = helpers.keys, - rearg = helpers.rearg, - toInteger = helpers.toInteger, - toPath = helpers.toPath; - - var aryMethodKeys = keys(mapping.aryMethod); - - var wrappers = { - 'castArray': function(castArray) { - return function() { - var value = arguments[0]; - return isArray(value) - ? castArray(cloneArray(value)) - : castArray.apply(undefined, arguments); - }; - }, - 'iteratee': function(iteratee) { - return function() { - var func = arguments[0], - arity = arguments[1], - result = iteratee(func, arity), - length = result.length; - - if (config.cap && typeof arity == 'number') { - arity = arity > 2 ? (arity - 2) : 1; - return (length && length <= arity) ? result : baseAry(result, arity); - } - return result; - }; - }, - 'mixin': function(mixin) { - return function(source) { - var func = this; - if (!isFunction(func)) { - return mixin(func, Object(source)); - } - var pairs = []; - each(keys(source), function(key) { - if (isFunction(source[key])) { - pairs.push([key, func.prototype[key]]); - } - }); - - mixin(func, Object(source)); - - each(pairs, function(pair) { - var value = pair[1]; - if (isFunction(value)) { - func.prototype[pair[0]] = value; - } else { - delete func.prototype[pair[0]]; - } - }); - return func; - }; - }, - 'nthArg': function(nthArg) { - return function(n) { - var arity = n < 0 ? 1 : (toInteger(n) + 1); - return curry(nthArg(n), arity); - }; - }, - 'rearg': function(rearg) { - return function(func, indexes) { - var arity = indexes ? indexes.length : 0; - return curry(rearg(func, indexes), arity); - }; - }, - 'runInContext': function(runInContext) { - return function(context) { - return baseConvert(util, runInContext(context), options); - }; - } - }; - - /*--------------------------------------------------------------------------*/ - - /** - * Casts `func` to a function with an arity capped iteratee if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @returns {Function} Returns the cast function. - */ - function castCap(name, func) { - if (config.cap) { - var indexes = mapping.iterateeRearg[name]; - if (indexes) { - return iterateeRearg(func, indexes); - } - var n = !isLib && mapping.iterateeAry[name]; - if (n) { - return iterateeAry(func, n); - } - } - return func; - } - - /** - * Casts `func` to a curried function if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @param {number} n The arity of `func`. - * @returns {Function} Returns the cast function. - */ - function castCurry(name, func, n) { - return (forceCurry || (config.curry && n > 1)) - ? curry(func, n) - : func; - } - - /** - * Casts `func` to a fixed arity function if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @param {number} n The arity cap. - * @returns {Function} Returns the cast function. - */ - function castFixed(name, func, n) { - if (config.fixed && (forceFixed || !mapping.skipFixed[name])) { - var data = mapping.methodSpread[name], - start = data && data.start; - - return start === undefined ? ary(func, n) : flatSpread(func, start); - } - return func; - } - - /** - * Casts `func` to an rearged function if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @param {number} n The arity of `func`. - * @returns {Function} Returns the cast function. - */ - function castRearg(name, func, n) { - return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name])) - ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n]) - : func; - } - - /** - * Creates a clone of `object` by `path`. - * - * @private - * @param {Object} object The object to clone. - * @param {Array|string} path The path to clone by. - * @returns {Object} Returns the cloned object. - */ - function cloneByPath(object, path) { - path = toPath(path); - - var index = -1, - length = path.length, - lastIndex = length - 1, - result = clone(Object(object)), - nested = result; - - while (nested != null && ++index < length) { - var key = path[index], - value = nested[key]; - - if (value != null) { - nested[path[index]] = clone(index == lastIndex ? value : Object(value)); - } - nested = nested[key]; - } - return result; - } - - /** - * Converts `lodash` to an immutable auto-curried iteratee-first data-last - * version with conversion `options` applied. - * - * @param {Object} [options] The options object. See `baseConvert` for more details. - * @returns {Function} Returns the converted `lodash`. - */ - function convertLib(options) { - return _.runInContext.convert(options)(undefined); - } - - /** - * Create a converter function for `func` of `name`. - * - * @param {string} name The name of the function to convert. - * @param {Function} func The function to convert. - * @returns {Function} Returns the new converter function. - */ - function createConverter(name, func) { - var realName = mapping.aliasToReal[name] || name, - methodName = mapping.remap[realName] || realName, - oldOptions = options; - - return function(options) { - var newUtil = isLib ? pristine : helpers, - newFunc = isLib ? pristine[methodName] : func, - newOptions = assign(assign({}, oldOptions), options); - - return baseConvert(newUtil, realName, newFunc, newOptions); - }; - } - - /** - * Creates a function that wraps `func` to invoke its iteratee, with up to `n` - * arguments, ignoring any additional arguments. - * - * @private - * @param {Function} func The function to cap iteratee arguments for. - * @param {number} n The arity cap. - * @returns {Function} Returns the new function. - */ - function iterateeAry(func, n) { - return overArg(func, function(func) { - return typeof func == 'function' ? baseAry(func, n) : func; - }); - } - - /** - * Creates a function that wraps `func` to invoke its iteratee with arguments - * arranged according to the specified `indexes` where the argument value at - * the first index is provided as the first argument, the argument value at - * the second index is provided as the second argument, and so on. - * - * @private - * @param {Function} func The function to rearrange iteratee arguments for. - * @param {number[]} indexes The arranged argument indexes. - * @returns {Function} Returns the new function. - */ - function iterateeRearg(func, indexes) { - return overArg(func, function(func) { - var n = indexes.length; - return baseArity(rearg(baseAry(func, n), indexes), n); - }); - } - - /** - * Creates a function that invokes `func` with its first argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function() { - var length = arguments.length; - if (!length) { - return func(); - } - var args = Array(length); - while (length--) { - args[length] = arguments[length]; - } - var index = config.rearg ? 0 : (length - 1); - args[index] = transform(args[index]); - return func.apply(undefined, args); - }; - } - - /** - * Creates a function that wraps `func` and applys the conversions - * rules by `name`. - * - * @private - * @param {string} name The name of the function to wrap. - * @param {Function} func The function to wrap. - * @returns {Function} Returns the converted function. - */ - function wrap(name, func) { - var result, - realName = mapping.aliasToReal[name] || name, - wrapped = func, - wrapper = wrappers[realName]; - - if (wrapper) { - wrapped = wrapper(func); - } - else if (config.immutable) { - if (mapping.mutate.array[realName]) { - wrapped = wrapImmutable(func, cloneArray); - } - else if (mapping.mutate.object[realName]) { - wrapped = wrapImmutable(func, createCloner(func)); - } - else if (mapping.mutate.set[realName]) { - wrapped = wrapImmutable(func, cloneByPath); - } - } - each(aryMethodKeys, function(aryKey) { - each(mapping.aryMethod[aryKey], function(otherName) { - if (realName == otherName) { - var data = mapping.methodSpread[realName], - afterRearg = data && data.afterRearg; - - result = afterRearg - ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey) - : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey); - - result = castCap(realName, result); - result = castCurry(realName, result, aryKey); - return false; - } - }); - return !result; - }); - - result || (result = wrapped); - if (result == func) { - result = forceCurry ? curry(result, 1) : function() { - return func.apply(this, arguments); - }; - } - result.convert = createConverter(realName, func); - if (mapping.placeholder[realName]) { - setPlaceholder = true; - result.placeholder = func.placeholder = placeholder; - } - return result; - } - - /*--------------------------------------------------------------------------*/ - - if (!isObj) { - return wrap(name, func); - } - var _ = func; - - // Convert methods by ary cap. - var pairs = []; - each(aryMethodKeys, function(aryKey) { - each(mapping.aryMethod[aryKey], function(key) { - var func = _[mapping.remap[key] || key]; - if (func) { - pairs.push([key, wrap(key, func)]); - } - }); - }); - - // Convert remaining methods. - each(keys(_), function(key) { - var func = _[key]; - if (typeof func == 'function') { - var length = pairs.length; - while (length--) { - if (pairs[length][0] == key) { - return; - } - } - func.convert = createConverter(key, func); - pairs.push([key, func]); - } - }); - - // Assign to `_` leaving `_.prototype` unchanged to allow chaining. - each(pairs, function(pair) { - _[pair[0]] = pair[1]; - }); - - _.convert = convertLib; - if (setPlaceholder) { - _.placeholder = placeholder; - } - // Assign aliases. - each(keys(_), function(key) { - each(mapping.realToAlias[key] || [], function(alias) { - _[alias] = _[key]; - }); - }); - - return _; -} - -module.exports = baseConvert; diff --git a/res-pc/node_modules/lodash/fp/_convertBrowser.js b/res-pc/node_modules/lodash/fp/_convertBrowser.js deleted file mode 100644 index bde030dc..00000000 --- a/res-pc/node_modules/lodash/fp/_convertBrowser.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseConvert = require('./_baseConvert'); - -/** - * Converts `lodash` to an immutable auto-curried iteratee-first data-last - * version with conversion `options` applied. - * - * @param {Function} lodash The lodash function to convert. - * @param {Object} [options] The options object. See `baseConvert` for more details. - * @returns {Function} Returns the converted `lodash`. - */ -function browserConvert(lodash, options) { - return baseConvert(lodash, lodash, options); -} - -if (typeof _ == 'function' && typeof _.runInContext == 'function') { - _ = browserConvert(_.runInContext()); -} -module.exports = browserConvert; diff --git a/res-pc/node_modules/lodash/fp/_falseOptions.js b/res-pc/node_modules/lodash/fp/_falseOptions.js deleted file mode 100644 index 773235e3..00000000 --- a/res-pc/node_modules/lodash/fp/_falseOptions.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - 'cap': false, - 'curry': false, - 'fixed': false, - 'immutable': false, - 'rearg': false -}; diff --git a/res-pc/node_modules/lodash/fp/_mapping.js b/res-pc/node_modules/lodash/fp/_mapping.js deleted file mode 100644 index 8f5ddf2d..00000000 --- a/res-pc/node_modules/lodash/fp/_mapping.js +++ /dev/null @@ -1,368 +0,0 @@ -/** Used to map aliases to their real names. */ -exports.aliasToReal = { - - // Lodash aliases. - 'each': 'forEach', - 'eachRight': 'forEachRight', - 'entries': 'toPairs', - 'entriesIn': 'toPairsIn', - 'extend': 'assignIn', - 'extendAll': 'assignInAll', - 'extendAllWith': 'assignInAllWith', - 'extendWith': 'assignInWith', - 'first': 'head', - - // Methods that are curried variants of others. - 'conforms': 'conformsTo', - 'matches': 'isMatch', - 'property': 'get', - - // Ramda aliases. - '__': 'placeholder', - 'F': 'stubFalse', - 'T': 'stubTrue', - 'all': 'every', - 'allPass': 'overEvery', - 'always': 'constant', - 'any': 'some', - 'anyPass': 'overSome', - 'apply': 'spread', - 'assoc': 'set', - 'assocPath': 'set', - 'complement': 'negate', - 'compose': 'flowRight', - 'contains': 'includes', - 'dissoc': 'unset', - 'dissocPath': 'unset', - 'dropLast': 'dropRight', - 'dropLastWhile': 'dropRightWhile', - 'equals': 'isEqual', - 'identical': 'eq', - 'indexBy': 'keyBy', - 'init': 'initial', - 'invertObj': 'invert', - 'juxt': 'over', - 'omitAll': 'omit', - 'nAry': 'ary', - 'path': 'get', - 'pathEq': 'matchesProperty', - 'pathOr': 'getOr', - 'paths': 'at', - 'pickAll': 'pick', - 'pipe': 'flow', - 'pluck': 'map', - 'prop': 'get', - 'propEq': 'matchesProperty', - 'propOr': 'getOr', - 'props': 'at', - 'symmetricDifference': 'xor', - 'symmetricDifferenceBy': 'xorBy', - 'symmetricDifferenceWith': 'xorWith', - 'takeLast': 'takeRight', - 'takeLastWhile': 'takeRightWhile', - 'unapply': 'rest', - 'unnest': 'flatten', - 'useWith': 'overArgs', - 'where': 'conformsTo', - 'whereEq': 'isMatch', - 'zipObj': 'zipObject' -}; - -/** Used to map ary to method names. */ -exports.aryMethod = { - '1': [ - 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', - 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', - 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll', - 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse', - 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart', - 'uniqueId', 'words', 'zipAll' - ], - '2': [ - 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', - 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith', - 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN', - 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference', - 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq', - 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex', - 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach', - 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get', - 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection', - 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy', - 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty', - 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit', - 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial', - 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll', - 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove', - 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex', - 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy', - 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight', - 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars', - 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith', - 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject', - 'zipObjectDeep' - ], - '3': [ - 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith', - 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr', - 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', - 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', - 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', - 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight', - 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy', - 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy', - 'xorWith', 'zipWith' - ], - '4': [ - 'fill', 'setWith', 'updateWith' - ] -}; - -/** Used to map ary to rearg configs. */ -exports.aryRearg = { - '2': [1, 0], - '3': [2, 0, 1], - '4': [3, 2, 0, 1] -}; - -/** Used to map method names to their iteratee ary. */ -exports.iterateeAry = { - 'dropRightWhile': 1, - 'dropWhile': 1, - 'every': 1, - 'filter': 1, - 'find': 1, - 'findFrom': 1, - 'findIndex': 1, - 'findIndexFrom': 1, - 'findKey': 1, - 'findLast': 1, - 'findLastFrom': 1, - 'findLastIndex': 1, - 'findLastIndexFrom': 1, - 'findLastKey': 1, - 'flatMap': 1, - 'flatMapDeep': 1, - 'flatMapDepth': 1, - 'forEach': 1, - 'forEachRight': 1, - 'forIn': 1, - 'forInRight': 1, - 'forOwn': 1, - 'forOwnRight': 1, - 'map': 1, - 'mapKeys': 1, - 'mapValues': 1, - 'partition': 1, - 'reduce': 2, - 'reduceRight': 2, - 'reject': 1, - 'remove': 1, - 'some': 1, - 'takeRightWhile': 1, - 'takeWhile': 1, - 'times': 1, - 'transform': 2 -}; - -/** Used to map method names to iteratee rearg configs. */ -exports.iterateeRearg = { - 'mapKeys': [1], - 'reduceRight': [1, 0] -}; - -/** Used to map method names to rearg configs. */ -exports.methodRearg = { - 'assignInAllWith': [1, 0], - 'assignInWith': [1, 2, 0], - 'assignAllWith': [1, 0], - 'assignWith': [1, 2, 0], - 'differenceBy': [1, 2, 0], - 'differenceWith': [1, 2, 0], - 'getOr': [2, 1, 0], - 'intersectionBy': [1, 2, 0], - 'intersectionWith': [1, 2, 0], - 'isEqualWith': [1, 2, 0], - 'isMatchWith': [2, 1, 0], - 'mergeAllWith': [1, 0], - 'mergeWith': [1, 2, 0], - 'padChars': [2, 1, 0], - 'padCharsEnd': [2, 1, 0], - 'padCharsStart': [2, 1, 0], - 'pullAllBy': [2, 1, 0], - 'pullAllWith': [2, 1, 0], - 'rangeStep': [1, 2, 0], - 'rangeStepRight': [1, 2, 0], - 'setWith': [3, 1, 2, 0], - 'sortedIndexBy': [2, 1, 0], - 'sortedLastIndexBy': [2, 1, 0], - 'unionBy': [1, 2, 0], - 'unionWith': [1, 2, 0], - 'updateWith': [3, 1, 2, 0], - 'xorBy': [1, 2, 0], - 'xorWith': [1, 2, 0], - 'zipWith': [1, 2, 0] -}; - -/** Used to map method names to spread configs. */ -exports.methodSpread = { - 'assignAll': { 'start': 0 }, - 'assignAllWith': { 'start': 0 }, - 'assignInAll': { 'start': 0 }, - 'assignInAllWith': { 'start': 0 }, - 'defaultsAll': { 'start': 0 }, - 'defaultsDeepAll': { 'start': 0 }, - 'invokeArgs': { 'start': 2 }, - 'invokeArgsMap': { 'start': 2 }, - 'mergeAll': { 'start': 0 }, - 'mergeAllWith': { 'start': 0 }, - 'partial': { 'start': 1 }, - 'partialRight': { 'start': 1 }, - 'without': { 'start': 1 }, - 'zipAll': { 'start': 0 } -}; - -/** Used to identify methods which mutate arrays or objects. */ -exports.mutate = { - 'array': { - 'fill': true, - 'pull': true, - 'pullAll': true, - 'pullAllBy': true, - 'pullAllWith': true, - 'pullAt': true, - 'remove': true, - 'reverse': true - }, - 'object': { - 'assign': true, - 'assignAll': true, - 'assignAllWith': true, - 'assignIn': true, - 'assignInAll': true, - 'assignInAllWith': true, - 'assignInWith': true, - 'assignWith': true, - 'defaults': true, - 'defaultsAll': true, - 'defaultsDeep': true, - 'defaultsDeepAll': true, - 'merge': true, - 'mergeAll': true, - 'mergeAllWith': true, - 'mergeWith': true, - }, - 'set': { - 'set': true, - 'setWith': true, - 'unset': true, - 'update': true, - 'updateWith': true - } -}; - -/** Used to track methods with placeholder support */ -exports.placeholder = { - 'bind': true, - 'bindKey': true, - 'curry': true, - 'curryRight': true, - 'partial': true, - 'partialRight': true -}; - -/** Used to map real names to their aliases. */ -exports.realToAlias = (function() { - var hasOwnProperty = Object.prototype.hasOwnProperty, - object = exports.aliasToReal, - result = {}; - - for (var key in object) { - var value = object[key]; - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - } - return result; -}()); - -/** Used to map method names to other names. */ -exports.remap = { - 'assignAll': 'assign', - 'assignAllWith': 'assignWith', - 'assignInAll': 'assignIn', - 'assignInAllWith': 'assignInWith', - 'curryN': 'curry', - 'curryRightN': 'curryRight', - 'defaultsAll': 'defaults', - 'defaultsDeepAll': 'defaultsDeep', - 'findFrom': 'find', - 'findIndexFrom': 'findIndex', - 'findLastFrom': 'findLast', - 'findLastIndexFrom': 'findLastIndex', - 'getOr': 'get', - 'includesFrom': 'includes', - 'indexOfFrom': 'indexOf', - 'invokeArgs': 'invoke', - 'invokeArgsMap': 'invokeMap', - 'lastIndexOfFrom': 'lastIndexOf', - 'mergeAll': 'merge', - 'mergeAllWith': 'mergeWith', - 'padChars': 'pad', - 'padCharsEnd': 'padEnd', - 'padCharsStart': 'padStart', - 'propertyOf': 'get', - 'rangeStep': 'range', - 'rangeStepRight': 'rangeRight', - 'restFrom': 'rest', - 'spreadFrom': 'spread', - 'trimChars': 'trim', - 'trimCharsEnd': 'trimEnd', - 'trimCharsStart': 'trimStart', - 'zipAll': 'zip' -}; - -/** Used to track methods that skip fixing their arity. */ -exports.skipFixed = { - 'castArray': true, - 'flow': true, - 'flowRight': true, - 'iteratee': true, - 'mixin': true, - 'rearg': true, - 'runInContext': true -}; - -/** Used to track methods that skip rearranging arguments. */ -exports.skipRearg = { - 'add': true, - 'assign': true, - 'assignIn': true, - 'bind': true, - 'bindKey': true, - 'concat': true, - 'difference': true, - 'divide': true, - 'eq': true, - 'gt': true, - 'gte': true, - 'isEqual': true, - 'lt': true, - 'lte': true, - 'matchesProperty': true, - 'merge': true, - 'multiply': true, - 'overArgs': true, - 'partial': true, - 'partialRight': true, - 'propertyOf': true, - 'random': true, - 'range': true, - 'rangeRight': true, - 'subtract': true, - 'zip': true, - 'zipObject': true, - 'zipObjectDeep': true -}; diff --git a/res-pc/node_modules/lodash/fp/_util.js b/res-pc/node_modules/lodash/fp/_util.js deleted file mode 100644 index 70844630..00000000 --- a/res-pc/node_modules/lodash/fp/_util.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - 'ary': require('../ary'), - 'assign': require('../_baseAssign'), - 'clone': require('../clone'), - 'curry': require('../curry'), - 'forEach': require('../_arrayEach'), - 'isArray': require('../isArray'), - 'isFunction': require('../isFunction'), - 'iteratee': require('../iteratee'), - 'keys': require('../_baseKeys'), - 'rearg': require('../rearg'), - 'toInteger': require('../toInteger'), - 'toPath': require('../toPath') -}; diff --git a/res-pc/node_modules/lodash/fp/add.js b/res-pc/node_modules/lodash/fp/add.js deleted file mode 100644 index 816eeece..00000000 --- a/res-pc/node_modules/lodash/fp/add.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('add', require('../add')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/after.js b/res-pc/node_modules/lodash/fp/after.js deleted file mode 100644 index 21a0167a..00000000 --- a/res-pc/node_modules/lodash/fp/after.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('after', require('../after')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/all.js b/res-pc/node_modules/lodash/fp/all.js deleted file mode 100644 index d0839f77..00000000 --- a/res-pc/node_modules/lodash/fp/all.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./every'); diff --git a/res-pc/node_modules/lodash/fp/allPass.js b/res-pc/node_modules/lodash/fp/allPass.js deleted file mode 100644 index 79b73ef8..00000000 --- a/res-pc/node_modules/lodash/fp/allPass.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./overEvery'); diff --git a/res-pc/node_modules/lodash/fp/always.js b/res-pc/node_modules/lodash/fp/always.js deleted file mode 100644 index 98877030..00000000 --- a/res-pc/node_modules/lodash/fp/always.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./constant'); diff --git a/res-pc/node_modules/lodash/fp/any.js b/res-pc/node_modules/lodash/fp/any.js deleted file mode 100644 index 900ac25e..00000000 --- a/res-pc/node_modules/lodash/fp/any.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./some'); diff --git a/res-pc/node_modules/lodash/fp/anyPass.js b/res-pc/node_modules/lodash/fp/anyPass.js deleted file mode 100644 index 2774ab37..00000000 --- a/res-pc/node_modules/lodash/fp/anyPass.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./overSome'); diff --git a/res-pc/node_modules/lodash/fp/apply.js b/res-pc/node_modules/lodash/fp/apply.js deleted file mode 100644 index 2b757129..00000000 --- a/res-pc/node_modules/lodash/fp/apply.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./spread'); diff --git a/res-pc/node_modules/lodash/fp/array.js b/res-pc/node_modules/lodash/fp/array.js deleted file mode 100644 index fe939c2c..00000000 --- a/res-pc/node_modules/lodash/fp/array.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../array')); diff --git a/res-pc/node_modules/lodash/fp/ary.js b/res-pc/node_modules/lodash/fp/ary.js deleted file mode 100644 index 8edf1877..00000000 --- a/res-pc/node_modules/lodash/fp/ary.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('ary', require('../ary')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assign.js b/res-pc/node_modules/lodash/fp/assign.js deleted file mode 100644 index 23f47af1..00000000 --- a/res-pc/node_modules/lodash/fp/assign.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assign', require('../assign')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assignAll.js b/res-pc/node_modules/lodash/fp/assignAll.js deleted file mode 100644 index b1d36c7e..00000000 --- a/res-pc/node_modules/lodash/fp/assignAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignAll', require('../assign')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assignAllWith.js b/res-pc/node_modules/lodash/fp/assignAllWith.js deleted file mode 100644 index 21e836e6..00000000 --- a/res-pc/node_modules/lodash/fp/assignAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignAllWith', require('../assignWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assignIn.js b/res-pc/node_modules/lodash/fp/assignIn.js deleted file mode 100644 index 6e7c65fa..00000000 --- a/res-pc/node_modules/lodash/fp/assignIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignIn', require('../assignIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assignInAll.js b/res-pc/node_modules/lodash/fp/assignInAll.js deleted file mode 100644 index 7ba75dba..00000000 --- a/res-pc/node_modules/lodash/fp/assignInAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignInAll', require('../assignIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assignInAllWith.js b/res-pc/node_modules/lodash/fp/assignInAllWith.js deleted file mode 100644 index e766903d..00000000 --- a/res-pc/node_modules/lodash/fp/assignInAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignInAllWith', require('../assignInWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assignInWith.js b/res-pc/node_modules/lodash/fp/assignInWith.js deleted file mode 100644 index acb59236..00000000 --- a/res-pc/node_modules/lodash/fp/assignInWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignInWith', require('../assignInWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assignWith.js b/res-pc/node_modules/lodash/fp/assignWith.js deleted file mode 100644 index eb925212..00000000 --- a/res-pc/node_modules/lodash/fp/assignWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignWith', require('../assignWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/assoc.js b/res-pc/node_modules/lodash/fp/assoc.js deleted file mode 100644 index 7648820c..00000000 --- a/res-pc/node_modules/lodash/fp/assoc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./set'); diff --git a/res-pc/node_modules/lodash/fp/assocPath.js b/res-pc/node_modules/lodash/fp/assocPath.js deleted file mode 100644 index 7648820c..00000000 --- a/res-pc/node_modules/lodash/fp/assocPath.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./set'); diff --git a/res-pc/node_modules/lodash/fp/at.js b/res-pc/node_modules/lodash/fp/at.js deleted file mode 100644 index cc39d257..00000000 --- a/res-pc/node_modules/lodash/fp/at.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('at', require('../at')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/attempt.js b/res-pc/node_modules/lodash/fp/attempt.js deleted file mode 100644 index 26ca42ea..00000000 --- a/res-pc/node_modules/lodash/fp/attempt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('attempt', require('../attempt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/before.js b/res-pc/node_modules/lodash/fp/before.js deleted file mode 100644 index 7a2de65d..00000000 --- a/res-pc/node_modules/lodash/fp/before.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('before', require('../before')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/bind.js b/res-pc/node_modules/lodash/fp/bind.js deleted file mode 100644 index 5cbe4f30..00000000 --- a/res-pc/node_modules/lodash/fp/bind.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('bind', require('../bind')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/bindAll.js b/res-pc/node_modules/lodash/fp/bindAll.js deleted file mode 100644 index 6b4a4a0f..00000000 --- a/res-pc/node_modules/lodash/fp/bindAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('bindAll', require('../bindAll')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/bindKey.js b/res-pc/node_modules/lodash/fp/bindKey.js deleted file mode 100644 index 6a46c6b1..00000000 --- a/res-pc/node_modules/lodash/fp/bindKey.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('bindKey', require('../bindKey')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/camelCase.js b/res-pc/node_modules/lodash/fp/camelCase.js deleted file mode 100644 index 87b77b49..00000000 --- a/res-pc/node_modules/lodash/fp/camelCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('camelCase', require('../camelCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/capitalize.js b/res-pc/node_modules/lodash/fp/capitalize.js deleted file mode 100644 index cac74e14..00000000 --- a/res-pc/node_modules/lodash/fp/capitalize.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('capitalize', require('../capitalize'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/castArray.js b/res-pc/node_modules/lodash/fp/castArray.js deleted file mode 100644 index 8681c099..00000000 --- a/res-pc/node_modules/lodash/fp/castArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('castArray', require('../castArray')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/ceil.js b/res-pc/node_modules/lodash/fp/ceil.js deleted file mode 100644 index f416b729..00000000 --- a/res-pc/node_modules/lodash/fp/ceil.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('ceil', require('../ceil')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/chain.js b/res-pc/node_modules/lodash/fp/chain.js deleted file mode 100644 index 604fe398..00000000 --- a/res-pc/node_modules/lodash/fp/chain.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('chain', require('../chain'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/chunk.js b/res-pc/node_modules/lodash/fp/chunk.js deleted file mode 100644 index 871ab085..00000000 --- a/res-pc/node_modules/lodash/fp/chunk.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('chunk', require('../chunk')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/clamp.js b/res-pc/node_modules/lodash/fp/clamp.js deleted file mode 100644 index 3b06c01c..00000000 --- a/res-pc/node_modules/lodash/fp/clamp.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('clamp', require('../clamp')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/clone.js b/res-pc/node_modules/lodash/fp/clone.js deleted file mode 100644 index cadb59c9..00000000 --- a/res-pc/node_modules/lodash/fp/clone.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('clone', require('../clone'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/cloneDeep.js b/res-pc/node_modules/lodash/fp/cloneDeep.js deleted file mode 100644 index a6107aac..00000000 --- a/res-pc/node_modules/lodash/fp/cloneDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cloneDeep', require('../cloneDeep'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/cloneDeepWith.js b/res-pc/node_modules/lodash/fp/cloneDeepWith.js deleted file mode 100644 index 6f01e44a..00000000 --- a/res-pc/node_modules/lodash/fp/cloneDeepWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cloneDeepWith', require('../cloneDeepWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/cloneWith.js b/res-pc/node_modules/lodash/fp/cloneWith.js deleted file mode 100644 index aa885781..00000000 --- a/res-pc/node_modules/lodash/fp/cloneWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cloneWith', require('../cloneWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/collection.js b/res-pc/node_modules/lodash/fp/collection.js deleted file mode 100644 index fc8b328a..00000000 --- a/res-pc/node_modules/lodash/fp/collection.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../collection')); diff --git a/res-pc/node_modules/lodash/fp/commit.js b/res-pc/node_modules/lodash/fp/commit.js deleted file mode 100644 index 130a894f..00000000 --- a/res-pc/node_modules/lodash/fp/commit.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('commit', require('../commit'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/compact.js b/res-pc/node_modules/lodash/fp/compact.js deleted file mode 100644 index ce8f7a1a..00000000 --- a/res-pc/node_modules/lodash/fp/compact.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('compact', require('../compact'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/complement.js b/res-pc/node_modules/lodash/fp/complement.js deleted file mode 100644 index 93eb462b..00000000 --- a/res-pc/node_modules/lodash/fp/complement.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./negate'); diff --git a/res-pc/node_modules/lodash/fp/compose.js b/res-pc/node_modules/lodash/fp/compose.js deleted file mode 100644 index 1954e942..00000000 --- a/res-pc/node_modules/lodash/fp/compose.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flowRight'); diff --git a/res-pc/node_modules/lodash/fp/concat.js b/res-pc/node_modules/lodash/fp/concat.js deleted file mode 100644 index e59346ad..00000000 --- a/res-pc/node_modules/lodash/fp/concat.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('concat', require('../concat')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/cond.js b/res-pc/node_modules/lodash/fp/cond.js deleted file mode 100644 index 6a0120ef..00000000 --- a/res-pc/node_modules/lodash/fp/cond.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cond', require('../cond'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/conforms.js b/res-pc/node_modules/lodash/fp/conforms.js deleted file mode 100644 index 3247f64a..00000000 --- a/res-pc/node_modules/lodash/fp/conforms.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./conformsTo'); diff --git a/res-pc/node_modules/lodash/fp/conformsTo.js b/res-pc/node_modules/lodash/fp/conformsTo.js deleted file mode 100644 index aa7f41ec..00000000 --- a/res-pc/node_modules/lodash/fp/conformsTo.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('conformsTo', require('../conformsTo')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/constant.js b/res-pc/node_modules/lodash/fp/constant.js deleted file mode 100644 index 9e406fc0..00000000 --- a/res-pc/node_modules/lodash/fp/constant.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('constant', require('../constant'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/contains.js b/res-pc/node_modules/lodash/fp/contains.js deleted file mode 100644 index 594722af..00000000 --- a/res-pc/node_modules/lodash/fp/contains.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./includes'); diff --git a/res-pc/node_modules/lodash/fp/convert.js b/res-pc/node_modules/lodash/fp/convert.js deleted file mode 100644 index 4795dc42..00000000 --- a/res-pc/node_modules/lodash/fp/convert.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseConvert = require('./_baseConvert'), - util = require('./_util'); - -/** - * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last - * version with conversion `options` applied. If `name` is an object its methods - * will be converted. - * - * @param {string} name The name of the function to wrap. - * @param {Function} [func] The function to wrap. - * @param {Object} [options] The options object. See `baseConvert` for more details. - * @returns {Function|Object} Returns the converted function or object. - */ -function convert(name, func, options) { - return baseConvert(util, name, func, options); -} - -module.exports = convert; diff --git a/res-pc/node_modules/lodash/fp/countBy.js b/res-pc/node_modules/lodash/fp/countBy.js deleted file mode 100644 index dfa46432..00000000 --- a/res-pc/node_modules/lodash/fp/countBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('countBy', require('../countBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/create.js b/res-pc/node_modules/lodash/fp/create.js deleted file mode 100644 index 752025fb..00000000 --- a/res-pc/node_modules/lodash/fp/create.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('create', require('../create')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/curry.js b/res-pc/node_modules/lodash/fp/curry.js deleted file mode 100644 index b0b4168c..00000000 --- a/res-pc/node_modules/lodash/fp/curry.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curry', require('../curry')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/curryN.js b/res-pc/node_modules/lodash/fp/curryN.js deleted file mode 100644 index 2ae7d00a..00000000 --- a/res-pc/node_modules/lodash/fp/curryN.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curryN', require('../curry')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/curryRight.js b/res-pc/node_modules/lodash/fp/curryRight.js deleted file mode 100644 index cb619eb5..00000000 --- a/res-pc/node_modules/lodash/fp/curryRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curryRight', require('../curryRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/curryRightN.js b/res-pc/node_modules/lodash/fp/curryRightN.js deleted file mode 100644 index 2495afc8..00000000 --- a/res-pc/node_modules/lodash/fp/curryRightN.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curryRightN', require('../curryRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/date.js b/res-pc/node_modules/lodash/fp/date.js deleted file mode 100644 index 82cb952b..00000000 --- a/res-pc/node_modules/lodash/fp/date.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../date')); diff --git a/res-pc/node_modules/lodash/fp/debounce.js b/res-pc/node_modules/lodash/fp/debounce.js deleted file mode 100644 index 26122293..00000000 --- a/res-pc/node_modules/lodash/fp/debounce.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('debounce', require('../debounce')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/deburr.js b/res-pc/node_modules/lodash/fp/deburr.js deleted file mode 100644 index 96463ab8..00000000 --- a/res-pc/node_modules/lodash/fp/deburr.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('deburr', require('../deburr'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/defaultTo.js b/res-pc/node_modules/lodash/fp/defaultTo.js deleted file mode 100644 index d6b52a44..00000000 --- a/res-pc/node_modules/lodash/fp/defaultTo.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultTo', require('../defaultTo')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/defaults.js b/res-pc/node_modules/lodash/fp/defaults.js deleted file mode 100644 index e1a8e6e7..00000000 --- a/res-pc/node_modules/lodash/fp/defaults.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaults', require('../defaults')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/defaultsAll.js b/res-pc/node_modules/lodash/fp/defaultsAll.js deleted file mode 100644 index 238fcc3c..00000000 --- a/res-pc/node_modules/lodash/fp/defaultsAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultsAll', require('../defaults')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/defaultsDeep.js b/res-pc/node_modules/lodash/fp/defaultsDeep.js deleted file mode 100644 index 1f172ff9..00000000 --- a/res-pc/node_modules/lodash/fp/defaultsDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultsDeep', require('../defaultsDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/defaultsDeepAll.js b/res-pc/node_modules/lodash/fp/defaultsDeepAll.js deleted file mode 100644 index 6835f2f0..00000000 --- a/res-pc/node_modules/lodash/fp/defaultsDeepAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultsDeepAll', require('../defaultsDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/defer.js b/res-pc/node_modules/lodash/fp/defer.js deleted file mode 100644 index ec7990fe..00000000 --- a/res-pc/node_modules/lodash/fp/defer.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defer', require('../defer'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/delay.js b/res-pc/node_modules/lodash/fp/delay.js deleted file mode 100644 index 556dbd56..00000000 --- a/res-pc/node_modules/lodash/fp/delay.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('delay', require('../delay')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/difference.js b/res-pc/node_modules/lodash/fp/difference.js deleted file mode 100644 index 2d037654..00000000 --- a/res-pc/node_modules/lodash/fp/difference.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('difference', require('../difference')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/differenceBy.js b/res-pc/node_modules/lodash/fp/differenceBy.js deleted file mode 100644 index 2f914910..00000000 --- a/res-pc/node_modules/lodash/fp/differenceBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('differenceBy', require('../differenceBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/differenceWith.js b/res-pc/node_modules/lodash/fp/differenceWith.js deleted file mode 100644 index bcf5ad2e..00000000 --- a/res-pc/node_modules/lodash/fp/differenceWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('differenceWith', require('../differenceWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/dissoc.js b/res-pc/node_modules/lodash/fp/dissoc.js deleted file mode 100644 index 7ec7be19..00000000 --- a/res-pc/node_modules/lodash/fp/dissoc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./unset'); diff --git a/res-pc/node_modules/lodash/fp/dissocPath.js b/res-pc/node_modules/lodash/fp/dissocPath.js deleted file mode 100644 index 7ec7be19..00000000 --- a/res-pc/node_modules/lodash/fp/dissocPath.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./unset'); diff --git a/res-pc/node_modules/lodash/fp/divide.js b/res-pc/node_modules/lodash/fp/divide.js deleted file mode 100644 index 82048c5e..00000000 --- a/res-pc/node_modules/lodash/fp/divide.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('divide', require('../divide')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/drop.js b/res-pc/node_modules/lodash/fp/drop.js deleted file mode 100644 index 2fa9b4fa..00000000 --- a/res-pc/node_modules/lodash/fp/drop.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('drop', require('../drop')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/dropLast.js b/res-pc/node_modules/lodash/fp/dropLast.js deleted file mode 100644 index 174e5255..00000000 --- a/res-pc/node_modules/lodash/fp/dropLast.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dropRight'); diff --git a/res-pc/node_modules/lodash/fp/dropLastWhile.js b/res-pc/node_modules/lodash/fp/dropLastWhile.js deleted file mode 100644 index be2a9d24..00000000 --- a/res-pc/node_modules/lodash/fp/dropLastWhile.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dropRightWhile'); diff --git a/res-pc/node_modules/lodash/fp/dropRight.js b/res-pc/node_modules/lodash/fp/dropRight.js deleted file mode 100644 index e98881fc..00000000 --- a/res-pc/node_modules/lodash/fp/dropRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('dropRight', require('../dropRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/dropRightWhile.js b/res-pc/node_modules/lodash/fp/dropRightWhile.js deleted file mode 100644 index cacaa701..00000000 --- a/res-pc/node_modules/lodash/fp/dropRightWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('dropRightWhile', require('../dropRightWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/dropWhile.js b/res-pc/node_modules/lodash/fp/dropWhile.js deleted file mode 100644 index 285f864d..00000000 --- a/res-pc/node_modules/lodash/fp/dropWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('dropWhile', require('../dropWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/each.js b/res-pc/node_modules/lodash/fp/each.js deleted file mode 100644 index 8800f420..00000000 --- a/res-pc/node_modules/lodash/fp/each.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEach'); diff --git a/res-pc/node_modules/lodash/fp/eachRight.js b/res-pc/node_modules/lodash/fp/eachRight.js deleted file mode 100644 index 3252b2ab..00000000 --- a/res-pc/node_modules/lodash/fp/eachRight.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEachRight'); diff --git a/res-pc/node_modules/lodash/fp/endsWith.js b/res-pc/node_modules/lodash/fp/endsWith.js deleted file mode 100644 index 17dc2a49..00000000 --- a/res-pc/node_modules/lodash/fp/endsWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('endsWith', require('../endsWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/entries.js b/res-pc/node_modules/lodash/fp/entries.js deleted file mode 100644 index 7a88df20..00000000 --- a/res-pc/node_modules/lodash/fp/entries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairs'); diff --git a/res-pc/node_modules/lodash/fp/entriesIn.js b/res-pc/node_modules/lodash/fp/entriesIn.js deleted file mode 100644 index f6c6331c..00000000 --- a/res-pc/node_modules/lodash/fp/entriesIn.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairsIn'); diff --git a/res-pc/node_modules/lodash/fp/eq.js b/res-pc/node_modules/lodash/fp/eq.js deleted file mode 100644 index 9a3d21bf..00000000 --- a/res-pc/node_modules/lodash/fp/eq.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('eq', require('../eq')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/equals.js b/res-pc/node_modules/lodash/fp/equals.js deleted file mode 100644 index e6a5ce0c..00000000 --- a/res-pc/node_modules/lodash/fp/equals.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./isEqual'); diff --git a/res-pc/node_modules/lodash/fp/escape.js b/res-pc/node_modules/lodash/fp/escape.js deleted file mode 100644 index 52c1fbba..00000000 --- a/res-pc/node_modules/lodash/fp/escape.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('escape', require('../escape'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/escapeRegExp.js b/res-pc/node_modules/lodash/fp/escapeRegExp.js deleted file mode 100644 index 369b2eff..00000000 --- a/res-pc/node_modules/lodash/fp/escapeRegExp.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('escapeRegExp', require('../escapeRegExp'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/every.js b/res-pc/node_modules/lodash/fp/every.js deleted file mode 100644 index 95c2776c..00000000 --- a/res-pc/node_modules/lodash/fp/every.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('every', require('../every')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/extend.js b/res-pc/node_modules/lodash/fp/extend.js deleted file mode 100644 index e00166c2..00000000 --- a/res-pc/node_modules/lodash/fp/extend.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignIn'); diff --git a/res-pc/node_modules/lodash/fp/extendAll.js b/res-pc/node_modules/lodash/fp/extendAll.js deleted file mode 100644 index cc55b64f..00000000 --- a/res-pc/node_modules/lodash/fp/extendAll.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInAll'); diff --git a/res-pc/node_modules/lodash/fp/extendAllWith.js b/res-pc/node_modules/lodash/fp/extendAllWith.js deleted file mode 100644 index 6679d208..00000000 --- a/res-pc/node_modules/lodash/fp/extendAllWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInAllWith'); diff --git a/res-pc/node_modules/lodash/fp/extendWith.js b/res-pc/node_modules/lodash/fp/extendWith.js deleted file mode 100644 index dbdcb3b4..00000000 --- a/res-pc/node_modules/lodash/fp/extendWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInWith'); diff --git a/res-pc/node_modules/lodash/fp/fill.js b/res-pc/node_modules/lodash/fp/fill.js deleted file mode 100644 index b2d47e84..00000000 --- a/res-pc/node_modules/lodash/fp/fill.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('fill', require('../fill')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/filter.js b/res-pc/node_modules/lodash/fp/filter.js deleted file mode 100644 index 796d501c..00000000 --- a/res-pc/node_modules/lodash/fp/filter.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('filter', require('../filter')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/find.js b/res-pc/node_modules/lodash/fp/find.js deleted file mode 100644 index f805d336..00000000 --- a/res-pc/node_modules/lodash/fp/find.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('find', require('../find')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findFrom.js b/res-pc/node_modules/lodash/fp/findFrom.js deleted file mode 100644 index da8275e8..00000000 --- a/res-pc/node_modules/lodash/fp/findFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findFrom', require('../find')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findIndex.js b/res-pc/node_modules/lodash/fp/findIndex.js deleted file mode 100644 index 8c15fd11..00000000 --- a/res-pc/node_modules/lodash/fp/findIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findIndex', require('../findIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findIndexFrom.js b/res-pc/node_modules/lodash/fp/findIndexFrom.js deleted file mode 100644 index 32e98cb9..00000000 --- a/res-pc/node_modules/lodash/fp/findIndexFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findIndexFrom', require('../findIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findKey.js b/res-pc/node_modules/lodash/fp/findKey.js deleted file mode 100644 index 475bcfa8..00000000 --- a/res-pc/node_modules/lodash/fp/findKey.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findKey', require('../findKey')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findLast.js b/res-pc/node_modules/lodash/fp/findLast.js deleted file mode 100644 index 093fe94e..00000000 --- a/res-pc/node_modules/lodash/fp/findLast.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLast', require('../findLast')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findLastFrom.js b/res-pc/node_modules/lodash/fp/findLastFrom.js deleted file mode 100644 index 76c38fba..00000000 --- a/res-pc/node_modules/lodash/fp/findLastFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastFrom', require('../findLast')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findLastIndex.js b/res-pc/node_modules/lodash/fp/findLastIndex.js deleted file mode 100644 index 36986df0..00000000 --- a/res-pc/node_modules/lodash/fp/findLastIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastIndex', require('../findLastIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findLastIndexFrom.js b/res-pc/node_modules/lodash/fp/findLastIndexFrom.js deleted file mode 100644 index 34c8176c..00000000 --- a/res-pc/node_modules/lodash/fp/findLastIndexFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastIndexFrom', require('../findLastIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/findLastKey.js b/res-pc/node_modules/lodash/fp/findLastKey.js deleted file mode 100644 index 5f81b604..00000000 --- a/res-pc/node_modules/lodash/fp/findLastKey.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastKey', require('../findLastKey')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/first.js b/res-pc/node_modules/lodash/fp/first.js deleted file mode 100644 index 53f4ad13..00000000 --- a/res-pc/node_modules/lodash/fp/first.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./head'); diff --git a/res-pc/node_modules/lodash/fp/flatMap.js b/res-pc/node_modules/lodash/fp/flatMap.js deleted file mode 100644 index d01dc4d0..00000000 --- a/res-pc/node_modules/lodash/fp/flatMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatMap', require('../flatMap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flatMapDeep.js b/res-pc/node_modules/lodash/fp/flatMapDeep.js deleted file mode 100644 index 569c42eb..00000000 --- a/res-pc/node_modules/lodash/fp/flatMapDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatMapDeep', require('../flatMapDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flatMapDepth.js b/res-pc/node_modules/lodash/fp/flatMapDepth.js deleted file mode 100644 index 6eb68fde..00000000 --- a/res-pc/node_modules/lodash/fp/flatMapDepth.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatMapDepth', require('../flatMapDepth')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flatten.js b/res-pc/node_modules/lodash/fp/flatten.js deleted file mode 100644 index 30425d89..00000000 --- a/res-pc/node_modules/lodash/fp/flatten.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatten', require('../flatten'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flattenDeep.js b/res-pc/node_modules/lodash/fp/flattenDeep.js deleted file mode 100644 index aed5db27..00000000 --- a/res-pc/node_modules/lodash/fp/flattenDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flattenDeep', require('../flattenDeep'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flattenDepth.js b/res-pc/node_modules/lodash/fp/flattenDepth.js deleted file mode 100644 index ad65e378..00000000 --- a/res-pc/node_modules/lodash/fp/flattenDepth.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flattenDepth', require('../flattenDepth')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flip.js b/res-pc/node_modules/lodash/fp/flip.js deleted file mode 100644 index 0547e7b4..00000000 --- a/res-pc/node_modules/lodash/fp/flip.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flip', require('../flip'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/floor.js b/res-pc/node_modules/lodash/fp/floor.js deleted file mode 100644 index a6cf3358..00000000 --- a/res-pc/node_modules/lodash/fp/floor.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('floor', require('../floor')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flow.js b/res-pc/node_modules/lodash/fp/flow.js deleted file mode 100644 index cd83677a..00000000 --- a/res-pc/node_modules/lodash/fp/flow.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flow', require('../flow')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/flowRight.js b/res-pc/node_modules/lodash/fp/flowRight.js deleted file mode 100644 index 972a5b9b..00000000 --- a/res-pc/node_modules/lodash/fp/flowRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flowRight', require('../flowRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/forEach.js b/res-pc/node_modules/lodash/fp/forEach.js deleted file mode 100644 index 2f494521..00000000 --- a/res-pc/node_modules/lodash/fp/forEach.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forEach', require('../forEach')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/forEachRight.js b/res-pc/node_modules/lodash/fp/forEachRight.js deleted file mode 100644 index 3ff97336..00000000 --- a/res-pc/node_modules/lodash/fp/forEachRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forEachRight', require('../forEachRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/forIn.js b/res-pc/node_modules/lodash/fp/forIn.js deleted file mode 100644 index 9341749b..00000000 --- a/res-pc/node_modules/lodash/fp/forIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forIn', require('../forIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/forInRight.js b/res-pc/node_modules/lodash/fp/forInRight.js deleted file mode 100644 index cecf8bbf..00000000 --- a/res-pc/node_modules/lodash/fp/forInRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forInRight', require('../forInRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/forOwn.js b/res-pc/node_modules/lodash/fp/forOwn.js deleted file mode 100644 index 246449e9..00000000 --- a/res-pc/node_modules/lodash/fp/forOwn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forOwn', require('../forOwn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/forOwnRight.js b/res-pc/node_modules/lodash/fp/forOwnRight.js deleted file mode 100644 index c5e826e0..00000000 --- a/res-pc/node_modules/lodash/fp/forOwnRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forOwnRight', require('../forOwnRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/fromPairs.js b/res-pc/node_modules/lodash/fp/fromPairs.js deleted file mode 100644 index f8cc5968..00000000 --- a/res-pc/node_modules/lodash/fp/fromPairs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('fromPairs', require('../fromPairs')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/function.js b/res-pc/node_modules/lodash/fp/function.js deleted file mode 100644 index dfe69b1f..00000000 --- a/res-pc/node_modules/lodash/fp/function.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../function')); diff --git a/res-pc/node_modules/lodash/fp/functions.js b/res-pc/node_modules/lodash/fp/functions.js deleted file mode 100644 index 09d1bb1b..00000000 --- a/res-pc/node_modules/lodash/fp/functions.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('functions', require('../functions'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/functionsIn.js b/res-pc/node_modules/lodash/fp/functionsIn.js deleted file mode 100644 index 2cfeb83e..00000000 --- a/res-pc/node_modules/lodash/fp/functionsIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('functionsIn', require('../functionsIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/get.js b/res-pc/node_modules/lodash/fp/get.js deleted file mode 100644 index 6d3a3286..00000000 --- a/res-pc/node_modules/lodash/fp/get.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('get', require('../get')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/getOr.js b/res-pc/node_modules/lodash/fp/getOr.js deleted file mode 100644 index 7dbf771f..00000000 --- a/res-pc/node_modules/lodash/fp/getOr.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('getOr', require('../get')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/groupBy.js b/res-pc/node_modules/lodash/fp/groupBy.js deleted file mode 100644 index fc0bc78a..00000000 --- a/res-pc/node_modules/lodash/fp/groupBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('groupBy', require('../groupBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/gt.js b/res-pc/node_modules/lodash/fp/gt.js deleted file mode 100644 index 9e57c808..00000000 --- a/res-pc/node_modules/lodash/fp/gt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('gt', require('../gt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/gte.js b/res-pc/node_modules/lodash/fp/gte.js deleted file mode 100644 index 45847863..00000000 --- a/res-pc/node_modules/lodash/fp/gte.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('gte', require('../gte')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/has.js b/res-pc/node_modules/lodash/fp/has.js deleted file mode 100644 index b9012983..00000000 --- a/res-pc/node_modules/lodash/fp/has.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('has', require('../has')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/hasIn.js b/res-pc/node_modules/lodash/fp/hasIn.js deleted file mode 100644 index b3c3d1a3..00000000 --- a/res-pc/node_modules/lodash/fp/hasIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('hasIn', require('../hasIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/head.js b/res-pc/node_modules/lodash/fp/head.js deleted file mode 100644 index 2694f0a2..00000000 --- a/res-pc/node_modules/lodash/fp/head.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('head', require('../head'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/identical.js b/res-pc/node_modules/lodash/fp/identical.js deleted file mode 100644 index 85563f4a..00000000 --- a/res-pc/node_modules/lodash/fp/identical.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./eq'); diff --git a/res-pc/node_modules/lodash/fp/identity.js b/res-pc/node_modules/lodash/fp/identity.js deleted file mode 100644 index 096415a5..00000000 --- a/res-pc/node_modules/lodash/fp/identity.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('identity', require('../identity'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/inRange.js b/res-pc/node_modules/lodash/fp/inRange.js deleted file mode 100644 index 202d940b..00000000 --- a/res-pc/node_modules/lodash/fp/inRange.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('inRange', require('../inRange')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/includes.js b/res-pc/node_modules/lodash/fp/includes.js deleted file mode 100644 index 11467805..00000000 --- a/res-pc/node_modules/lodash/fp/includes.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('includes', require('../includes')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/includesFrom.js b/res-pc/node_modules/lodash/fp/includesFrom.js deleted file mode 100644 index 683afdb4..00000000 --- a/res-pc/node_modules/lodash/fp/includesFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('includesFrom', require('../includes')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/indexBy.js b/res-pc/node_modules/lodash/fp/indexBy.js deleted file mode 100644 index 7e64bc0f..00000000 --- a/res-pc/node_modules/lodash/fp/indexBy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./keyBy'); diff --git a/res-pc/node_modules/lodash/fp/indexOf.js b/res-pc/node_modules/lodash/fp/indexOf.js deleted file mode 100644 index 524658eb..00000000 --- a/res-pc/node_modules/lodash/fp/indexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('indexOf', require('../indexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/indexOfFrom.js b/res-pc/node_modules/lodash/fp/indexOfFrom.js deleted file mode 100644 index d99c822f..00000000 --- a/res-pc/node_modules/lodash/fp/indexOfFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('indexOfFrom', require('../indexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/init.js b/res-pc/node_modules/lodash/fp/init.js deleted file mode 100644 index 2f88d8b0..00000000 --- a/res-pc/node_modules/lodash/fp/init.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./initial'); diff --git a/res-pc/node_modules/lodash/fp/initial.js b/res-pc/node_modules/lodash/fp/initial.js deleted file mode 100644 index b732ba0b..00000000 --- a/res-pc/node_modules/lodash/fp/initial.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('initial', require('../initial'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/intersection.js b/res-pc/node_modules/lodash/fp/intersection.js deleted file mode 100644 index 52936d56..00000000 --- a/res-pc/node_modules/lodash/fp/intersection.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('intersection', require('../intersection')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/intersectionBy.js b/res-pc/node_modules/lodash/fp/intersectionBy.js deleted file mode 100644 index 72629f27..00000000 --- a/res-pc/node_modules/lodash/fp/intersectionBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('intersectionBy', require('../intersectionBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/intersectionWith.js b/res-pc/node_modules/lodash/fp/intersectionWith.js deleted file mode 100644 index e064f400..00000000 --- a/res-pc/node_modules/lodash/fp/intersectionWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('intersectionWith', require('../intersectionWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/invert.js b/res-pc/node_modules/lodash/fp/invert.js deleted file mode 100644 index 2d5d1f0d..00000000 --- a/res-pc/node_modules/lodash/fp/invert.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invert', require('../invert')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/invertBy.js b/res-pc/node_modules/lodash/fp/invertBy.js deleted file mode 100644 index 63ca97ec..00000000 --- a/res-pc/node_modules/lodash/fp/invertBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invertBy', require('../invertBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/invertObj.js b/res-pc/node_modules/lodash/fp/invertObj.js deleted file mode 100644 index f1d842e4..00000000 --- a/res-pc/node_modules/lodash/fp/invertObj.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./invert'); diff --git a/res-pc/node_modules/lodash/fp/invoke.js b/res-pc/node_modules/lodash/fp/invoke.js deleted file mode 100644 index fcf17f0d..00000000 --- a/res-pc/node_modules/lodash/fp/invoke.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invoke', require('../invoke')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/invokeArgs.js b/res-pc/node_modules/lodash/fp/invokeArgs.js deleted file mode 100644 index d3f2953f..00000000 --- a/res-pc/node_modules/lodash/fp/invokeArgs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invokeArgs', require('../invoke')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/invokeArgsMap.js b/res-pc/node_modules/lodash/fp/invokeArgsMap.js deleted file mode 100644 index eaa9f84f..00000000 --- a/res-pc/node_modules/lodash/fp/invokeArgsMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invokeArgsMap', require('../invokeMap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/invokeMap.js b/res-pc/node_modules/lodash/fp/invokeMap.js deleted file mode 100644 index 6515fd73..00000000 --- a/res-pc/node_modules/lodash/fp/invokeMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invokeMap', require('../invokeMap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isArguments.js b/res-pc/node_modules/lodash/fp/isArguments.js deleted file mode 100644 index 1d93c9e5..00000000 --- a/res-pc/node_modules/lodash/fp/isArguments.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArguments', require('../isArguments'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isArray.js b/res-pc/node_modules/lodash/fp/isArray.js deleted file mode 100644 index ba7ade8d..00000000 --- a/res-pc/node_modules/lodash/fp/isArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArray', require('../isArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isArrayBuffer.js b/res-pc/node_modules/lodash/fp/isArrayBuffer.js deleted file mode 100644 index 5088513f..00000000 --- a/res-pc/node_modules/lodash/fp/isArrayBuffer.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArrayBuffer', require('../isArrayBuffer'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isArrayLike.js b/res-pc/node_modules/lodash/fp/isArrayLike.js deleted file mode 100644 index 8f1856bf..00000000 --- a/res-pc/node_modules/lodash/fp/isArrayLike.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArrayLike', require('../isArrayLike'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isArrayLikeObject.js b/res-pc/node_modules/lodash/fp/isArrayLikeObject.js deleted file mode 100644 index 21084984..00000000 --- a/res-pc/node_modules/lodash/fp/isArrayLikeObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArrayLikeObject', require('../isArrayLikeObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isBoolean.js b/res-pc/node_modules/lodash/fp/isBoolean.js deleted file mode 100644 index 9339f75b..00000000 --- a/res-pc/node_modules/lodash/fp/isBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isBoolean', require('../isBoolean'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isBuffer.js b/res-pc/node_modules/lodash/fp/isBuffer.js deleted file mode 100644 index e60b1238..00000000 --- a/res-pc/node_modules/lodash/fp/isBuffer.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isBuffer', require('../isBuffer'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isDate.js b/res-pc/node_modules/lodash/fp/isDate.js deleted file mode 100644 index dc41d089..00000000 --- a/res-pc/node_modules/lodash/fp/isDate.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isDate', require('../isDate'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isElement.js b/res-pc/node_modules/lodash/fp/isElement.js deleted file mode 100644 index 18ee039a..00000000 --- a/res-pc/node_modules/lodash/fp/isElement.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isElement', require('../isElement'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isEmpty.js b/res-pc/node_modules/lodash/fp/isEmpty.js deleted file mode 100644 index 0f4ae841..00000000 --- a/res-pc/node_modules/lodash/fp/isEmpty.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isEmpty', require('../isEmpty'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isEqual.js b/res-pc/node_modules/lodash/fp/isEqual.js deleted file mode 100644 index 41383865..00000000 --- a/res-pc/node_modules/lodash/fp/isEqual.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isEqual', require('../isEqual')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isEqualWith.js b/res-pc/node_modules/lodash/fp/isEqualWith.js deleted file mode 100644 index 029ff5cd..00000000 --- a/res-pc/node_modules/lodash/fp/isEqualWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isEqualWith', require('../isEqualWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isError.js b/res-pc/node_modules/lodash/fp/isError.js deleted file mode 100644 index 3dfd81cc..00000000 --- a/res-pc/node_modules/lodash/fp/isError.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isError', require('../isError'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isFinite.js b/res-pc/node_modules/lodash/fp/isFinite.js deleted file mode 100644 index 0b647b84..00000000 --- a/res-pc/node_modules/lodash/fp/isFinite.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isFinite', require('../isFinite'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isFunction.js b/res-pc/node_modules/lodash/fp/isFunction.js deleted file mode 100644 index ff8e5c45..00000000 --- a/res-pc/node_modules/lodash/fp/isFunction.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isFunction', require('../isFunction'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isInteger.js b/res-pc/node_modules/lodash/fp/isInteger.js deleted file mode 100644 index 67af4ff6..00000000 --- a/res-pc/node_modules/lodash/fp/isInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isInteger', require('../isInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isLength.js b/res-pc/node_modules/lodash/fp/isLength.js deleted file mode 100644 index fc101c5a..00000000 --- a/res-pc/node_modules/lodash/fp/isLength.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isLength', require('../isLength'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isMap.js b/res-pc/node_modules/lodash/fp/isMap.js deleted file mode 100644 index a209aa66..00000000 --- a/res-pc/node_modules/lodash/fp/isMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isMap', require('../isMap'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isMatch.js b/res-pc/node_modules/lodash/fp/isMatch.js deleted file mode 100644 index 6264ca17..00000000 --- a/res-pc/node_modules/lodash/fp/isMatch.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isMatch', require('../isMatch')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isMatchWith.js b/res-pc/node_modules/lodash/fp/isMatchWith.js deleted file mode 100644 index d95f3193..00000000 --- a/res-pc/node_modules/lodash/fp/isMatchWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isMatchWith', require('../isMatchWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isNaN.js b/res-pc/node_modules/lodash/fp/isNaN.js deleted file mode 100644 index 66a978f1..00000000 --- a/res-pc/node_modules/lodash/fp/isNaN.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNaN', require('../isNaN'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isNative.js b/res-pc/node_modules/lodash/fp/isNative.js deleted file mode 100644 index 3d775ba9..00000000 --- a/res-pc/node_modules/lodash/fp/isNative.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNative', require('../isNative'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isNil.js b/res-pc/node_modules/lodash/fp/isNil.js deleted file mode 100644 index 5952c028..00000000 --- a/res-pc/node_modules/lodash/fp/isNil.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNil', require('../isNil'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isNull.js b/res-pc/node_modules/lodash/fp/isNull.js deleted file mode 100644 index f201a354..00000000 --- a/res-pc/node_modules/lodash/fp/isNull.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNull', require('../isNull'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isNumber.js b/res-pc/node_modules/lodash/fp/isNumber.js deleted file mode 100644 index a2b5fa04..00000000 --- a/res-pc/node_modules/lodash/fp/isNumber.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNumber', require('../isNumber'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isObject.js b/res-pc/node_modules/lodash/fp/isObject.js deleted file mode 100644 index 231ace03..00000000 --- a/res-pc/node_modules/lodash/fp/isObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isObject', require('../isObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isObjectLike.js b/res-pc/node_modules/lodash/fp/isObjectLike.js deleted file mode 100644 index f16082e6..00000000 --- a/res-pc/node_modules/lodash/fp/isObjectLike.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isObjectLike', require('../isObjectLike'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isPlainObject.js b/res-pc/node_modules/lodash/fp/isPlainObject.js deleted file mode 100644 index b5bea90d..00000000 --- a/res-pc/node_modules/lodash/fp/isPlainObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isPlainObject', require('../isPlainObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isRegExp.js b/res-pc/node_modules/lodash/fp/isRegExp.js deleted file mode 100644 index 12a1a3d7..00000000 --- a/res-pc/node_modules/lodash/fp/isRegExp.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isRegExp', require('../isRegExp'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isSafeInteger.js b/res-pc/node_modules/lodash/fp/isSafeInteger.js deleted file mode 100644 index 7230f552..00000000 --- a/res-pc/node_modules/lodash/fp/isSafeInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isSafeInteger', require('../isSafeInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isSet.js b/res-pc/node_modules/lodash/fp/isSet.js deleted file mode 100644 index 35c01f6f..00000000 --- a/res-pc/node_modules/lodash/fp/isSet.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isSet', require('../isSet'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isString.js b/res-pc/node_modules/lodash/fp/isString.js deleted file mode 100644 index 1fd0679e..00000000 --- a/res-pc/node_modules/lodash/fp/isString.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isString', require('../isString'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isSymbol.js b/res-pc/node_modules/lodash/fp/isSymbol.js deleted file mode 100644 index 38676956..00000000 --- a/res-pc/node_modules/lodash/fp/isSymbol.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isSymbol', require('../isSymbol'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isTypedArray.js b/res-pc/node_modules/lodash/fp/isTypedArray.js deleted file mode 100644 index 85679538..00000000 --- a/res-pc/node_modules/lodash/fp/isTypedArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isTypedArray', require('../isTypedArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isUndefined.js b/res-pc/node_modules/lodash/fp/isUndefined.js deleted file mode 100644 index ddbca31c..00000000 --- a/res-pc/node_modules/lodash/fp/isUndefined.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isUndefined', require('../isUndefined'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isWeakMap.js b/res-pc/node_modules/lodash/fp/isWeakMap.js deleted file mode 100644 index ef60c613..00000000 --- a/res-pc/node_modules/lodash/fp/isWeakMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isWeakMap', require('../isWeakMap'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/isWeakSet.js b/res-pc/node_modules/lodash/fp/isWeakSet.js deleted file mode 100644 index c99bfaa6..00000000 --- a/res-pc/node_modules/lodash/fp/isWeakSet.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isWeakSet', require('../isWeakSet'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/iteratee.js b/res-pc/node_modules/lodash/fp/iteratee.js deleted file mode 100644 index 9f0f7173..00000000 --- a/res-pc/node_modules/lodash/fp/iteratee.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('iteratee', require('../iteratee')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/join.js b/res-pc/node_modules/lodash/fp/join.js deleted file mode 100644 index a220e003..00000000 --- a/res-pc/node_modules/lodash/fp/join.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('join', require('../join')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/juxt.js b/res-pc/node_modules/lodash/fp/juxt.js deleted file mode 100644 index f71e04e0..00000000 --- a/res-pc/node_modules/lodash/fp/juxt.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./over'); diff --git a/res-pc/node_modules/lodash/fp/kebabCase.js b/res-pc/node_modules/lodash/fp/kebabCase.js deleted file mode 100644 index 60737f17..00000000 --- a/res-pc/node_modules/lodash/fp/kebabCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('kebabCase', require('../kebabCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/keyBy.js b/res-pc/node_modules/lodash/fp/keyBy.js deleted file mode 100644 index 9a6a85d4..00000000 --- a/res-pc/node_modules/lodash/fp/keyBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('keyBy', require('../keyBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/keys.js b/res-pc/node_modules/lodash/fp/keys.js deleted file mode 100644 index e12bb07f..00000000 --- a/res-pc/node_modules/lodash/fp/keys.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('keys', require('../keys'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/keysIn.js b/res-pc/node_modules/lodash/fp/keysIn.js deleted file mode 100644 index f3eb36a8..00000000 --- a/res-pc/node_modules/lodash/fp/keysIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('keysIn', require('../keysIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/lang.js b/res-pc/node_modules/lodash/fp/lang.js deleted file mode 100644 index 08cc9c14..00000000 --- a/res-pc/node_modules/lodash/fp/lang.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../lang')); diff --git a/res-pc/node_modules/lodash/fp/last.js b/res-pc/node_modules/lodash/fp/last.js deleted file mode 100644 index 0f716993..00000000 --- a/res-pc/node_modules/lodash/fp/last.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('last', require('../last'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/lastIndexOf.js b/res-pc/node_modules/lodash/fp/lastIndexOf.js deleted file mode 100644 index ddf39c30..00000000 --- a/res-pc/node_modules/lodash/fp/lastIndexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lastIndexOf', require('../lastIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/lastIndexOfFrom.js b/res-pc/node_modules/lodash/fp/lastIndexOfFrom.js deleted file mode 100644 index 1ff6a0b5..00000000 --- a/res-pc/node_modules/lodash/fp/lastIndexOfFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lastIndexOfFrom', require('../lastIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/lowerCase.js b/res-pc/node_modules/lodash/fp/lowerCase.js deleted file mode 100644 index ea64bc15..00000000 --- a/res-pc/node_modules/lodash/fp/lowerCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lowerCase', require('../lowerCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/lowerFirst.js b/res-pc/node_modules/lodash/fp/lowerFirst.js deleted file mode 100644 index 539720a3..00000000 --- a/res-pc/node_modules/lodash/fp/lowerFirst.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lowerFirst', require('../lowerFirst'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/lt.js b/res-pc/node_modules/lodash/fp/lt.js deleted file mode 100644 index a31d21ec..00000000 --- a/res-pc/node_modules/lodash/fp/lt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lt', require('../lt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/lte.js b/res-pc/node_modules/lodash/fp/lte.js deleted file mode 100644 index d795d10e..00000000 --- a/res-pc/node_modules/lodash/fp/lte.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lte', require('../lte')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/map.js b/res-pc/node_modules/lodash/fp/map.js deleted file mode 100644 index cf987943..00000000 --- a/res-pc/node_modules/lodash/fp/map.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('map', require('../map')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/mapKeys.js b/res-pc/node_modules/lodash/fp/mapKeys.js deleted file mode 100644 index 16845870..00000000 --- a/res-pc/node_modules/lodash/fp/mapKeys.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mapKeys', require('../mapKeys')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/mapValues.js b/res-pc/node_modules/lodash/fp/mapValues.js deleted file mode 100644 index 40049727..00000000 --- a/res-pc/node_modules/lodash/fp/mapValues.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mapValues', require('../mapValues')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/matches.js b/res-pc/node_modules/lodash/fp/matches.js deleted file mode 100644 index 29d1e1e4..00000000 --- a/res-pc/node_modules/lodash/fp/matches.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./isMatch'); diff --git a/res-pc/node_modules/lodash/fp/matchesProperty.js b/res-pc/node_modules/lodash/fp/matchesProperty.js deleted file mode 100644 index 4575bd24..00000000 --- a/res-pc/node_modules/lodash/fp/matchesProperty.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('matchesProperty', require('../matchesProperty')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/math.js b/res-pc/node_modules/lodash/fp/math.js deleted file mode 100644 index e8f50f79..00000000 --- a/res-pc/node_modules/lodash/fp/math.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../math')); diff --git a/res-pc/node_modules/lodash/fp/max.js b/res-pc/node_modules/lodash/fp/max.js deleted file mode 100644 index a66acac2..00000000 --- a/res-pc/node_modules/lodash/fp/max.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('max', require('../max'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/maxBy.js b/res-pc/node_modules/lodash/fp/maxBy.js deleted file mode 100644 index d083fd64..00000000 --- a/res-pc/node_modules/lodash/fp/maxBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('maxBy', require('../maxBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/mean.js b/res-pc/node_modules/lodash/fp/mean.js deleted file mode 100644 index 31172460..00000000 --- a/res-pc/node_modules/lodash/fp/mean.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mean', require('../mean'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/meanBy.js b/res-pc/node_modules/lodash/fp/meanBy.js deleted file mode 100644 index 556f25ed..00000000 --- a/res-pc/node_modules/lodash/fp/meanBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('meanBy', require('../meanBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/memoize.js b/res-pc/node_modules/lodash/fp/memoize.js deleted file mode 100644 index 638eec63..00000000 --- a/res-pc/node_modules/lodash/fp/memoize.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('memoize', require('../memoize')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/merge.js b/res-pc/node_modules/lodash/fp/merge.js deleted file mode 100644 index ac66adde..00000000 --- a/res-pc/node_modules/lodash/fp/merge.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('merge', require('../merge')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/mergeAll.js b/res-pc/node_modules/lodash/fp/mergeAll.js deleted file mode 100644 index a3674d67..00000000 --- a/res-pc/node_modules/lodash/fp/mergeAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mergeAll', require('../merge')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/mergeAllWith.js b/res-pc/node_modules/lodash/fp/mergeAllWith.js deleted file mode 100644 index 4bd4206d..00000000 --- a/res-pc/node_modules/lodash/fp/mergeAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mergeAllWith', require('../mergeWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/mergeWith.js b/res-pc/node_modules/lodash/fp/mergeWith.js deleted file mode 100644 index 00d44d5e..00000000 --- a/res-pc/node_modules/lodash/fp/mergeWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mergeWith', require('../mergeWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/method.js b/res-pc/node_modules/lodash/fp/method.js deleted file mode 100644 index f4060c68..00000000 --- a/res-pc/node_modules/lodash/fp/method.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('method', require('../method')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/methodOf.js b/res-pc/node_modules/lodash/fp/methodOf.js deleted file mode 100644 index 61399056..00000000 --- a/res-pc/node_modules/lodash/fp/methodOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('methodOf', require('../methodOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/min.js b/res-pc/node_modules/lodash/fp/min.js deleted file mode 100644 index d12c6b40..00000000 --- a/res-pc/node_modules/lodash/fp/min.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('min', require('../min'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/minBy.js b/res-pc/node_modules/lodash/fp/minBy.js deleted file mode 100644 index fdb9e24d..00000000 --- a/res-pc/node_modules/lodash/fp/minBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('minBy', require('../minBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/mixin.js b/res-pc/node_modules/lodash/fp/mixin.js deleted file mode 100644 index 332e6fbf..00000000 --- a/res-pc/node_modules/lodash/fp/mixin.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mixin', require('../mixin')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/multiply.js b/res-pc/node_modules/lodash/fp/multiply.js deleted file mode 100644 index 4dcf0b0d..00000000 --- a/res-pc/node_modules/lodash/fp/multiply.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('multiply', require('../multiply')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/nAry.js b/res-pc/node_modules/lodash/fp/nAry.js deleted file mode 100644 index f262a76c..00000000 --- a/res-pc/node_modules/lodash/fp/nAry.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./ary'); diff --git a/res-pc/node_modules/lodash/fp/negate.js b/res-pc/node_modules/lodash/fp/negate.js deleted file mode 100644 index 8b6dc7c5..00000000 --- a/res-pc/node_modules/lodash/fp/negate.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('negate', require('../negate'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/next.js b/res-pc/node_modules/lodash/fp/next.js deleted file mode 100644 index 140155e2..00000000 --- a/res-pc/node_modules/lodash/fp/next.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('next', require('../next'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/noop.js b/res-pc/node_modules/lodash/fp/noop.js deleted file mode 100644 index b9e32cc8..00000000 --- a/res-pc/node_modules/lodash/fp/noop.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('noop', require('../noop'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/now.js b/res-pc/node_modules/lodash/fp/now.js deleted file mode 100644 index 6de2068a..00000000 --- a/res-pc/node_modules/lodash/fp/now.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('now', require('../now'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/nth.js b/res-pc/node_modules/lodash/fp/nth.js deleted file mode 100644 index da4fda74..00000000 --- a/res-pc/node_modules/lodash/fp/nth.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('nth', require('../nth')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/nthArg.js b/res-pc/node_modules/lodash/fp/nthArg.js deleted file mode 100644 index fce31659..00000000 --- a/res-pc/node_modules/lodash/fp/nthArg.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('nthArg', require('../nthArg')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/number.js b/res-pc/node_modules/lodash/fp/number.js deleted file mode 100644 index 5c10b884..00000000 --- a/res-pc/node_modules/lodash/fp/number.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../number')); diff --git a/res-pc/node_modules/lodash/fp/object.js b/res-pc/node_modules/lodash/fp/object.js deleted file mode 100644 index ae39a134..00000000 --- a/res-pc/node_modules/lodash/fp/object.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../object')); diff --git a/res-pc/node_modules/lodash/fp/omit.js b/res-pc/node_modules/lodash/fp/omit.js deleted file mode 100644 index fd685291..00000000 --- a/res-pc/node_modules/lodash/fp/omit.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('omit', require('../omit')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/omitAll.js b/res-pc/node_modules/lodash/fp/omitAll.js deleted file mode 100644 index 144cf4b9..00000000 --- a/res-pc/node_modules/lodash/fp/omitAll.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./omit'); diff --git a/res-pc/node_modules/lodash/fp/omitBy.js b/res-pc/node_modules/lodash/fp/omitBy.js deleted file mode 100644 index 90df7380..00000000 --- a/res-pc/node_modules/lodash/fp/omitBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('omitBy', require('../omitBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/once.js b/res-pc/node_modules/lodash/fp/once.js deleted file mode 100644 index f8f0a5c7..00000000 --- a/res-pc/node_modules/lodash/fp/once.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('once', require('../once'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/orderBy.js b/res-pc/node_modules/lodash/fp/orderBy.js deleted file mode 100644 index 848e2107..00000000 --- a/res-pc/node_modules/lodash/fp/orderBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('orderBy', require('../orderBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/over.js b/res-pc/node_modules/lodash/fp/over.js deleted file mode 100644 index 01eba7b9..00000000 --- a/res-pc/node_modules/lodash/fp/over.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('over', require('../over')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/overArgs.js b/res-pc/node_modules/lodash/fp/overArgs.js deleted file mode 100644 index 738556f0..00000000 --- a/res-pc/node_modules/lodash/fp/overArgs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('overArgs', require('../overArgs')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/overEvery.js b/res-pc/node_modules/lodash/fp/overEvery.js deleted file mode 100644 index 9f5a032d..00000000 --- a/res-pc/node_modules/lodash/fp/overEvery.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('overEvery', require('../overEvery')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/overSome.js b/res-pc/node_modules/lodash/fp/overSome.js deleted file mode 100644 index 15939d58..00000000 --- a/res-pc/node_modules/lodash/fp/overSome.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('overSome', require('../overSome')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pad.js b/res-pc/node_modules/lodash/fp/pad.js deleted file mode 100644 index f1dea4a9..00000000 --- a/res-pc/node_modules/lodash/fp/pad.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pad', require('../pad')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/padChars.js b/res-pc/node_modules/lodash/fp/padChars.js deleted file mode 100644 index d6e0804c..00000000 --- a/res-pc/node_modules/lodash/fp/padChars.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padChars', require('../pad')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/padCharsEnd.js b/res-pc/node_modules/lodash/fp/padCharsEnd.js deleted file mode 100644 index d4ab79ad..00000000 --- a/res-pc/node_modules/lodash/fp/padCharsEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padCharsEnd', require('../padEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/padCharsStart.js b/res-pc/node_modules/lodash/fp/padCharsStart.js deleted file mode 100644 index a08a3000..00000000 --- a/res-pc/node_modules/lodash/fp/padCharsStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padCharsStart', require('../padStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/padEnd.js b/res-pc/node_modules/lodash/fp/padEnd.js deleted file mode 100644 index a8522ec3..00000000 --- a/res-pc/node_modules/lodash/fp/padEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padEnd', require('../padEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/padStart.js b/res-pc/node_modules/lodash/fp/padStart.js deleted file mode 100644 index f4ca79d4..00000000 --- a/res-pc/node_modules/lodash/fp/padStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padStart', require('../padStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/parseInt.js b/res-pc/node_modules/lodash/fp/parseInt.js deleted file mode 100644 index 27314ccb..00000000 --- a/res-pc/node_modules/lodash/fp/parseInt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('parseInt', require('../parseInt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/partial.js b/res-pc/node_modules/lodash/fp/partial.js deleted file mode 100644 index 5d460159..00000000 --- a/res-pc/node_modules/lodash/fp/partial.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('partial', require('../partial')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/partialRight.js b/res-pc/node_modules/lodash/fp/partialRight.js deleted file mode 100644 index 7f05fed0..00000000 --- a/res-pc/node_modules/lodash/fp/partialRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('partialRight', require('../partialRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/partition.js b/res-pc/node_modules/lodash/fp/partition.js deleted file mode 100644 index 2ebcacc1..00000000 --- a/res-pc/node_modules/lodash/fp/partition.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('partition', require('../partition')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/path.js b/res-pc/node_modules/lodash/fp/path.js deleted file mode 100644 index b29cfb21..00000000 --- a/res-pc/node_modules/lodash/fp/path.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./get'); diff --git a/res-pc/node_modules/lodash/fp/pathEq.js b/res-pc/node_modules/lodash/fp/pathEq.js deleted file mode 100644 index 36c027a3..00000000 --- a/res-pc/node_modules/lodash/fp/pathEq.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./matchesProperty'); diff --git a/res-pc/node_modules/lodash/fp/pathOr.js b/res-pc/node_modules/lodash/fp/pathOr.js deleted file mode 100644 index 4ab58209..00000000 --- a/res-pc/node_modules/lodash/fp/pathOr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./getOr'); diff --git a/res-pc/node_modules/lodash/fp/paths.js b/res-pc/node_modules/lodash/fp/paths.js deleted file mode 100644 index 1eb7950a..00000000 --- a/res-pc/node_modules/lodash/fp/paths.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./at'); diff --git a/res-pc/node_modules/lodash/fp/pick.js b/res-pc/node_modules/lodash/fp/pick.js deleted file mode 100644 index 197393de..00000000 --- a/res-pc/node_modules/lodash/fp/pick.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pick', require('../pick')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pickAll.js b/res-pc/node_modules/lodash/fp/pickAll.js deleted file mode 100644 index a8ecd461..00000000 --- a/res-pc/node_modules/lodash/fp/pickAll.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./pick'); diff --git a/res-pc/node_modules/lodash/fp/pickBy.js b/res-pc/node_modules/lodash/fp/pickBy.js deleted file mode 100644 index d832d16b..00000000 --- a/res-pc/node_modules/lodash/fp/pickBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pickBy', require('../pickBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pipe.js b/res-pc/node_modules/lodash/fp/pipe.js deleted file mode 100644 index b2e1e2cc..00000000 --- a/res-pc/node_modules/lodash/fp/pipe.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flow'); diff --git a/res-pc/node_modules/lodash/fp/placeholder.js b/res-pc/node_modules/lodash/fp/placeholder.js deleted file mode 100644 index 1ce17393..00000000 --- a/res-pc/node_modules/lodash/fp/placeholder.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * The default argument placeholder value for methods. - * - * @type {Object} - */ -module.exports = {}; diff --git a/res-pc/node_modules/lodash/fp/plant.js b/res-pc/node_modules/lodash/fp/plant.js deleted file mode 100644 index eca8f32b..00000000 --- a/res-pc/node_modules/lodash/fp/plant.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('plant', require('../plant'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pluck.js b/res-pc/node_modules/lodash/fp/pluck.js deleted file mode 100644 index 0d1e1abf..00000000 --- a/res-pc/node_modules/lodash/fp/pluck.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./map'); diff --git a/res-pc/node_modules/lodash/fp/prop.js b/res-pc/node_modules/lodash/fp/prop.js deleted file mode 100644 index b29cfb21..00000000 --- a/res-pc/node_modules/lodash/fp/prop.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./get'); diff --git a/res-pc/node_modules/lodash/fp/propEq.js b/res-pc/node_modules/lodash/fp/propEq.js deleted file mode 100644 index 36c027a3..00000000 --- a/res-pc/node_modules/lodash/fp/propEq.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./matchesProperty'); diff --git a/res-pc/node_modules/lodash/fp/propOr.js b/res-pc/node_modules/lodash/fp/propOr.js deleted file mode 100644 index 4ab58209..00000000 --- a/res-pc/node_modules/lodash/fp/propOr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./getOr'); diff --git a/res-pc/node_modules/lodash/fp/property.js b/res-pc/node_modules/lodash/fp/property.js deleted file mode 100644 index b29cfb21..00000000 --- a/res-pc/node_modules/lodash/fp/property.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./get'); diff --git a/res-pc/node_modules/lodash/fp/propertyOf.js b/res-pc/node_modules/lodash/fp/propertyOf.js deleted file mode 100644 index f6273ee4..00000000 --- a/res-pc/node_modules/lodash/fp/propertyOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('propertyOf', require('../get')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/props.js b/res-pc/node_modules/lodash/fp/props.js deleted file mode 100644 index 1eb7950a..00000000 --- a/res-pc/node_modules/lodash/fp/props.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./at'); diff --git a/res-pc/node_modules/lodash/fp/pull.js b/res-pc/node_modules/lodash/fp/pull.js deleted file mode 100644 index 8d7084f0..00000000 --- a/res-pc/node_modules/lodash/fp/pull.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pull', require('../pull')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pullAll.js b/res-pc/node_modules/lodash/fp/pullAll.js deleted file mode 100644 index 98d5c9a7..00000000 --- a/res-pc/node_modules/lodash/fp/pullAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAll', require('../pullAll')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pullAllBy.js b/res-pc/node_modules/lodash/fp/pullAllBy.js deleted file mode 100644 index 876bc3bf..00000000 --- a/res-pc/node_modules/lodash/fp/pullAllBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAllBy', require('../pullAllBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pullAllWith.js b/res-pc/node_modules/lodash/fp/pullAllWith.js deleted file mode 100644 index f71ba4d7..00000000 --- a/res-pc/node_modules/lodash/fp/pullAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAllWith', require('../pullAllWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/pullAt.js b/res-pc/node_modules/lodash/fp/pullAt.js deleted file mode 100644 index e8b3bb61..00000000 --- a/res-pc/node_modules/lodash/fp/pullAt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAt', require('../pullAt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/random.js b/res-pc/node_modules/lodash/fp/random.js deleted file mode 100644 index 99d852e4..00000000 --- a/res-pc/node_modules/lodash/fp/random.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('random', require('../random')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/range.js b/res-pc/node_modules/lodash/fp/range.js deleted file mode 100644 index a6bb5911..00000000 --- a/res-pc/node_modules/lodash/fp/range.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('range', require('../range')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/rangeRight.js b/res-pc/node_modules/lodash/fp/rangeRight.js deleted file mode 100644 index fdb712f9..00000000 --- a/res-pc/node_modules/lodash/fp/rangeRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rangeRight', require('../rangeRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/rangeStep.js b/res-pc/node_modules/lodash/fp/rangeStep.js deleted file mode 100644 index d72dfc20..00000000 --- a/res-pc/node_modules/lodash/fp/rangeStep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rangeStep', require('../range')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/rangeStepRight.js b/res-pc/node_modules/lodash/fp/rangeStepRight.js deleted file mode 100644 index 8b2a67bc..00000000 --- a/res-pc/node_modules/lodash/fp/rangeStepRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rangeStepRight', require('../rangeRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/rearg.js b/res-pc/node_modules/lodash/fp/rearg.js deleted file mode 100644 index 678e02a3..00000000 --- a/res-pc/node_modules/lodash/fp/rearg.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rearg', require('../rearg')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/reduce.js b/res-pc/node_modules/lodash/fp/reduce.js deleted file mode 100644 index 4cef0a00..00000000 --- a/res-pc/node_modules/lodash/fp/reduce.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reduce', require('../reduce')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/reduceRight.js b/res-pc/node_modules/lodash/fp/reduceRight.js deleted file mode 100644 index caf5bb51..00000000 --- a/res-pc/node_modules/lodash/fp/reduceRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reduceRight', require('../reduceRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/reject.js b/res-pc/node_modules/lodash/fp/reject.js deleted file mode 100644 index c1632738..00000000 --- a/res-pc/node_modules/lodash/fp/reject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reject', require('../reject')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/remove.js b/res-pc/node_modules/lodash/fp/remove.js deleted file mode 100644 index e9d13273..00000000 --- a/res-pc/node_modules/lodash/fp/remove.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('remove', require('../remove')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/repeat.js b/res-pc/node_modules/lodash/fp/repeat.js deleted file mode 100644 index 08470f24..00000000 --- a/res-pc/node_modules/lodash/fp/repeat.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('repeat', require('../repeat')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/replace.js b/res-pc/node_modules/lodash/fp/replace.js deleted file mode 100644 index 2227db62..00000000 --- a/res-pc/node_modules/lodash/fp/replace.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('replace', require('../replace')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/rest.js b/res-pc/node_modules/lodash/fp/rest.js deleted file mode 100644 index c1f3d64b..00000000 --- a/res-pc/node_modules/lodash/fp/rest.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rest', require('../rest')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/restFrom.js b/res-pc/node_modules/lodash/fp/restFrom.js deleted file mode 100644 index 714e42b5..00000000 --- a/res-pc/node_modules/lodash/fp/restFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('restFrom', require('../rest')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/result.js b/res-pc/node_modules/lodash/fp/result.js deleted file mode 100644 index f86ce071..00000000 --- a/res-pc/node_modules/lodash/fp/result.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('result', require('../result')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/reverse.js b/res-pc/node_modules/lodash/fp/reverse.js deleted file mode 100644 index 07c9f5e4..00000000 --- a/res-pc/node_modules/lodash/fp/reverse.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reverse', require('../reverse')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/round.js b/res-pc/node_modules/lodash/fp/round.js deleted file mode 100644 index 4c0e5c82..00000000 --- a/res-pc/node_modules/lodash/fp/round.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('round', require('../round')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sample.js b/res-pc/node_modules/lodash/fp/sample.js deleted file mode 100644 index 6bea1254..00000000 --- a/res-pc/node_modules/lodash/fp/sample.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sample', require('../sample'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sampleSize.js b/res-pc/node_modules/lodash/fp/sampleSize.js deleted file mode 100644 index 359ed6fc..00000000 --- a/res-pc/node_modules/lodash/fp/sampleSize.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sampleSize', require('../sampleSize')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/seq.js b/res-pc/node_modules/lodash/fp/seq.js deleted file mode 100644 index d8f42b0a..00000000 --- a/res-pc/node_modules/lodash/fp/seq.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../seq')); diff --git a/res-pc/node_modules/lodash/fp/set.js b/res-pc/node_modules/lodash/fp/set.js deleted file mode 100644 index 0b56a56c..00000000 --- a/res-pc/node_modules/lodash/fp/set.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('set', require('../set')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/setWith.js b/res-pc/node_modules/lodash/fp/setWith.js deleted file mode 100644 index 0b584952..00000000 --- a/res-pc/node_modules/lodash/fp/setWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('setWith', require('../setWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/shuffle.js b/res-pc/node_modules/lodash/fp/shuffle.js deleted file mode 100644 index aa3a1ca5..00000000 --- a/res-pc/node_modules/lodash/fp/shuffle.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('shuffle', require('../shuffle'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/size.js b/res-pc/node_modules/lodash/fp/size.js deleted file mode 100644 index 7490136e..00000000 --- a/res-pc/node_modules/lodash/fp/size.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('size', require('../size'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/slice.js b/res-pc/node_modules/lodash/fp/slice.js deleted file mode 100644 index 15945d32..00000000 --- a/res-pc/node_modules/lodash/fp/slice.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('slice', require('../slice')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/snakeCase.js b/res-pc/node_modules/lodash/fp/snakeCase.js deleted file mode 100644 index a0ff7808..00000000 --- a/res-pc/node_modules/lodash/fp/snakeCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('snakeCase', require('../snakeCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/some.js b/res-pc/node_modules/lodash/fp/some.js deleted file mode 100644 index a4fa2d00..00000000 --- a/res-pc/node_modules/lodash/fp/some.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('some', require('../some')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortBy.js b/res-pc/node_modules/lodash/fp/sortBy.js deleted file mode 100644 index e0790ad5..00000000 --- a/res-pc/node_modules/lodash/fp/sortBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortBy', require('../sortBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedIndex.js b/res-pc/node_modules/lodash/fp/sortedIndex.js deleted file mode 100644 index 364a0543..00000000 --- a/res-pc/node_modules/lodash/fp/sortedIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedIndex', require('../sortedIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedIndexBy.js b/res-pc/node_modules/lodash/fp/sortedIndexBy.js deleted file mode 100644 index 9593dbd1..00000000 --- a/res-pc/node_modules/lodash/fp/sortedIndexBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedIndexBy', require('../sortedIndexBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedIndexOf.js b/res-pc/node_modules/lodash/fp/sortedIndexOf.js deleted file mode 100644 index c9084cab..00000000 --- a/res-pc/node_modules/lodash/fp/sortedIndexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedIndexOf', require('../sortedIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedLastIndex.js b/res-pc/node_modules/lodash/fp/sortedLastIndex.js deleted file mode 100644 index 47fe241a..00000000 --- a/res-pc/node_modules/lodash/fp/sortedLastIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedLastIndex', require('../sortedLastIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedLastIndexBy.js b/res-pc/node_modules/lodash/fp/sortedLastIndexBy.js deleted file mode 100644 index 0f9a3473..00000000 --- a/res-pc/node_modules/lodash/fp/sortedLastIndexBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedLastIndexBy', require('../sortedLastIndexBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedLastIndexOf.js b/res-pc/node_modules/lodash/fp/sortedLastIndexOf.js deleted file mode 100644 index 0d4d9327..00000000 --- a/res-pc/node_modules/lodash/fp/sortedLastIndexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedLastIndexOf', require('../sortedLastIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedUniq.js b/res-pc/node_modules/lodash/fp/sortedUniq.js deleted file mode 100644 index 882d2837..00000000 --- a/res-pc/node_modules/lodash/fp/sortedUniq.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedUniq', require('../sortedUniq'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sortedUniqBy.js b/res-pc/node_modules/lodash/fp/sortedUniqBy.js deleted file mode 100644 index 033db91c..00000000 --- a/res-pc/node_modules/lodash/fp/sortedUniqBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedUniqBy', require('../sortedUniqBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/split.js b/res-pc/node_modules/lodash/fp/split.js deleted file mode 100644 index 14de1a7e..00000000 --- a/res-pc/node_modules/lodash/fp/split.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('split', require('../split')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/spread.js b/res-pc/node_modules/lodash/fp/spread.js deleted file mode 100644 index 2d11b707..00000000 --- a/res-pc/node_modules/lodash/fp/spread.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('spread', require('../spread')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/spreadFrom.js b/res-pc/node_modules/lodash/fp/spreadFrom.js deleted file mode 100644 index 0b630df1..00000000 --- a/res-pc/node_modules/lodash/fp/spreadFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('spreadFrom', require('../spread')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/startCase.js b/res-pc/node_modules/lodash/fp/startCase.js deleted file mode 100644 index ada98c94..00000000 --- a/res-pc/node_modules/lodash/fp/startCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('startCase', require('../startCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/startsWith.js b/res-pc/node_modules/lodash/fp/startsWith.js deleted file mode 100644 index 985e2f29..00000000 --- a/res-pc/node_modules/lodash/fp/startsWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('startsWith', require('../startsWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/string.js b/res-pc/node_modules/lodash/fp/string.js deleted file mode 100644 index 773b0370..00000000 --- a/res-pc/node_modules/lodash/fp/string.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../string')); diff --git a/res-pc/node_modules/lodash/fp/stubArray.js b/res-pc/node_modules/lodash/fp/stubArray.js deleted file mode 100644 index cd604cb4..00000000 --- a/res-pc/node_modules/lodash/fp/stubArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubArray', require('../stubArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/stubFalse.js b/res-pc/node_modules/lodash/fp/stubFalse.js deleted file mode 100644 index 32966645..00000000 --- a/res-pc/node_modules/lodash/fp/stubFalse.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubFalse', require('../stubFalse'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/stubObject.js b/res-pc/node_modules/lodash/fp/stubObject.js deleted file mode 100644 index c6c8ec47..00000000 --- a/res-pc/node_modules/lodash/fp/stubObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubObject', require('../stubObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/stubString.js b/res-pc/node_modules/lodash/fp/stubString.js deleted file mode 100644 index 701051e8..00000000 --- a/res-pc/node_modules/lodash/fp/stubString.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubString', require('../stubString'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/stubTrue.js b/res-pc/node_modules/lodash/fp/stubTrue.js deleted file mode 100644 index 9249082c..00000000 --- a/res-pc/node_modules/lodash/fp/stubTrue.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubTrue', require('../stubTrue'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/subtract.js b/res-pc/node_modules/lodash/fp/subtract.js deleted file mode 100644 index d32b16d4..00000000 --- a/res-pc/node_modules/lodash/fp/subtract.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('subtract', require('../subtract')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sum.js b/res-pc/node_modules/lodash/fp/sum.js deleted file mode 100644 index 5cce12b3..00000000 --- a/res-pc/node_modules/lodash/fp/sum.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sum', require('../sum'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/sumBy.js b/res-pc/node_modules/lodash/fp/sumBy.js deleted file mode 100644 index c8826565..00000000 --- a/res-pc/node_modules/lodash/fp/sumBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sumBy', require('../sumBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/symmetricDifference.js b/res-pc/node_modules/lodash/fp/symmetricDifference.js deleted file mode 100644 index 78c16add..00000000 --- a/res-pc/node_modules/lodash/fp/symmetricDifference.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./xor'); diff --git a/res-pc/node_modules/lodash/fp/symmetricDifferenceBy.js b/res-pc/node_modules/lodash/fp/symmetricDifferenceBy.js deleted file mode 100644 index 298fc7ff..00000000 --- a/res-pc/node_modules/lodash/fp/symmetricDifferenceBy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./xorBy'); diff --git a/res-pc/node_modules/lodash/fp/symmetricDifferenceWith.js b/res-pc/node_modules/lodash/fp/symmetricDifferenceWith.js deleted file mode 100644 index 70bc6faf..00000000 --- a/res-pc/node_modules/lodash/fp/symmetricDifferenceWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./xorWith'); diff --git a/res-pc/node_modules/lodash/fp/tail.js b/res-pc/node_modules/lodash/fp/tail.js deleted file mode 100644 index f122f0ac..00000000 --- a/res-pc/node_modules/lodash/fp/tail.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('tail', require('../tail'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/take.js b/res-pc/node_modules/lodash/fp/take.js deleted file mode 100644 index 9af98a7b..00000000 --- a/res-pc/node_modules/lodash/fp/take.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('take', require('../take')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/takeLast.js b/res-pc/node_modules/lodash/fp/takeLast.js deleted file mode 100644 index e98c84a1..00000000 --- a/res-pc/node_modules/lodash/fp/takeLast.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./takeRight'); diff --git a/res-pc/node_modules/lodash/fp/takeLastWhile.js b/res-pc/node_modules/lodash/fp/takeLastWhile.js deleted file mode 100644 index 5367968a..00000000 --- a/res-pc/node_modules/lodash/fp/takeLastWhile.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./takeRightWhile'); diff --git a/res-pc/node_modules/lodash/fp/takeRight.js b/res-pc/node_modules/lodash/fp/takeRight.js deleted file mode 100644 index b82950a6..00000000 --- a/res-pc/node_modules/lodash/fp/takeRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('takeRight', require('../takeRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/takeRightWhile.js b/res-pc/node_modules/lodash/fp/takeRightWhile.js deleted file mode 100644 index 8ffb0a28..00000000 --- a/res-pc/node_modules/lodash/fp/takeRightWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('takeRightWhile', require('../takeRightWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/takeWhile.js b/res-pc/node_modules/lodash/fp/takeWhile.js deleted file mode 100644 index 28136644..00000000 --- a/res-pc/node_modules/lodash/fp/takeWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('takeWhile', require('../takeWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/tap.js b/res-pc/node_modules/lodash/fp/tap.js deleted file mode 100644 index d33ad6ec..00000000 --- a/res-pc/node_modules/lodash/fp/tap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('tap', require('../tap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/template.js b/res-pc/node_modules/lodash/fp/template.js deleted file mode 100644 index 74857e1c..00000000 --- a/res-pc/node_modules/lodash/fp/template.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('template', require('../template')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/templateSettings.js b/res-pc/node_modules/lodash/fp/templateSettings.js deleted file mode 100644 index 7bcc0a82..00000000 --- a/res-pc/node_modules/lodash/fp/templateSettings.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('templateSettings', require('../templateSettings'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/throttle.js b/res-pc/node_modules/lodash/fp/throttle.js deleted file mode 100644 index 77fff142..00000000 --- a/res-pc/node_modules/lodash/fp/throttle.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('throttle', require('../throttle')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/thru.js b/res-pc/node_modules/lodash/fp/thru.js deleted file mode 100644 index d42b3b1d..00000000 --- a/res-pc/node_modules/lodash/fp/thru.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('thru', require('../thru')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/times.js b/res-pc/node_modules/lodash/fp/times.js deleted file mode 100644 index 0dab06da..00000000 --- a/res-pc/node_modules/lodash/fp/times.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('times', require('../times')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toArray.js b/res-pc/node_modules/lodash/fp/toArray.js deleted file mode 100644 index f0c360ac..00000000 --- a/res-pc/node_modules/lodash/fp/toArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toArray', require('../toArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toFinite.js b/res-pc/node_modules/lodash/fp/toFinite.js deleted file mode 100644 index 3a47687d..00000000 --- a/res-pc/node_modules/lodash/fp/toFinite.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toFinite', require('../toFinite'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toInteger.js b/res-pc/node_modules/lodash/fp/toInteger.js deleted file mode 100644 index e0af6a75..00000000 --- a/res-pc/node_modules/lodash/fp/toInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toInteger', require('../toInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toIterator.js b/res-pc/node_modules/lodash/fp/toIterator.js deleted file mode 100644 index 65e6baa9..00000000 --- a/res-pc/node_modules/lodash/fp/toIterator.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toIterator', require('../toIterator'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toJSON.js b/res-pc/node_modules/lodash/fp/toJSON.js deleted file mode 100644 index 2d718d0b..00000000 --- a/res-pc/node_modules/lodash/fp/toJSON.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toJSON', require('../toJSON'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toLength.js b/res-pc/node_modules/lodash/fp/toLength.js deleted file mode 100644 index b97cdd93..00000000 --- a/res-pc/node_modules/lodash/fp/toLength.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toLength', require('../toLength'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toLower.js b/res-pc/node_modules/lodash/fp/toLower.js deleted file mode 100644 index 616ef36a..00000000 --- a/res-pc/node_modules/lodash/fp/toLower.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toLower', require('../toLower'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toNumber.js b/res-pc/node_modules/lodash/fp/toNumber.js deleted file mode 100644 index d0c6f4d3..00000000 --- a/res-pc/node_modules/lodash/fp/toNumber.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toNumber', require('../toNumber'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toPairs.js b/res-pc/node_modules/lodash/fp/toPairs.js deleted file mode 100644 index af783786..00000000 --- a/res-pc/node_modules/lodash/fp/toPairs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPairs', require('../toPairs'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toPairsIn.js b/res-pc/node_modules/lodash/fp/toPairsIn.js deleted file mode 100644 index 66504abf..00000000 --- a/res-pc/node_modules/lodash/fp/toPairsIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPairsIn', require('../toPairsIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toPath.js b/res-pc/node_modules/lodash/fp/toPath.js deleted file mode 100644 index b4d5e50f..00000000 --- a/res-pc/node_modules/lodash/fp/toPath.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPath', require('../toPath'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toPlainObject.js b/res-pc/node_modules/lodash/fp/toPlainObject.js deleted file mode 100644 index 278bb863..00000000 --- a/res-pc/node_modules/lodash/fp/toPlainObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPlainObject', require('../toPlainObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toSafeInteger.js b/res-pc/node_modules/lodash/fp/toSafeInteger.js deleted file mode 100644 index 367a26fd..00000000 --- a/res-pc/node_modules/lodash/fp/toSafeInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toSafeInteger', require('../toSafeInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toString.js b/res-pc/node_modules/lodash/fp/toString.js deleted file mode 100644 index cec4f8e2..00000000 --- a/res-pc/node_modules/lodash/fp/toString.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toString', require('../toString'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/toUpper.js b/res-pc/node_modules/lodash/fp/toUpper.js deleted file mode 100644 index 54f9a560..00000000 --- a/res-pc/node_modules/lodash/fp/toUpper.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toUpper', require('../toUpper'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/transform.js b/res-pc/node_modules/lodash/fp/transform.js deleted file mode 100644 index 759d088f..00000000 --- a/res-pc/node_modules/lodash/fp/transform.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('transform', require('../transform')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/trim.js b/res-pc/node_modules/lodash/fp/trim.js deleted file mode 100644 index e6319a74..00000000 --- a/res-pc/node_modules/lodash/fp/trim.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trim', require('../trim')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/trimChars.js b/res-pc/node_modules/lodash/fp/trimChars.js deleted file mode 100644 index c9294de4..00000000 --- a/res-pc/node_modules/lodash/fp/trimChars.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimChars', require('../trim')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/trimCharsEnd.js b/res-pc/node_modules/lodash/fp/trimCharsEnd.js deleted file mode 100644 index 284bc2f8..00000000 --- a/res-pc/node_modules/lodash/fp/trimCharsEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimCharsEnd', require('../trimEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/trimCharsStart.js b/res-pc/node_modules/lodash/fp/trimCharsStart.js deleted file mode 100644 index ff0ee65d..00000000 --- a/res-pc/node_modules/lodash/fp/trimCharsStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimCharsStart', require('../trimStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/trimEnd.js b/res-pc/node_modules/lodash/fp/trimEnd.js deleted file mode 100644 index 71908805..00000000 --- a/res-pc/node_modules/lodash/fp/trimEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimEnd', require('../trimEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/trimStart.js b/res-pc/node_modules/lodash/fp/trimStart.js deleted file mode 100644 index fda902c3..00000000 --- a/res-pc/node_modules/lodash/fp/trimStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimStart', require('../trimStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/truncate.js b/res-pc/node_modules/lodash/fp/truncate.js deleted file mode 100644 index d265c1de..00000000 --- a/res-pc/node_modules/lodash/fp/truncate.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('truncate', require('../truncate')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/unapply.js b/res-pc/node_modules/lodash/fp/unapply.js deleted file mode 100644 index c5dfe779..00000000 --- a/res-pc/node_modules/lodash/fp/unapply.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./rest'); diff --git a/res-pc/node_modules/lodash/fp/unary.js b/res-pc/node_modules/lodash/fp/unary.js deleted file mode 100644 index 286c945f..00000000 --- a/res-pc/node_modules/lodash/fp/unary.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unary', require('../unary'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/unescape.js b/res-pc/node_modules/lodash/fp/unescape.js deleted file mode 100644 index fddcb46e..00000000 --- a/res-pc/node_modules/lodash/fp/unescape.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unescape', require('../unescape'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/union.js b/res-pc/node_modules/lodash/fp/union.js deleted file mode 100644 index ef8228d7..00000000 --- a/res-pc/node_modules/lodash/fp/union.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('union', require('../union')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/unionBy.js b/res-pc/node_modules/lodash/fp/unionBy.js deleted file mode 100644 index 603687a1..00000000 --- a/res-pc/node_modules/lodash/fp/unionBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unionBy', require('../unionBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/unionWith.js b/res-pc/node_modules/lodash/fp/unionWith.js deleted file mode 100644 index 65bb3a79..00000000 --- a/res-pc/node_modules/lodash/fp/unionWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unionWith', require('../unionWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/uniq.js b/res-pc/node_modules/lodash/fp/uniq.js deleted file mode 100644 index bc185249..00000000 --- a/res-pc/node_modules/lodash/fp/uniq.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniq', require('../uniq'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/uniqBy.js b/res-pc/node_modules/lodash/fp/uniqBy.js deleted file mode 100644 index 634c6a8b..00000000 --- a/res-pc/node_modules/lodash/fp/uniqBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniqBy', require('../uniqBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/uniqWith.js b/res-pc/node_modules/lodash/fp/uniqWith.js deleted file mode 100644 index 0ec601a9..00000000 --- a/res-pc/node_modules/lodash/fp/uniqWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniqWith', require('../uniqWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/uniqueId.js b/res-pc/node_modules/lodash/fp/uniqueId.js deleted file mode 100644 index aa8fc2f7..00000000 --- a/res-pc/node_modules/lodash/fp/uniqueId.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniqueId', require('../uniqueId')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/unnest.js b/res-pc/node_modules/lodash/fp/unnest.js deleted file mode 100644 index 5d34060a..00000000 --- a/res-pc/node_modules/lodash/fp/unnest.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flatten'); diff --git a/res-pc/node_modules/lodash/fp/unset.js b/res-pc/node_modules/lodash/fp/unset.js deleted file mode 100644 index ea203a0f..00000000 --- a/res-pc/node_modules/lodash/fp/unset.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unset', require('../unset')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/unzip.js b/res-pc/node_modules/lodash/fp/unzip.js deleted file mode 100644 index cc364b3c..00000000 --- a/res-pc/node_modules/lodash/fp/unzip.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unzip', require('../unzip'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/unzipWith.js b/res-pc/node_modules/lodash/fp/unzipWith.js deleted file mode 100644 index 182eaa10..00000000 --- a/res-pc/node_modules/lodash/fp/unzipWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unzipWith', require('../unzipWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/update.js b/res-pc/node_modules/lodash/fp/update.js deleted file mode 100644 index b8ce2cc9..00000000 --- a/res-pc/node_modules/lodash/fp/update.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('update', require('../update')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/updateWith.js b/res-pc/node_modules/lodash/fp/updateWith.js deleted file mode 100644 index d5e8282d..00000000 --- a/res-pc/node_modules/lodash/fp/updateWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('updateWith', require('../updateWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/upperCase.js b/res-pc/node_modules/lodash/fp/upperCase.js deleted file mode 100644 index c886f202..00000000 --- a/res-pc/node_modules/lodash/fp/upperCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('upperCase', require('../upperCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/upperFirst.js b/res-pc/node_modules/lodash/fp/upperFirst.js deleted file mode 100644 index d8c04df5..00000000 --- a/res-pc/node_modules/lodash/fp/upperFirst.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('upperFirst', require('../upperFirst'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/useWith.js b/res-pc/node_modules/lodash/fp/useWith.js deleted file mode 100644 index d8b3df5a..00000000 --- a/res-pc/node_modules/lodash/fp/useWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./overArgs'); diff --git a/res-pc/node_modules/lodash/fp/util.js b/res-pc/node_modules/lodash/fp/util.js deleted file mode 100644 index 18c00bae..00000000 --- a/res-pc/node_modules/lodash/fp/util.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../util')); diff --git a/res-pc/node_modules/lodash/fp/value.js b/res-pc/node_modules/lodash/fp/value.js deleted file mode 100644 index 555eec7a..00000000 --- a/res-pc/node_modules/lodash/fp/value.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('value', require('../value'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/valueOf.js b/res-pc/node_modules/lodash/fp/valueOf.js deleted file mode 100644 index f968807d..00000000 --- a/res-pc/node_modules/lodash/fp/valueOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('valueOf', require('../valueOf'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/values.js b/res-pc/node_modules/lodash/fp/values.js deleted file mode 100644 index 2dfc5613..00000000 --- a/res-pc/node_modules/lodash/fp/values.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('values', require('../values'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/valuesIn.js b/res-pc/node_modules/lodash/fp/valuesIn.js deleted file mode 100644 index a1b2bb87..00000000 --- a/res-pc/node_modules/lodash/fp/valuesIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('valuesIn', require('../valuesIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/where.js b/res-pc/node_modules/lodash/fp/where.js deleted file mode 100644 index 3247f64a..00000000 --- a/res-pc/node_modules/lodash/fp/where.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./conformsTo'); diff --git a/res-pc/node_modules/lodash/fp/whereEq.js b/res-pc/node_modules/lodash/fp/whereEq.js deleted file mode 100644 index 29d1e1e4..00000000 --- a/res-pc/node_modules/lodash/fp/whereEq.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./isMatch'); diff --git a/res-pc/node_modules/lodash/fp/without.js b/res-pc/node_modules/lodash/fp/without.js deleted file mode 100644 index bad9e125..00000000 --- a/res-pc/node_modules/lodash/fp/without.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('without', require('../without')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/words.js b/res-pc/node_modules/lodash/fp/words.js deleted file mode 100644 index 4a901414..00000000 --- a/res-pc/node_modules/lodash/fp/words.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('words', require('../words')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/wrap.js b/res-pc/node_modules/lodash/fp/wrap.js deleted file mode 100644 index e93bd8a1..00000000 --- a/res-pc/node_modules/lodash/fp/wrap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrap', require('../wrap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/wrapperAt.js b/res-pc/node_modules/lodash/fp/wrapperAt.js deleted file mode 100644 index 8f0a310f..00000000 --- a/res-pc/node_modules/lodash/fp/wrapperAt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperAt', require('../wrapperAt'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/wrapperChain.js b/res-pc/node_modules/lodash/fp/wrapperChain.js deleted file mode 100644 index 2a48ea2b..00000000 --- a/res-pc/node_modules/lodash/fp/wrapperChain.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperChain', require('../wrapperChain'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/wrapperLodash.js b/res-pc/node_modules/lodash/fp/wrapperLodash.js deleted file mode 100644 index a7162d08..00000000 --- a/res-pc/node_modules/lodash/fp/wrapperLodash.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperLodash', require('../wrapperLodash'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/wrapperReverse.js b/res-pc/node_modules/lodash/fp/wrapperReverse.js deleted file mode 100644 index e1481aab..00000000 --- a/res-pc/node_modules/lodash/fp/wrapperReverse.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperReverse', require('../wrapperReverse'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/wrapperValue.js b/res-pc/node_modules/lodash/fp/wrapperValue.js deleted file mode 100644 index 8eb9112f..00000000 --- a/res-pc/node_modules/lodash/fp/wrapperValue.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperValue', require('../wrapperValue'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/xor.js b/res-pc/node_modules/lodash/fp/xor.js deleted file mode 100644 index 29e28194..00000000 --- a/res-pc/node_modules/lodash/fp/xor.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('xor', require('../xor')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/xorBy.js b/res-pc/node_modules/lodash/fp/xorBy.js deleted file mode 100644 index b355686d..00000000 --- a/res-pc/node_modules/lodash/fp/xorBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('xorBy', require('../xorBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/xorWith.js b/res-pc/node_modules/lodash/fp/xorWith.js deleted file mode 100644 index 8e05739a..00000000 --- a/res-pc/node_modules/lodash/fp/xorWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('xorWith', require('../xorWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/zip.js b/res-pc/node_modules/lodash/fp/zip.js deleted file mode 100644 index 69e147a4..00000000 --- a/res-pc/node_modules/lodash/fp/zip.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zip', require('../zip')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/zipAll.js b/res-pc/node_modules/lodash/fp/zipAll.js deleted file mode 100644 index efa8ccbf..00000000 --- a/res-pc/node_modules/lodash/fp/zipAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipAll', require('../zip')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/zipObj.js b/res-pc/node_modules/lodash/fp/zipObj.js deleted file mode 100644 index f4a34531..00000000 --- a/res-pc/node_modules/lodash/fp/zipObj.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./zipObject'); diff --git a/res-pc/node_modules/lodash/fp/zipObject.js b/res-pc/node_modules/lodash/fp/zipObject.js deleted file mode 100644 index 462dbb68..00000000 --- a/res-pc/node_modules/lodash/fp/zipObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipObject', require('../zipObject')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/zipObjectDeep.js b/res-pc/node_modules/lodash/fp/zipObjectDeep.js deleted file mode 100644 index 53a5d338..00000000 --- a/res-pc/node_modules/lodash/fp/zipObjectDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipObjectDeep', require('../zipObjectDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fp/zipWith.js b/res-pc/node_modules/lodash/fp/zipWith.js deleted file mode 100644 index c5cf9e21..00000000 --- a/res-pc/node_modules/lodash/fp/zipWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipWith', require('../zipWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/res-pc/node_modules/lodash/fromPairs.js b/res-pc/node_modules/lodash/fromPairs.js deleted file mode 100644 index ee7940d2..00000000 --- a/res-pc/node_modules/lodash/fromPairs.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ -function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - return result; -} - -module.exports = fromPairs; diff --git a/res-pc/node_modules/lodash/function.js b/res-pc/node_modules/lodash/function.js deleted file mode 100644 index b0fc6d93..00000000 --- a/res-pc/node_modules/lodash/function.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - 'after': require('./after'), - 'ary': require('./ary'), - 'before': require('./before'), - 'bind': require('./bind'), - 'bindKey': require('./bindKey'), - 'curry': require('./curry'), - 'curryRight': require('./curryRight'), - 'debounce': require('./debounce'), - 'defer': require('./defer'), - 'delay': require('./delay'), - 'flip': require('./flip'), - 'memoize': require('./memoize'), - 'negate': require('./negate'), - 'once': require('./once'), - 'overArgs': require('./overArgs'), - 'partial': require('./partial'), - 'partialRight': require('./partialRight'), - 'rearg': require('./rearg'), - 'rest': require('./rest'), - 'spread': require('./spread'), - 'throttle': require('./throttle'), - 'unary': require('./unary'), - 'wrap': require('./wrap') -}; diff --git a/res-pc/node_modules/lodash/functions.js b/res-pc/node_modules/lodash/functions.js deleted file mode 100644 index 9722928f..00000000 --- a/res-pc/node_modules/lodash/functions.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFunctions = require('./_baseFunctions'), - keys = require('./keys'); - -/** - * Creates an array of function property names from own enumerable properties - * of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functionsIn - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functions(new Foo); - * // => ['a', 'b'] - */ -function functions(object) { - return object == null ? [] : baseFunctions(object, keys(object)); -} - -module.exports = functions; diff --git a/res-pc/node_modules/lodash/functionsIn.js b/res-pc/node_modules/lodash/functionsIn.js deleted file mode 100644 index f00345d0..00000000 --- a/res-pc/node_modules/lodash/functionsIn.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFunctions = require('./_baseFunctions'), - keysIn = require('./keysIn'); - -/** - * Creates an array of function property names from own and inherited - * enumerable properties of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functions - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functionsIn(new Foo); - * // => ['a', 'b', 'c'] - */ -function functionsIn(object) { - return object == null ? [] : baseFunctions(object, keysIn(object)); -} - -module.exports = functionsIn; diff --git a/res-pc/node_modules/lodash/get.js b/res-pc/node_modules/lodash/get.js deleted file mode 100644 index 8805ff92..00000000 --- a/res-pc/node_modules/lodash/get.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseGet = require('./_baseGet'); - -/** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ -function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, path); - return result === undefined ? defaultValue : result; -} - -module.exports = get; diff --git a/res-pc/node_modules/lodash/groupBy.js b/res-pc/node_modules/lodash/groupBy.js deleted file mode 100644 index babf4f6b..00000000 --- a/res-pc/node_modules/lodash/groupBy.js +++ /dev/null @@ -1,41 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - createAggregator = require('./_createAggregator'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ -var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - baseAssignValue(result, key, [value]); - } -}); - -module.exports = groupBy; diff --git a/res-pc/node_modules/lodash/gt.js b/res-pc/node_modules/lodash/gt.js deleted file mode 100644 index 3a662828..00000000 --- a/res-pc/node_modules/lodash/gt.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseGt = require('./_baseGt'), - createRelationalOperation = require('./_createRelationalOperation'); - -/** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - * @see _.lt - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ -var gt = createRelationalOperation(baseGt); - -module.exports = gt; diff --git a/res-pc/node_modules/lodash/gte.js b/res-pc/node_modules/lodash/gte.js deleted file mode 100644 index 4180a687..00000000 --- a/res-pc/node_modules/lodash/gte.js +++ /dev/null @@ -1,30 +0,0 @@ -var createRelationalOperation = require('./_createRelationalOperation'); - -/** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to - * `other`, else `false`. - * @see _.lte - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ -var gte = createRelationalOperation(function(value, other) { - return value >= other; -}); - -module.exports = gte; diff --git a/res-pc/node_modules/lodash/has.js b/res-pc/node_modules/lodash/has.js deleted file mode 100644 index 34df55e8..00000000 --- a/res-pc/node_modules/lodash/has.js +++ /dev/null @@ -1,35 +0,0 @@ -var baseHas = require('./_baseHas'), - hasPath = require('./_hasPath'); - -/** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ -function has(object, path) { - return object != null && hasPath(object, path, baseHas); -} - -module.exports = has; diff --git a/res-pc/node_modules/lodash/hasIn.js b/res-pc/node_modules/lodash/hasIn.js deleted file mode 100644 index 06a36865..00000000 --- a/res-pc/node_modules/lodash/hasIn.js +++ /dev/null @@ -1,34 +0,0 @@ -var baseHasIn = require('./_baseHasIn'), - hasPath = require('./_hasPath'); - -/** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ -function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); -} - -module.exports = hasIn; diff --git a/res-pc/node_modules/lodash/head.js b/res-pc/node_modules/lodash/head.js deleted file mode 100644 index dee9d1f1..00000000 --- a/res-pc/node_modules/lodash/head.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ -function head(array) { - return (array && array.length) ? array[0] : undefined; -} - -module.exports = head; diff --git a/res-pc/node_modules/lodash/identity.js b/res-pc/node_modules/lodash/identity.js deleted file mode 100644 index 2d5d963c..00000000 --- a/res-pc/node_modules/lodash/identity.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This method returns the first argument it receives. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'a': 1 }; - * - * console.log(_.identity(object) === object); - * // => true - */ -function identity(value) { - return value; -} - -module.exports = identity; diff --git a/res-pc/node_modules/lodash/inRange.js b/res-pc/node_modules/lodash/inRange.js deleted file mode 100644 index f20728d9..00000000 --- a/res-pc/node_modules/lodash/inRange.js +++ /dev/null @@ -1,55 +0,0 @@ -var baseInRange = require('./_baseInRange'), - toFinite = require('./toFinite'), - toNumber = require('./toNumber'); - -/** - * Checks if `n` is between `start` and up to, but not including, `end`. If - * `end` is not specified, it's set to `start` with `start` then set to `0`. - * If `start` is greater than `end` the params are swapped to support - * negative ranges. - * - * @static - * @memberOf _ - * @since 3.3.0 - * @category Number - * @param {number} number The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - * @see _.range, _.rangeRight - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - * - * _.inRange(-3, -2, -6); - * // => true - */ -function inRange(number, start, end) { - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - number = toNumber(number); - return baseInRange(number, start, end); -} - -module.exports = inRange; diff --git a/res-pc/node_modules/lodash/includes.js b/res-pc/node_modules/lodash/includes.js deleted file mode 100644 index ae0deedc..00000000 --- a/res-pc/node_modules/lodash/includes.js +++ /dev/null @@ -1,53 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'), - isArrayLike = require('./isArrayLike'), - isString = require('./isString'), - toInteger = require('./toInteger'), - values = require('./values'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Checks if `value` is in `collection`. If `collection` is a string, it's - * checked for a substring of `value`, otherwise - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * is used for equality comparisons. If `fromIndex` is negative, it's used as - * the offset from the end of `collection`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {boolean} Returns `true` if `value` is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'a': 1, 'b': 2 }, 1); - * // => true - * - * _.includes('abcd', 'bc'); - * // => true - */ -function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; - - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString(collection) - ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) - : (!!length && baseIndexOf(collection, value, fromIndex) > -1); -} - -module.exports = includes; diff --git a/res-pc/node_modules/lodash/index.js b/res-pc/node_modules/lodash/index.js deleted file mode 100644 index 5d063e21..00000000 --- a/res-pc/node_modules/lodash/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lodash'); \ No newline at end of file diff --git a/res-pc/node_modules/lodash/indexOf.js b/res-pc/node_modules/lodash/indexOf.js deleted file mode 100644 index 3c644af2..00000000 --- a/res-pc/node_modules/lodash/indexOf.js +++ /dev/null @@ -1,42 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ -function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseIndexOf(array, value, index); -} - -module.exports = indexOf; diff --git a/res-pc/node_modules/lodash/initial.js b/res-pc/node_modules/lodash/initial.js deleted file mode 100644 index f47fc509..00000000 --- a/res-pc/node_modules/lodash/initial.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseSlice = require('./_baseSlice'); - -/** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ -function initial(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 0, -1) : []; -} - -module.exports = initial; diff --git a/res-pc/node_modules/lodash/intersection.js b/res-pc/node_modules/lodash/intersection.js deleted file mode 100644 index a94c1351..00000000 --- a/res-pc/node_modules/lodash/intersection.js +++ /dev/null @@ -1,30 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIntersection = require('./_baseIntersection'), - baseRest = require('./_baseRest'), - castArrayLikeObject = require('./_castArrayLikeObject'); - -/** - * Creates an array of unique values that are included in all given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersection([2, 1], [2, 3]); - * // => [2] - */ -var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped) - : []; -}); - -module.exports = intersection; diff --git a/res-pc/node_modules/lodash/intersectionBy.js b/res-pc/node_modules/lodash/intersectionBy.js deleted file mode 100644 index 31461aae..00000000 --- a/res-pc/node_modules/lodash/intersectionBy.js +++ /dev/null @@ -1,45 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIntersection = require('./_baseIntersection'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'), - castArrayLikeObject = require('./_castArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.intersection` except that it accepts `iteratee` - * which is invoked for each element of each `arrays` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [2.1] - * - * // The `_.property` iteratee shorthand. - * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }] - */ -var intersectionBy = baseRest(function(arrays) { - var iteratee = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - if (iteratee === last(mapped)) { - iteratee = undefined; - } else { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, baseIteratee(iteratee, 2)) - : []; -}); - -module.exports = intersectionBy; diff --git a/res-pc/node_modules/lodash/intersectionWith.js b/res-pc/node_modules/lodash/intersectionWith.js deleted file mode 100644 index 63cabfaa..00000000 --- a/res-pc/node_modules/lodash/intersectionWith.js +++ /dev/null @@ -1,41 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIntersection = require('./_baseIntersection'), - baseRest = require('./_baseRest'), - castArrayLikeObject = require('./_castArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.intersection` except that it accepts `comparator` - * which is invoked to compare elements of `arrays`. The order and references - * of result values are determined by the first array. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.intersectionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }] - */ -var intersectionWith = baseRest(function(arrays) { - var comparator = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - comparator = typeof comparator == 'function' ? comparator : undefined; - if (comparator) { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, undefined, comparator) - : []; -}); - -module.exports = intersectionWith; diff --git a/res-pc/node_modules/lodash/invert.js b/res-pc/node_modules/lodash/invert.js deleted file mode 100644 index 21d10aba..00000000 --- a/res-pc/node_modules/lodash/invert.js +++ /dev/null @@ -1,27 +0,0 @@ -var constant = require('./constant'), - createInverter = require('./_createInverter'), - identity = require('./identity'); - -/** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite - * property assignments of previous values. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Object - * @param {Object} object The object to invert. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - */ -var invert = createInverter(function(result, value, key) { - result[value] = key; -}, constant(identity)); - -module.exports = invert; diff --git a/res-pc/node_modules/lodash/invertBy.js b/res-pc/node_modules/lodash/invertBy.js deleted file mode 100644 index e5ba0f70..00000000 --- a/res-pc/node_modules/lodash/invertBy.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - createInverter = require('./_createInverter'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * This method is like `_.invert` except that the inverted object is generated - * from the results of running each element of `object` thru `iteratee`. The - * corresponding inverted value of each inverted key is an array of keys - * responsible for generating the inverted value. The iteratee is invoked - * with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Object - * @param {Object} object The object to invert. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invertBy(object); - * // => { '1': ['a', 'c'], '2': ['b'] } - * - * _.invertBy(object, function(value) { - * return 'group' + value; - * }); - * // => { 'group1': ['a', 'c'], 'group2': ['b'] } - */ -var invertBy = createInverter(function(result, value, key) { - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } -}, baseIteratee); - -module.exports = invertBy; diff --git a/res-pc/node_modules/lodash/invoke.js b/res-pc/node_modules/lodash/invoke.js deleted file mode 100644 index 97d51eb5..00000000 --- a/res-pc/node_modules/lodash/invoke.js +++ /dev/null @@ -1,24 +0,0 @@ -var baseInvoke = require('./_baseInvoke'), - baseRest = require('./_baseRest'); - -/** - * Invokes the method at `path` of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - * @example - * - * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; - * - * _.invoke(object, 'a[0].b.c.slice', 1, 3); - * // => [2, 3] - */ -var invoke = baseRest(baseInvoke); - -module.exports = invoke; diff --git a/res-pc/node_modules/lodash/invokeMap.js b/res-pc/node_modules/lodash/invokeMap.js deleted file mode 100644 index 8da5126c..00000000 --- a/res-pc/node_modules/lodash/invokeMap.js +++ /dev/null @@ -1,41 +0,0 @@ -var apply = require('./_apply'), - baseEach = require('./_baseEach'), - baseInvoke = require('./_baseInvoke'), - baseRest = require('./_baseRest'), - isArrayLike = require('./isArrayLike'); - -/** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `path` is a function, it's invoked - * for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke each method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invokeMap([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ -var invokeMap = baseRest(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); - }); - return result; -}); - -module.exports = invokeMap; diff --git a/res-pc/node_modules/lodash/isArguments.js b/res-pc/node_modules/lodash/isArguments.js deleted file mode 100644 index 8b9ed66c..00000000 --- a/res-pc/node_modules/lodash/isArguments.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseIsArguments = require('./_baseIsArguments'), - isObjectLike = require('./isObjectLike'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Built-in value references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); -}; - -module.exports = isArguments; diff --git a/res-pc/node_modules/lodash/isArray.js b/res-pc/node_modules/lodash/isArray.js deleted file mode 100644 index 88ab55fd..00000000 --- a/res-pc/node_modules/lodash/isArray.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray = Array.isArray; - -module.exports = isArray; diff --git a/res-pc/node_modules/lodash/isArrayBuffer.js b/res-pc/node_modules/lodash/isArrayBuffer.js deleted file mode 100644 index 12904a64..00000000 --- a/res-pc/node_modules/lodash/isArrayBuffer.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsArrayBuffer = require('./_baseIsArrayBuffer'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer; - -/** - * Checks if `value` is classified as an `ArrayBuffer` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - * @example - * - * _.isArrayBuffer(new ArrayBuffer(2)); - * // => true - * - * _.isArrayBuffer(new Array(2)); - * // => false - */ -var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; - -module.exports = isArrayBuffer; diff --git a/res-pc/node_modules/lodash/isArrayLike.js b/res-pc/node_modules/lodash/isArrayLike.js deleted file mode 100644 index 0f966805..00000000 --- a/res-pc/node_modules/lodash/isArrayLike.js +++ /dev/null @@ -1,33 +0,0 @@ -var isFunction = require('./isFunction'), - isLength = require('./isLength'); - -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ -function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); -} - -module.exports = isArrayLike; diff --git a/res-pc/node_modules/lodash/isArrayLikeObject.js b/res-pc/node_modules/lodash/isArrayLikeObject.js deleted file mode 100644 index 6c4812a8..00000000 --- a/res-pc/node_modules/lodash/isArrayLikeObject.js +++ /dev/null @@ -1,33 +0,0 @@ -var isArrayLike = require('./isArrayLike'), - isObjectLike = require('./isObjectLike'); - -/** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ -function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); -} - -module.exports = isArrayLikeObject; diff --git a/res-pc/node_modules/lodash/isBoolean.js b/res-pc/node_modules/lodash/isBoolean.js deleted file mode 100644 index a43ed4b8..00000000 --- a/res-pc/node_modules/lodash/isBoolean.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]'; - -/** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ -function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); -} - -module.exports = isBoolean; diff --git a/res-pc/node_modules/lodash/isBuffer.js b/res-pc/node_modules/lodash/isBuffer.js deleted file mode 100644 index c103cc74..00000000 --- a/res-pc/node_modules/lodash/isBuffer.js +++ /dev/null @@ -1,38 +0,0 @@ -var root = require('./_root'), - stubFalse = require('./stubFalse'); - -/** Detect free variable `exports`. */ -var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports = freeModule && freeModule.exports === freeExports; - -/** Built-in value references. */ -var Buffer = moduleExports ? root.Buffer : undefined; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; - -/** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ -var isBuffer = nativeIsBuffer || stubFalse; - -module.exports = isBuffer; diff --git a/res-pc/node_modules/lodash/isDate.js b/res-pc/node_modules/lodash/isDate.js deleted file mode 100644 index 7f0209fc..00000000 --- a/res-pc/node_modules/lodash/isDate.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsDate = require('./_baseIsDate'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsDate = nodeUtil && nodeUtil.isDate; - -/** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ -var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; - -module.exports = isDate; diff --git a/res-pc/node_modules/lodash/isElement.js b/res-pc/node_modules/lodash/isElement.js deleted file mode 100644 index 76ae29c3..00000000 --- a/res-pc/node_modules/lodash/isElement.js +++ /dev/null @@ -1,25 +0,0 @@ -var isObjectLike = require('./isObjectLike'), - isPlainObject = require('./isPlainObject'); - -/** - * Checks if `value` is likely a DOM element. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ -function isElement(value) { - return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); -} - -module.exports = isElement; diff --git a/res-pc/node_modules/lodash/isEmpty.js b/res-pc/node_modules/lodash/isEmpty.js deleted file mode 100644 index 3597294a..00000000 --- a/res-pc/node_modules/lodash/isEmpty.js +++ /dev/null @@ -1,77 +0,0 @@ -var baseKeys = require('./_baseKeys'), - getTag = require('./_getTag'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isArrayLike = require('./isArrayLike'), - isBuffer = require('./isBuffer'), - isPrototype = require('./_isPrototype'), - isTypedArray = require('./isTypedArray'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]', - setTag = '[object Set]'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ -function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty.call(value, key)) { - return false; - } - } - return true; -} - -module.exports = isEmpty; diff --git a/res-pc/node_modules/lodash/isEqual.js b/res-pc/node_modules/lodash/isEqual.js deleted file mode 100644 index 5e23e76c..00000000 --- a/res-pc/node_modules/lodash/isEqual.js +++ /dev/null @@ -1,35 +0,0 @@ -var baseIsEqual = require('./_baseIsEqual'); - -/** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ -function isEqual(value, other) { - return baseIsEqual(value, other); -} - -module.exports = isEqual; diff --git a/res-pc/node_modules/lodash/isEqualWith.js b/res-pc/node_modules/lodash/isEqualWith.js deleted file mode 100644 index 21bdc7ff..00000000 --- a/res-pc/node_modules/lodash/isEqualWith.js +++ /dev/null @@ -1,41 +0,0 @@ -var baseIsEqual = require('./_baseIsEqual'); - -/** - * This method is like `_.isEqual` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with up to - * six arguments: (objValue, othValue [, index|key, object, other, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, othValue) { - * if (isGreeting(objValue) && isGreeting(othValue)) { - * return true; - * } - * } - * - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqualWith(array, other, customizer); - * // => true - */ -function isEqualWith(value, other, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; -} - -module.exports = isEqualWith; diff --git a/res-pc/node_modules/lodash/isError.js b/res-pc/node_modules/lodash/isError.js deleted file mode 100644 index b4f41e00..00000000 --- a/res-pc/node_modules/lodash/isError.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'), - isPlainObject = require('./isPlainObject'); - -/** `Object#toString` result references. */ -var domExcTag = '[object DOMException]', - errorTag = '[object Error]'; - -/** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ -function isError(value) { - if (!isObjectLike(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == errorTag || tag == domExcTag || - (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); -} - -module.exports = isError; diff --git a/res-pc/node_modules/lodash/isFinite.js b/res-pc/node_modules/lodash/isFinite.js deleted file mode 100644 index 601842bc..00000000 --- a/res-pc/node_modules/lodash/isFinite.js +++ /dev/null @@ -1,36 +0,0 @@ -var root = require('./_root'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeIsFinite = root.isFinite; - -/** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ -function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); -} - -module.exports = isFinite; diff --git a/res-pc/node_modules/lodash/isFunction.js b/res-pc/node_modules/lodash/isFunction.js deleted file mode 100644 index 907a8cd8..00000000 --- a/res-pc/node_modules/lodash/isFunction.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObject = require('./isObject'); - -/** `Object#toString` result references. */ -var asyncTag = '[object AsyncFunction]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - proxyTag = '[object Proxy]'; - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; -} - -module.exports = isFunction; diff --git a/res-pc/node_modules/lodash/isInteger.js b/res-pc/node_modules/lodash/isInteger.js deleted file mode 100644 index 66aa87d5..00000000 --- a/res-pc/node_modules/lodash/isInteger.js +++ /dev/null @@ -1,33 +0,0 @@ -var toInteger = require('./toInteger'); - -/** - * Checks if `value` is an integer. - * - * **Note:** This method is based on - * [`Number.isInteger`](https://mdn.io/Number/isInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an integer, else `false`. - * @example - * - * _.isInteger(3); - * // => true - * - * _.isInteger(Number.MIN_VALUE); - * // => false - * - * _.isInteger(Infinity); - * // => false - * - * _.isInteger('3'); - * // => false - */ -function isInteger(value) { - return typeof value == 'number' && value == toInteger(value); -} - -module.exports = isInteger; diff --git a/res-pc/node_modules/lodash/isLength.js b/res-pc/node_modules/lodash/isLength.js deleted file mode 100644 index 3a95caa9..00000000 --- a/res-pc/node_modules/lodash/isLength.js +++ /dev/null @@ -1,35 +0,0 @@ -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ -function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -module.exports = isLength; diff --git a/res-pc/node_modules/lodash/isMap.js b/res-pc/node_modules/lodash/isMap.js deleted file mode 100644 index 44f8517e..00000000 --- a/res-pc/node_modules/lodash/isMap.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsMap = require('./_baseIsMap'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsMap = nodeUtil && nodeUtil.isMap; - -/** - * Checks if `value` is classified as a `Map` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - * @example - * - * _.isMap(new Map); - * // => true - * - * _.isMap(new WeakMap); - * // => false - */ -var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; - -module.exports = isMap; diff --git a/res-pc/node_modules/lodash/isMatch.js b/res-pc/node_modules/lodash/isMatch.js deleted file mode 100644 index 9773a18c..00000000 --- a/res-pc/node_modules/lodash/isMatch.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseIsMatch = require('./_baseIsMatch'), - getMatchData = require('./_getMatchData'); - -/** - * Performs a partial deep comparison between `object` and `source` to - * determine if `object` contains equivalent property values. - * - * **Note:** This method is equivalent to `_.matches` when `source` is - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.isMatch(object, { 'b': 2 }); - * // => true - * - * _.isMatch(object, { 'b': 1 }); - * // => false - */ -function isMatch(object, source) { - return object === source || baseIsMatch(object, source, getMatchData(source)); -} - -module.exports = isMatch; diff --git a/res-pc/node_modules/lodash/isMatchWith.js b/res-pc/node_modules/lodash/isMatchWith.js deleted file mode 100644 index 187b6a61..00000000 --- a/res-pc/node_modules/lodash/isMatchWith.js +++ /dev/null @@ -1,41 +0,0 @@ -var baseIsMatch = require('./_baseIsMatch'), - getMatchData = require('./_getMatchData'); - -/** - * This method is like `_.isMatch` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with five - * arguments: (objValue, srcValue, index|key, object, source). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, srcValue) { - * if (isGreeting(objValue) && isGreeting(srcValue)) { - * return true; - * } - * } - * - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatchWith(object, source, customizer); - * // => true - */ -function isMatchWith(object, source, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseIsMatch(object, source, getMatchData(source), customizer); -} - -module.exports = isMatchWith; diff --git a/res-pc/node_modules/lodash/isNaN.js b/res-pc/node_modules/lodash/isNaN.js deleted file mode 100644 index 7d0d783b..00000000 --- a/res-pc/node_modules/lodash/isNaN.js +++ /dev/null @@ -1,38 +0,0 @@ -var isNumber = require('./isNumber'); - -/** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ -function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; -} - -module.exports = isNaN; diff --git a/res-pc/node_modules/lodash/isNative.js b/res-pc/node_modules/lodash/isNative.js deleted file mode 100644 index f0cb8d58..00000000 --- a/res-pc/node_modules/lodash/isNative.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseIsNative = require('./_baseIsNative'), - isMaskable = require('./_isMaskable'); - -/** Error message constants. */ -var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.'; - -/** - * Checks if `value` is a pristine native function. - * - * **Note:** This method can't reliably detect native functions in the presence - * of the core-js package because core-js circumvents this kind of detection. - * Despite multiple requests, the core-js maintainer has made it clear: any - * attempt to fix the detection will be obstructed. As a result, we're left - * with little choice but to throw an error. Unfortunately, this also affects - * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), - * which rely on core-js. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ -function isNative(value) { - if (isMaskable(value)) { - throw new Error(CORE_ERROR_TEXT); - } - return baseIsNative(value); -} - -module.exports = isNative; diff --git a/res-pc/node_modules/lodash/isNil.js b/res-pc/node_modules/lodash/isNil.js deleted file mode 100644 index 79f05052..00000000 --- a/res-pc/node_modules/lodash/isNil.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Checks if `value` is `null` or `undefined`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is nullish, else `false`. - * @example - * - * _.isNil(null); - * // => true - * - * _.isNil(void 0); - * // => true - * - * _.isNil(NaN); - * // => false - */ -function isNil(value) { - return value == null; -} - -module.exports = isNil; diff --git a/res-pc/node_modules/lodash/isNull.js b/res-pc/node_modules/lodash/isNull.js deleted file mode 100644 index c0a374d7..00000000 --- a/res-pc/node_modules/lodash/isNull.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ -function isNull(value) { - return value === null; -} - -module.exports = isNull; diff --git a/res-pc/node_modules/lodash/isNumber.js b/res-pc/node_modules/lodash/isNumber.js deleted file mode 100644 index cd34ee46..00000000 --- a/res-pc/node_modules/lodash/isNumber.js +++ /dev/null @@ -1,38 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var numberTag = '[object Number]'; - -/** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ -function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); -} - -module.exports = isNumber; diff --git a/res-pc/node_modules/lodash/isObject.js b/res-pc/node_modules/lodash/isObject.js deleted file mode 100644 index 1dc89391..00000000 --- a/res-pc/node_modules/lodash/isObject.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); -} - -module.exports = isObject; diff --git a/res-pc/node_modules/lodash/isObjectLike.js b/res-pc/node_modules/lodash/isObjectLike.js deleted file mode 100644 index 301716b5..00000000 --- a/res-pc/node_modules/lodash/isObjectLike.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -module.exports = isObjectLike; diff --git a/res-pc/node_modules/lodash/isPlainObject.js b/res-pc/node_modules/lodash/isPlainObject.js deleted file mode 100644 index 23873731..00000000 --- a/res-pc/node_modules/lodash/isPlainObject.js +++ /dev/null @@ -1,62 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - getPrototype = require('./_getPrototype'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var objectTag = '[object Object]'; - -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to infer the `Object` constructor. */ -var objectCtorString = funcToString.call(Object); - -/** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ -function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; -} - -module.exports = isPlainObject; diff --git a/res-pc/node_modules/lodash/isRegExp.js b/res-pc/node_modules/lodash/isRegExp.js deleted file mode 100644 index 76c9b6e9..00000000 --- a/res-pc/node_modules/lodash/isRegExp.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsRegExp = require('./_baseIsRegExp'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp; - -/** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ -var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; - -module.exports = isRegExp; diff --git a/res-pc/node_modules/lodash/isSafeInteger.js b/res-pc/node_modules/lodash/isSafeInteger.js deleted file mode 100644 index 2a48526e..00000000 --- a/res-pc/node_modules/lodash/isSafeInteger.js +++ /dev/null @@ -1,37 +0,0 @@ -var isInteger = require('./isInteger'); - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 - * double precision number which isn't the result of a rounded unsafe integer. - * - * **Note:** This method is based on - * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. - * @example - * - * _.isSafeInteger(3); - * // => true - * - * _.isSafeInteger(Number.MIN_VALUE); - * // => false - * - * _.isSafeInteger(Infinity); - * // => false - * - * _.isSafeInteger('3'); - * // => false - */ -function isSafeInteger(value) { - return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; -} - -module.exports = isSafeInteger; diff --git a/res-pc/node_modules/lodash/isSet.js b/res-pc/node_modules/lodash/isSet.js deleted file mode 100644 index ab88bdf8..00000000 --- a/res-pc/node_modules/lodash/isSet.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsSet = require('./_baseIsSet'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsSet = nodeUtil && nodeUtil.isSet; - -/** - * Checks if `value` is classified as a `Set` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - * @example - * - * _.isSet(new Set); - * // => true - * - * _.isSet(new WeakSet); - * // => false - */ -var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; - -module.exports = isSet; diff --git a/res-pc/node_modules/lodash/isString.js b/res-pc/node_modules/lodash/isString.js deleted file mode 100644 index 627eb9c3..00000000 --- a/res-pc/node_modules/lodash/isString.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isArray = require('./isArray'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var stringTag = '[object String]'; - -/** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ -function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); -} - -module.exports = isString; diff --git a/res-pc/node_modules/lodash/isSymbol.js b/res-pc/node_modules/lodash/isSymbol.js deleted file mode 100644 index dfb60b97..00000000 --- a/res-pc/node_modules/lodash/isSymbol.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var symbolTag = '[object Symbol]'; - -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ -function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); -} - -module.exports = isSymbol; diff --git a/res-pc/node_modules/lodash/isTypedArray.js b/res-pc/node_modules/lodash/isTypedArray.js deleted file mode 100644 index da3f8dd1..00000000 --- a/res-pc/node_modules/lodash/isTypedArray.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsTypedArray = require('./_baseIsTypedArray'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ -var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - -module.exports = isTypedArray; diff --git a/res-pc/node_modules/lodash/isUndefined.js b/res-pc/node_modules/lodash/isUndefined.js deleted file mode 100644 index 377d121a..00000000 --- a/res-pc/node_modules/lodash/isUndefined.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ -function isUndefined(value) { - return value === undefined; -} - -module.exports = isUndefined; diff --git a/res-pc/node_modules/lodash/isWeakMap.js b/res-pc/node_modules/lodash/isWeakMap.js deleted file mode 100644 index 8d36f663..00000000 --- a/res-pc/node_modules/lodash/isWeakMap.js +++ /dev/null @@ -1,28 +0,0 @@ -var getTag = require('./_getTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var weakMapTag = '[object WeakMap]'; - -/** - * Checks if `value` is classified as a `WeakMap` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. - * @example - * - * _.isWeakMap(new WeakMap); - * // => true - * - * _.isWeakMap(new Map); - * // => false - */ -function isWeakMap(value) { - return isObjectLike(value) && getTag(value) == weakMapTag; -} - -module.exports = isWeakMap; diff --git a/res-pc/node_modules/lodash/isWeakSet.js b/res-pc/node_modules/lodash/isWeakSet.js deleted file mode 100644 index e628b261..00000000 --- a/res-pc/node_modules/lodash/isWeakSet.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var weakSetTag = '[object WeakSet]'; - -/** - * Checks if `value` is classified as a `WeakSet` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. - * @example - * - * _.isWeakSet(new WeakSet); - * // => true - * - * _.isWeakSet(new Set); - * // => false - */ -function isWeakSet(value) { - return isObjectLike(value) && baseGetTag(value) == weakSetTag; -} - -module.exports = isWeakSet; diff --git a/res-pc/node_modules/lodash/iteratee.js b/res-pc/node_modules/lodash/iteratee.js deleted file mode 100644 index 61b73a8c..00000000 --- a/res-pc/node_modules/lodash/iteratee.js +++ /dev/null @@ -1,53 +0,0 @@ -var baseClone = require('./_baseClone'), - baseIteratee = require('./_baseIteratee'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a function that invokes `func` with the arguments of the created - * function. If `func` is a property name, the created function returns the - * property value for a given element. If `func` is an array or object, the - * created function returns `true` for elements that contain the equivalent - * source properties, otherwise it returns `false`. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Util - * @param {*} [func=_.identity] The value to convert to a callback. - * @returns {Function} Returns the callback. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); - * // => [{ 'user': 'barney', 'age': 36, 'active': true }] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, _.iteratee(['user', 'fred'])); - * // => [{ 'user': 'fred', 'age': 40 }] - * - * // The `_.property` iteratee shorthand. - * _.map(users, _.iteratee('user')); - * // => ['barney', 'fred'] - * - * // Create custom iteratee shorthands. - * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { - * return !_.isRegExp(func) ? iteratee(func) : function(string) { - * return func.test(string); - * }; - * }); - * - * _.filter(['abc', 'def'], /ef/); - * // => ['def'] - */ -function iteratee(func) { - return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); -} - -module.exports = iteratee; diff --git a/res-pc/node_modules/lodash/join.js b/res-pc/node_modules/lodash/join.js deleted file mode 100644 index 45de079f..00000000 --- a/res-pc/node_modules/lodash/join.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeJoin = arrayProto.join; - -/** - * Converts all elements in `array` into a string separated by `separator`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to convert. - * @param {string} [separator=','] The element separator. - * @returns {string} Returns the joined string. - * @example - * - * _.join(['a', 'b', 'c'], '~'); - * // => 'a~b~c' - */ -function join(array, separator) { - return array == null ? '' : nativeJoin.call(array, separator); -} - -module.exports = join; diff --git a/res-pc/node_modules/lodash/kebabCase.js b/res-pc/node_modules/lodash/kebabCase.js deleted file mode 100644 index 8a52be64..00000000 --- a/res-pc/node_modules/lodash/kebabCase.js +++ /dev/null @@ -1,28 +0,0 @@ -var createCompounder = require('./_createCompounder'); - -/** - * Converts `string` to - * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__FOO_BAR__'); - * // => 'foo-bar' - */ -var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); -}); - -module.exports = kebabCase; diff --git a/res-pc/node_modules/lodash/keyBy.js b/res-pc/node_modules/lodash/keyBy.js deleted file mode 100644 index acc007a0..00000000 --- a/res-pc/node_modules/lodash/keyBy.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - createAggregator = require('./_createAggregator'); - -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the last element responsible for generating the key. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var array = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.keyBy(array, function(o) { - * return String.fromCharCode(o.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.keyBy(array, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - */ -var keyBy = createAggregator(function(result, value, key) { - baseAssignValue(result, key, value); -}); - -module.exports = keyBy; diff --git a/res-pc/node_modules/lodash/keys.js b/res-pc/node_modules/lodash/keys.js deleted file mode 100644 index d143c718..00000000 --- a/res-pc/node_modules/lodash/keys.js +++ /dev/null @@ -1,37 +0,0 @@ -var arrayLikeKeys = require('./_arrayLikeKeys'), - baseKeys = require('./_baseKeys'), - isArrayLike = require('./isArrayLike'); - -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ -function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); -} - -module.exports = keys; diff --git a/res-pc/node_modules/lodash/keysIn.js b/res-pc/node_modules/lodash/keysIn.js deleted file mode 100644 index a62308f2..00000000 --- a/res-pc/node_modules/lodash/keysIn.js +++ /dev/null @@ -1,32 +0,0 @@ -var arrayLikeKeys = require('./_arrayLikeKeys'), - baseKeysIn = require('./_baseKeysIn'), - isArrayLike = require('./isArrayLike'); - -/** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ -function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); -} - -module.exports = keysIn; diff --git a/res-pc/node_modules/lodash/lang.js b/res-pc/node_modules/lodash/lang.js deleted file mode 100644 index a3962169..00000000 --- a/res-pc/node_modules/lodash/lang.js +++ /dev/null @@ -1,58 +0,0 @@ -module.exports = { - 'castArray': require('./castArray'), - 'clone': require('./clone'), - 'cloneDeep': require('./cloneDeep'), - 'cloneDeepWith': require('./cloneDeepWith'), - 'cloneWith': require('./cloneWith'), - 'conformsTo': require('./conformsTo'), - 'eq': require('./eq'), - 'gt': require('./gt'), - 'gte': require('./gte'), - 'isArguments': require('./isArguments'), - 'isArray': require('./isArray'), - 'isArrayBuffer': require('./isArrayBuffer'), - 'isArrayLike': require('./isArrayLike'), - 'isArrayLikeObject': require('./isArrayLikeObject'), - 'isBoolean': require('./isBoolean'), - 'isBuffer': require('./isBuffer'), - 'isDate': require('./isDate'), - 'isElement': require('./isElement'), - 'isEmpty': require('./isEmpty'), - 'isEqual': require('./isEqual'), - 'isEqualWith': require('./isEqualWith'), - 'isError': require('./isError'), - 'isFinite': require('./isFinite'), - 'isFunction': require('./isFunction'), - 'isInteger': require('./isInteger'), - 'isLength': require('./isLength'), - 'isMap': require('./isMap'), - 'isMatch': require('./isMatch'), - 'isMatchWith': require('./isMatchWith'), - 'isNaN': require('./isNaN'), - 'isNative': require('./isNative'), - 'isNil': require('./isNil'), - 'isNull': require('./isNull'), - 'isNumber': require('./isNumber'), - 'isObject': require('./isObject'), - 'isObjectLike': require('./isObjectLike'), - 'isPlainObject': require('./isPlainObject'), - 'isRegExp': require('./isRegExp'), - 'isSafeInteger': require('./isSafeInteger'), - 'isSet': require('./isSet'), - 'isString': require('./isString'), - 'isSymbol': require('./isSymbol'), - 'isTypedArray': require('./isTypedArray'), - 'isUndefined': require('./isUndefined'), - 'isWeakMap': require('./isWeakMap'), - 'isWeakSet': require('./isWeakSet'), - 'lt': require('./lt'), - 'lte': require('./lte'), - 'toArray': require('./toArray'), - 'toFinite': require('./toFinite'), - 'toInteger': require('./toInteger'), - 'toLength': require('./toLength'), - 'toNumber': require('./toNumber'), - 'toPlainObject': require('./toPlainObject'), - 'toSafeInteger': require('./toSafeInteger'), - 'toString': require('./toString') -}; diff --git a/res-pc/node_modules/lodash/last.js b/res-pc/node_modules/lodash/last.js deleted file mode 100644 index cad1eafa..00000000 --- a/res-pc/node_modules/lodash/last.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ -function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; -} - -module.exports = last; diff --git a/res-pc/node_modules/lodash/lastIndexOf.js b/res-pc/node_modules/lodash/lastIndexOf.js deleted file mode 100644 index dabfb613..00000000 --- a/res-pc/node_modules/lodash/lastIndexOf.js +++ /dev/null @@ -1,46 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIsNaN = require('./_baseIsNaN'), - strictLastIndexOf = require('./_strictLastIndexOf'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // Search from the `fromIndex`. - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - */ -function lastIndexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return value === value - ? strictLastIndexOf(array, value, index) - : baseFindIndex(array, baseIsNaN, index, true); -} - -module.exports = lastIndexOf; diff --git a/res-pc/node_modules/lodash/lodash.js b/res-pc/node_modules/lodash/lodash.js deleted file mode 100644 index b39ddce6..00000000 --- a/res-pc/node_modules/lodash/lodash.js +++ /dev/null @@ -1,17084 +0,0 @@ -/** - * @license - * Lodash - * Copyright JS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -;(function() { - - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '4.17.4'; - - /** Used as the size to enable large array optimizations. */ - var LARGE_ARRAY_SIZE = 200; - - /** Error message constants. */ - var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', - FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used to stand-in for `undefined` hash values. */ - var HASH_UNDEFINED = '__lodash_hash_undefined__'; - - /** Used as the maximum memoize cache size. */ - var MAX_MEMOIZE_SIZE = 500; - - /** Used as the internal argument placeholder. */ - var PLACEHOLDER = '__lodash_placeholder__'; - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; - - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - - /** Used to compose bitmasks for function metadata. */ - var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256, - WRAP_FLIP_FLAG = 512; - - /** Used as default options for `_.truncate`. */ - var DEFAULT_TRUNC_LENGTH = 30, - DEFAULT_TRUNC_OMISSION = '...'; - - /** Used to detect hot functions by number of calls within a span of milliseconds. */ - var HOT_COUNT = 800, - HOT_SPAN = 16; - - /** Used to indicate the type of lazy iteratees. */ - var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2, - LAZY_WHILE_FLAG = 3; - - /** Used as references for various `Number` constants. */ - var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991, - MAX_INTEGER = 1.7976931348623157e+308, - NAN = 0 / 0; - - /** Used as references for the maximum length and index of an array. */ - var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - - /** Used to associate wrap methods with their bit flags. */ - var wrapFlags = [ - ['ary', WRAP_ARY_FLAG], - ['bind', WRAP_BIND_FLAG], - ['bindKey', WRAP_BIND_KEY_FLAG], - ['curry', WRAP_CURRY_FLAG], - ['curryRight', WRAP_CURRY_RIGHT_FLAG], - ['flip', WRAP_FLIP_FLAG], - ['partial', WRAP_PARTIAL_FLAG], - ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], - ['rearg', WRAP_REARG_FLAG] - ]; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - asyncTag = '[object AsyncFunction]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - domExcTag = '[object DOMException]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - mapTag = '[object Map]', - numberTag = '[object Number]', - nullTag = '[object Null]', - objectTag = '[object Object]', - promiseTag = '[object Promise]', - proxyTag = '[object Proxy]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]', - undefinedTag = '[object Undefined]', - weakMapTag = '[object WeakMap]', - weakSetTag = '[object WeakSet]'; - - var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to match empty string literals in compiled template source. */ - var reEmptyStringLeading = /\b__p \+= '';/g, - reEmptyStringMiddle = /\b(__p \+=) '' \+/g, - reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - - /** Used to match HTML entities and HTML characters. */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, - reUnescapedHtml = /[&<>"']/g, - reHasEscapedHtml = RegExp(reEscapedHtml.source), - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to match template delimiters. */ - var reEscape = /<%-([\s\S]+?)%>/g, - reEvaluate = /<%([\s\S]+?)%>/g, - reInterpolate = /<%=([\s\S]+?)%>/g; - - /** Used to match property names within property paths. */ - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/, - reLeadingDot = /^\./, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - - /** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ - var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, - reHasRegExpChar = RegExp(reRegExpChar.source); - - /** Used to match leading and trailing whitespace. */ - var reTrim = /^\s+|\s+$/g, - reTrimStart = /^\s+/, - reTrimEnd = /\s+$/; - - /** Used to match wrap detail comments. */ - var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, - reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, - reSplitDetails = /,? & /; - - /** Used to match words composed of alphanumeric characters. */ - var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; - - /** Used to match backslashes in property paths. */ - var reEscapeChar = /\\(\\)?/g; - - /** - * Used to match - * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). - */ - var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; - - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; - - /** Used to detect bad signed hexadecimal string values. */ - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - - /** Used to detect binary string values. */ - var reIsBinary = /^0b[01]+$/i; - - /** Used to detect host constructors (Safari). */ - var reIsHostCtor = /^\[object .+?Constructor\]$/; - - /** Used to detect octal string values. */ - var reIsOctal = /^0o[0-7]+$/i; - - /** Used to detect unsigned integer values. */ - var reIsUint = /^(?:0|[1-9]\d*)$/; - - /** Used to match Latin Unicode letters (excluding mathematical operators). */ - var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; - - /** Used to ensure capturing order of template delimiters. */ - var reNoMatch = /($^)/; - - /** Used to match unescaped characters in compiled string literals. */ - var reUnescapedString = /['\n\r\u2028\u2029\\]/g; - - /** Used to compose unicode character classes. */ - var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsDingbatRange = '\\u2700-\\u27bf', - rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', - rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', - rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', - rsPunctuationRange = '\\u2000-\\u206f', - rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', - rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', - rsVarRange = '\\ufe0e\\ufe0f', - rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; - - /** Used to compose unicode capture groups. */ - var rsApos = "['\u2019]", - rsAstral = '[' + rsAstralRange + ']', - rsBreak = '[' + rsBreakRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsDigits = '\\d+', - rsDingbat = '[' + rsDingbatRange + ']', - rsLower = '[' + rsLowerRange + ']', - rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsUpper = '[' + rsUpperRange + ']', - rsZWJ = '\\u200d'; - - /** Used to compose unicode regexes. */ - var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', - rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', - rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', - rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', - reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)', - rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - - /** Used to match apostrophes. */ - var reApos = RegExp(rsApos, 'g'); - - /** - * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and - * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). - */ - var reComboMark = RegExp(rsCombo, 'g'); - - /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ - var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - - /** Used to match complex or compound words. */ - var reUnicodeWord = RegExp([ - rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', - rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', - rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, - rsUpper + '+' + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji - ].join('|'), 'g'); - - /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ - var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); - - /** Used to detect strings that need a more robust regexp to match words. */ - var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; - - /** Used to assign default `context` object properties. */ - var contextProps = [ - 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', - 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', - 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', - 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', - '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' - ]; - - /** Used to make template sourceURLs easier to identify. */ - var templateCounter = -1; - - /** Used to identify `toStringTag` values of typed arrays. */ - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = - typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = - typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = - typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = - typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = - typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = - typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = - typedArrayTags[errorTag] = typedArrayTags[funcTag] = - typedArrayTags[mapTag] = typedArrayTags[numberTag] = - typedArrayTags[objectTag] = typedArrayTags[regexpTag] = - typedArrayTags[setTag] = typedArrayTags[stringTag] = - typedArrayTags[weakMapTag] = false; - - /** Used to identify `toStringTag` values supported by `_.clone`. */ - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = - cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = - cloneableTags[boolTag] = cloneableTags[dateTag] = - cloneableTags[float32Tag] = cloneableTags[float64Tag] = - cloneableTags[int8Tag] = cloneableTags[int16Tag] = - cloneableTags[int32Tag] = cloneableTags[mapTag] = - cloneableTags[numberTag] = cloneableTags[objectTag] = - cloneableTags[regexpTag] = cloneableTags[setTag] = - cloneableTags[stringTag] = cloneableTags[symbolTag] = - cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = - cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = - cloneableTags[weakMapTag] = false; - - /** Used to map Latin Unicode letters to basic Latin letters. */ - var deburredLetters = { - // Latin-1 Supplement block. - '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', - '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', - '\xc7': 'C', '\xe7': 'c', - '\xd0': 'D', '\xf0': 'd', - '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', - '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', - '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', - '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', - '\xd1': 'N', '\xf1': 'n', - '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', - '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', - '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', - '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', - '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', - '\xc6': 'Ae', '\xe6': 'ae', - '\xde': 'Th', '\xfe': 'th', - '\xdf': 'ss', - // Latin Extended-A block. - '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', - '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', - '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', - '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', - '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', - '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', - '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', - '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', - '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', - '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', - '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', - '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', - '\u0134': 'J', '\u0135': 'j', - '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', - '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', - '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', - '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', - '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', - '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', - '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', - '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', - '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', - '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', - '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', - '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', - '\u0163': 't', '\u0165': 't', '\u0167': 't', - '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', - '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', - '\u0174': 'W', '\u0175': 'w', - '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', - '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', - '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', - '\u0132': 'IJ', '\u0133': 'ij', - '\u0152': 'Oe', '\u0153': 'oe', - '\u0149': "'n", '\u017f': 's' - }; - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - - /** Used to map HTML entities to characters. */ - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }; - - /** Used to escape characters for inclusion in compiled string literals. */ - var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - /** Built-in method references without a dependency on `root`. */ - var freeParseFloat = parseFloat, - freeParseInt = parseInt; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports; - - /** Detect free variable `process` from Node.js. */ - var freeProcess = moduleExports && freeGlobal.process; - - /** Used to access faster Node.js helpers. */ - var nodeUtil = (function() { - try { - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} - }()); - - /* Node.js helper references. */ - var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, - nodeIsDate = nodeUtil && nodeUtil.isDate, - nodeIsMap = nodeUtil && nodeUtil.isMap, - nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, - nodeIsSet = nodeUtil && nodeUtil.isSet, - nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - - /*--------------------------------------------------------------------------*/ - - /** - * Adds the key-value `pair` to `map`. - * - * @private - * @param {Object} map The map to modify. - * @param {Array} pair The key-value pair to add. - * @returns {Object} Returns `map`. - */ - function addMapEntry(map, pair) { - // Don't return `map.set` because it's not chainable in IE 11. - map.set(pair[0], pair[1]); - return map; - } - - /** - * Adds `value` to `set`. - * - * @private - * @param {Object} set The set to modify. - * @param {*} value The value to add. - * @returns {Object} Returns `set`. - */ - function addSetEntry(set, value) { - // Don't return `set.add` because it's not chainable in IE 11. - set.add(value); - return set; - } - - /** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ - function apply(func, thisArg, args) { - switch (args.length) { - case 0: return func.call(thisArg); - case 1: return func.call(thisArg, args[0]); - case 2: return func.call(thisArg, args[0], args[1]); - case 3: return func.call(thisArg, args[0], args[1], args[2]); - } - return func.apply(thisArg, args); - } - - /** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; - } - - /** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEach(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.forEachRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEachRight(array, iteratee) { - var length = array == null ? 0 : array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.every` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ - function arrayEvery(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - - /** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; - return !!length && baseIndexOf(array, value, 0) > -1; - } - - /** - * This function is like `arrayIncludes` except that it accepts a comparator. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludesWith(array, value, comparator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (comparator(value, array[index])) { - return true; - } - } - return false; - } - - /** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; - } - - /** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, - length = array == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - - /** - * A specialized version of `_.reduceRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the last element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduceRight(array, iteratee, accumulator, initAccum) { - var length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; - } - - /** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; - } - - /** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - var asciiSize = baseProperty('length'); - - /** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function asciiToArray(string) { - return string.split(''); - } - - /** - * Splits an ASCII `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function asciiWords(string) { - return string.match(reAsciiWord) || []; - } - - /** - * The base implementation of methods like `_.findKey` and `_.findLastKey`, - * without support for iteratee shorthands, which iterates over `collection` - * using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the found element or its key, else `undefined`. - */ - function baseFindKey(collection, predicate, eachFunc) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = key; - return false; - } - }); - return result; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); - } - - /** - * This function is like `baseIndexOf` except that it accepts a comparator. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @param {Function} comparator The comparator invoked per element. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOfWith(array, value, fromIndex, comparator) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (comparator(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ - function baseIsNaN(value) { - return value !== value; - } - - /** - * The base implementation of `_.mean` and `_.meanBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the mean. - */ - function baseMean(array, iteratee) { - var length = array == null ? 0 : array.length; - return length ? (baseSum(array, iteratee) / length) : NAN; - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.sortBy` which uses `comparer` to define the - * sort order of `array` and replaces criteria objects with their corresponding - * values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ - function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; - } - - /** - * The base implementation of `_.sum` and `_.sumBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function baseSum(array, iteratee) { - var result, - index = -1, - length = array.length; - - while (++index < length) { - var current = iteratee(array[index]); - if (current !== undefined) { - result = result === undefined ? current : (result + current); - } - } - return result; - } - - /** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ - function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; - } - - /** - * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array - * of key-value pairs for `object` corresponding to the property names of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the key-value pairs. - */ - function baseToPairs(object, props) { - return arrayMap(props, function(key) { - return [key, object[key]]; - }); - } - - /** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ - function baseUnary(func) { - return function(value) { - return func(value); - }; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); - } - - /** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function cacheHas(cache, key) { - return cache.has(key); - } - - /** - * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the first unmatched string symbol. - */ - function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, - length = strSymbols.length; - - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the last unmatched string symbol. - */ - function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Gets the number of `placeholder` occurrences in `array`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} placeholder The placeholder to search for. - * @returns {number} Returns the placeholder count. - */ - function countHolders(array, placeholder) { - var length = array.length, - result = 0; - - while (length--) { - if (array[length] === placeholder) { - ++result; - } - } - return result; - } - - /** - * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A - * letters to basic Latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ - var deburrLetter = basePropertyOf(deburredLetters); - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - var escapeHtmlChar = basePropertyOf(htmlEscapes); - - /** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; - } - - /** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function getValue(object, key) { - return object == null ? undefined : object[key]; - } - - /** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ - function hasUnicode(string) { - return reHasUnicode.test(string); - } - - /** - * Checks if `string` contains a word composed of Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a word is found, else `false`. - */ - function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); - } - - /** - * Converts `iterator` to an array. - * - * @private - * @param {Object} iterator The iterator to convert. - * @returns {Array} Returns the converted array. - */ - function iteratorToArray(iterator) { - var data, - result = []; - - while (!(data = iterator.next()).done) { - result.push(data.value); - } - return result; - } - - /** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ - function mapToArray(map) { - var index = -1, - result = Array(map.size); - - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; - } - - /** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - - /** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ - function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value === placeholder || value === PLACEHOLDER) { - array[index] = PLACEHOLDER; - result[resIndex++] = index; - } - } - return result; - } - - /** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ - function setToArray(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = value; - }); - return result; - } - - /** - * Converts `set` to its value-value pairs. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the value-value pairs. - */ - function setToPairs(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; - } - - /** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * A specialized version of `_.lastIndexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictLastIndexOf(array, value, fromIndex) { - var index = fromIndex + 1; - while (index--) { - if (array[index] === value) { - return index; - } - } - return index; - } - - /** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */ - function stringSize(string) { - return hasUnicode(string) - ? unicodeSize(string) - : asciiSize(string); - } - - /** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); - } - - /** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ - var unescapeHtmlChar = basePropertyOf(htmlUnescapes); - - /** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - ++result; - } - return result; - } - - /** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function unicodeToArray(string) { - return string.match(reUnicode) || []; - } - - /** - * Splits a Unicode `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function unicodeWords(string) { - return string.match(reUnicodeWord) || []; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Create a new pristine `lodash` function using the `context` object. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Util - * @param {Object} [context=root] The context object. - * @returns {Function} Returns a new `lodash` function. - * @example - * - * _.mixin({ 'foo': _.constant('foo') }); - * - * var lodash = _.runInContext(); - * lodash.mixin({ 'bar': lodash.constant('bar') }); - * - * _.isFunction(_.foo); - * // => true - * _.isFunction(_.bar); - * // => false - * - * lodash.isFunction(lodash.foo); - * // => false - * lodash.isFunction(lodash.bar); - * // => true - * - * // Create a suped-up `defer` in Node.js. - * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; - */ - var runInContext = (function runInContext(context) { - context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); - - /** Built-in constructor references. */ - var Array = context.Array, - Date = context.Date, - Error = context.Error, - Function = context.Function, - Math = context.Math, - Object = context.Object, - RegExp = context.RegExp, - String = context.String, - TypeError = context.TypeError; - - /** Used for built-in method references. */ - var arrayProto = Array.prototype, - funcProto = Function.prototype, - objectProto = Object.prototype; - - /** Used to detect overreaching core-js shims. */ - var coreJsData = context['__core-js_shared__']; - - /** Used to resolve the decompiled source of functions. */ - var funcToString = funcProto.toString; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** Used to detect methods masquerading as native. */ - var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; - }()); - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** Used to infer the `Object` constructor. */ - var objectCtorString = funcToString.call(Object); - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Used to detect if a method is native. */ - var reIsNative = RegExp('^' + - funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' - ); - - /** Built-in value references. */ - var Buffer = moduleExports ? context.Buffer : undefined, - Symbol = context.Symbol, - Uint8Array = context.Uint8Array, - allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, - getPrototype = overArg(Object.getPrototypeOf, Object), - objectCreate = Object.create, - propertyIsEnumerable = objectProto.propertyIsEnumerable, - splice = arrayProto.splice, - spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, - symIterator = Symbol ? Symbol.iterator : undefined, - symToStringTag = Symbol ? Symbol.toStringTag : undefined; - - var defineProperty = (function() { - try { - var func = getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} - }()); - - /** Mocked built-ins. */ - var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, - ctxNow = Date && Date.now !== root.Date.now && Date.now, - ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, - nativeFloor = Math.floor, - nativeGetSymbols = Object.getOwnPropertySymbols, - nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, - nativeIsFinite = context.isFinite, - nativeJoin = arrayProto.join, - nativeKeys = overArg(Object.keys, Object), - nativeMax = Math.max, - nativeMin = Math.min, - nativeNow = Date.now, - nativeParseInt = context.parseInt, - nativeRandom = Math.random, - nativeReverse = arrayProto.reverse; - - /* Built-in method references that are verified to be native. */ - var DataView = getNative(context, 'DataView'), - Map = getNative(context, 'Map'), - Promise = getNative(context, 'Promise'), - Set = getNative(context, 'Set'), - WeakMap = getNative(context, 'WeakMap'), - nativeCreate = getNative(Object, 'create'); - - /** Used to store function metadata. */ - var metaMap = WeakMap && new WeakMap; - - /** Used to lookup unminified function names. */ - var realNames = {}; - - /** Used to detect maps, sets, and weakmaps. */ - var dataViewCtorString = toSource(DataView), - mapCtorString = toSource(Map), - promiseCtorString = toSource(Promise), - setCtorString = toSource(Set), - weakMapCtorString = toSource(WeakMap); - - /** Used to convert symbols to primitives and strings. */ - var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit method - * chain sequences. Methods that operate on and return arrays, collections, - * and functions can be chained together. Methods that retrieve a single value - * or may return a primitive value will automatically end the chain sequence - * and return the unwrapped value. Otherwise, the value must be unwrapped - * with `_#value`. - * - * Explicit chain sequences, which must be unwrapped with `_#value`, may be - * enabled using `_.chain`. - * - * The execution of chained methods is lazy, that is, it's deferred until - * `_#value` is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. - * Shortcut fusion is an optimization to merge iteratee calls; this avoids - * the creation of intermediate arrays and can greatly reduce the number of - * iteratee executions. Sections of a chain sequence qualify for shortcut - * fusion if the section is applied to an array and iteratees accept only - * one argument. The heuristic for whether a section qualifies for shortcut - * fusion is subject to change. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, - * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, - * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, - * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, - * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, - * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, - * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, - * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, - * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, - * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, - * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, - * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, - * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, - * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, - * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, - * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, - * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, - * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, - * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, - * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, - * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, - * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, - * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, - * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, - * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, - * `zipObject`, `zipObjectDeep`, and `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, - * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, - * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, - * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, - * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, - * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, - * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, - * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, - * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, - * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, - * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, - * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, - * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, - * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, - * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, - * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, - * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, - * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, - * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, - * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, - * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, - * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, - * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, - * `upperFirst`, `value`, and `words` - * - * @name _ - * @constructor - * @category Seq - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2, 3]); - * - * // Returns an unwrapped value. - * wrapped.reduce(_.add); - * // => 6 - * - * // Returns a wrapped value. - * var squares = wrapped.map(square); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { - if (value instanceof LodashWrapper) { - return value; - } - if (hasOwnProperty.call(value, '__wrapped__')) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; - }()); - - /** - * The function whose prototype chain sequence wrappers inherit from. - * - * @private - */ - function baseLodash() { - // No operation performed. - } - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ - function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - this.__index__ = 0; - this.__values__ = undefined; - } - - /** - * By default, the template delimiters used by lodash are like those in - * embedded Ruby (ERB) as well as ES2015 template strings. Change the - * following template settings to use alternative delimiters. - * - * @static - * @memberOf _ - * @type {Object} - */ - lodash.templateSettings = { - - /** - * Used to detect `data` property values to be HTML-escaped. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'escape': reEscape, - - /** - * Used to detect code to be evaluated. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'evaluate': reEvaluate, - - /** - * Used to detect `data` property values to inject. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'interpolate': reInterpolate, - - /** - * Used to reference the data object in the template text. - * - * @memberOf _.templateSettings - * @type {string} - */ - 'variable': '', - - /** - * Used to import variables into the compiled template. - * - * @memberOf _.templateSettings - * @type {Object} - */ - 'imports': { - - /** - * A reference to the `lodash` function. - * - * @memberOf _.templateSettings.imports - * @type {Function} - */ - '_': lodash - } - }; - - // Ensure wrappers are instances of `baseLodash`. - lodash.prototype = baseLodash.prototype; - lodash.prototype.constructor = lodash; - - LodashWrapper.prototype = baseCreate(baseLodash.prototype); - LodashWrapper.prototype.constructor = LodashWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @constructor - * @param {*} value The value to wrap. - */ - function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = MAX_ARRAY_LENGTH; - this.__views__ = []; - } - - /** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ - function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = copyArray(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = copyArray(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = copyArray(this.__views__); - return result; - } - - /** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ - function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; - } - - /** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ - function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : (start - 1), - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if (!isArr || (!isRight && arrLength == length && takeCount == length)) { - return baseWrapperValue(array, this.__actions__); - } - var result = []; - - outer: - while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; - } - - // Ensure `LazyWrapper` is an instance of `baseLodash`. - LazyWrapper.prototype = baseCreate(baseLodash.prototype); - LazyWrapper.prototype.constructor = LazyWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ - function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; - } - - /** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - return hasOwnProperty.call(data, key) ? data[key] : undefined; - } - - /** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function hashHas(key) { - var data = this.__data__; - return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); - } - - /** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ - function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; - } - - // Add methods to `Hash`. - Hash.prototype.clear = hashClear; - Hash.prototype['delete'] = hashDelete; - Hash.prototype.get = hashGet; - Hash.prototype.has = hashHas; - Hash.prototype.set = hashSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ - function listCacheClear() { - this.__data__ = []; - this.size = 0; - } - - /** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; - } - - /** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; - } - - /** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; - } - - /** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ - function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; - } - - // Add methods to `ListCache`. - ListCache.prototype.clear = listCacheClear; - ListCache.prototype['delete'] = listCacheDelete; - ListCache.prototype.get = listCacheGet; - ListCache.prototype.has = listCacheHas; - ListCache.prototype.set = listCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ - function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new Hash, - 'map': new (Map || ListCache), - 'string': new Hash - }; - } - - /** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function mapCacheDelete(key) { - var result = getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function mapCacheGet(key) { - return getMapData(this, key).get(key); - } - - /** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function mapCacheHas(key) { - return getMapData(this, key).has(key); - } - - /** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ - function mapCacheSet(key, value) { - var data = getMapData(this, key), - size = data.size; - - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; - } - - // Add methods to `MapCache`. - MapCache.prototype.clear = mapCacheClear; - MapCache.prototype['delete'] = mapCacheDelete; - MapCache.prototype.get = mapCacheGet; - MapCache.prototype.has = mapCacheHas; - MapCache.prototype.set = mapCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ - function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - - this.__data__ = new MapCache; - while (++index < length) { - this.add(values[index]); - } - } - - /** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ - function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; - } - - /** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ - function setCacheHas(value) { - return this.__data__.has(value); - } - - // Add methods to `SetCache`. - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; - SetCache.prototype.has = setCacheHas; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; - } - - /** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ - function stackClear() { - this.__data__ = new ListCache; - this.size = 0; - } - - /** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - - this.size = data.size; - return result; - } - - /** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function stackGet(key) { - return this.__data__.get(key); - } - - /** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function stackHas(key) { - return this.__data__.has(key); - } - - /** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ - function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; - } - - // Add methods to `Stack`. - Stack.prototype.clear = stackClear; - Stack.prototype['delete'] = stackDelete; - Stack.prototype.get = stackGet; - Stack.prototype.has = stackHas; - Stack.prototype.set = stackSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ - function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { - result.push(key); - } - } - return result; - } - - /** - * A specialized version of `_.sample` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @returns {*} Returns the random element. - */ - function arraySample(array) { - var length = array.length; - return length ? array[baseRandom(0, length - 1)] : undefined; - } - - /** - * A specialized version of `_.sampleSize` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); - } - - /** - * A specialized version of `_.shuffle` for arrays. - * - * @private - * @param {Array} array The array to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function arrayShuffle(array) { - return shuffleSelf(copyArray(array)); - } - - /** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignMergeValue(object, key, value) { - if ((value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; - } - - /** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function baseAggregator(collection, setter, iteratee, accumulator) { - baseEach(collection, function(value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssign(object, source) { - return object && copyObject(source, keys(source), object); - } - - /** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssignIn(object, source) { - return object && copyObject(source, keysIn(source), object); - } - - /** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function baseAssignValue(object, key, value) { - if (key == '__proto__' && defineProperty) { - defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } - } - - /** - * The base implementation of `_.at` without support for individual paths. - * - * @private - * @param {Object} object The object to iterate over. - * @param {string[]} paths The property paths to pick. - * @returns {Array} Returns the picked elements. - */ - function baseAt(object, paths) { - var index = -1, - length = paths.length, - result = Array(length), - skip = object == null; - - while (++index < length) { - result[index] = skip ? undefined : get(object, paths[index]); - } - return result; - } - - /** - * The base implementation of `_.clamp` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - */ - function baseClamp(number, lower, upper) { - if (number === number) { - if (upper !== undefined) { - number = number <= upper ? number : upper; - } - if (lower !== undefined) { - number = number >= lower ? number : lower; - } - } - return number; - } - - /** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */ - function baseClone(value, bitmask, customizer, key, object, stack) { - var result, - isDeep = bitmask & CLONE_DEEP_FLAG, - isFlat = bitmask & CLONE_FLAT_FLAG, - isFull = bitmask & CLONE_SYMBOLS_FLAG; - - if (customizer) { - result = object ? customizer(value, key, object, stack) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result); - } - } else { - var tag = getTag(value), - isFunc = tag == funcTag || tag == genTag; - - if (isBuffer(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = (isFlat || isFunc) ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat - ? copySymbolsIn(value, baseAssignIn(result, value)) - : copySymbols(value, baseAssign(result, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result = initCloneByTag(value, tag, baseClone, isDeep); - } - } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); - var stacked = stack.get(value); - if (stacked) { - return stacked; - } - stack.set(value, result); - - var keysFunc = isFull - ? (isFlat ? getAllKeysIn : getAllKeys) - : (isFlat ? keysIn : keys); - - var props = isArr ? undefined : keysFunc(value); - arrayEach(props || value, function(subValue, key) { - if (props) { - key = subValue; - subValue = value[key]; - } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - return result; - } - - /** - * The base implementation of `_.conforms` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - */ - function baseConforms(source) { - var props = keys(source); - return function(object) { - return baseConformsTo(object, source, props); - }; - } - - /** - * The base implementation of `_.conformsTo` which accepts `props` to check. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - */ - function baseConformsTo(object, source, props) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length], - predicate = source[key], - value = object[key]; - - if ((value === undefined && !(key in object)) || !predicate(value)) { - return false; - } - } - return true; - } - - /** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * The base implementation of methods like `_.difference` without support - * for excluding multiple arrays or iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - */ - function baseDifference(array, values, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - isCommon = true, - length = array.length, - result = [], - valuesLength = values.length; - - if (!length) { - return result; - } - if (iteratee) { - values = arrayMap(values, baseUnary(iteratee)); - } - if (comparator) { - includes = arrayIncludesWith; - isCommon = false; - } - else if (values.length >= LARGE_ARRAY_SIZE) { - includes = cacheHas; - isCommon = false; - values = new SetCache(values); - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee == null ? value : iteratee(value); - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === computed) { - continue outer; - } - } - result.push(value); - } - else if (!includes(values, computed, comparator)) { - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.forEachRight` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEachRight = createBaseEach(baseForOwnRight, true); - - /** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !isSymbol(current)) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; - } - - /** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ - function baseFill(array, value, start, end) { - var length = array.length; - - start = toInteger(start); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : toInteger(end); - if (end < 0) { - end += length; - } - end = start > end ? 0 : toLength(end); - while (start < end) { - array[start++] = value; - } - return array; - } - - /** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseForRight = createBaseFor(true); - - /** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.forOwnRight` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwnRight(object, iteratee) { - return object && baseForRight(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ - function baseFunctions(object, props) { - return arrayFilter(props, function(key) { - return isFunction(object[key]); - }); - } - - /** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ - function baseGet(object, path) { - path = castPath(path, object); - - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return (index && index == length) ? object : undefined; - } - - /** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ - function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); - } - - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); - } - - /** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ - function baseGt(value, other) { - return value > other; - } - - /** - * The base implementation of `_.has` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHas(object, key) { - return object != null && hasOwnProperty.call(object, key); - } - - /** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHasIn(object, key) { - return object != null && key in Object(object); - } - - /** - * The base implementation of `_.inRange` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to check. - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - */ - function baseInRange(number, start, end) { - return number >= nativeMin(start, end) && number < nativeMax(start, end); - } - - /** - * The base implementation of methods like `_.intersection`, without support - * for iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of shared values. - */ - function baseIntersection(arrays, iteratee, comparator) { - var includes = comparator ? arrayIncludesWith : arrayIncludes, - length = arrays[0].length, - othLength = arrays.length, - othIndex = othLength, - caches = Array(othLength), - maxLength = Infinity, - result = []; - - while (othIndex--) { - var array = arrays[othIndex]; - if (othIndex && iteratee) { - array = arrayMap(array, baseUnary(iteratee)); - } - maxLength = nativeMin(array.length, maxLength); - caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) - ? new SetCache(othIndex && array) - : undefined; - } - array = arrays[0]; - - var index = -1, - seen = caches[0]; - - outer: - while (++index < length && result.length < maxLength) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (!(seen - ? cacheHas(seen, computed) - : includes(result, computed, comparator) - )) { - othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if (!(cache - ? cacheHas(cache, computed) - : includes(arrays[othIndex], computed, comparator)) - ) { - continue outer; - } - } - if (seen) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.invert` and `_.invertBy` which inverts - * `object` with values transformed by `iteratee` and set by `setter`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform values. - * @param {Object} accumulator The initial inverted object. - * @returns {Function} Returns `accumulator`. - */ - function baseInverter(object, setter, iteratee, accumulator) { - baseForOwn(object, function(value, key, object) { - setter(accumulator, iteratee(value), key, object); - }); - return accumulator; - } - - /** - * The base implementation of `_.invoke` without support for individual - * method arguments. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ - function baseInvoke(object, path, args) { - path = castPath(path, object); - object = parent(object, path); - var func = object == null ? object : object[toKey(last(path))]; - return func == null ? undefined : apply(func, object, args); - } - - /** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; - } - - /** - * The base implementation of `_.isArrayBuffer` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - */ - function baseIsArrayBuffer(value) { - return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; - } - - /** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ - function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; - } - - /** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : getTag(object), - othTag = othIsArr ? arrayTag : getTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack); - return (objIsArr || isTypedArray(object)) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - stack || (stack = new Stack); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); - } - - /** - * The base implementation of `_.isMap` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - */ - function baseIsMap(value) { - return isObjectLike(value) && getTag(value) == mapTag; - } - - /** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new Stack; - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - if (!(result === undefined - ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) - : result - )) { - return false; - } - } - } - return true; - } - - /** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ - function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); - } - - /** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ - function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; - } - - /** - * The base implementation of `_.isSet` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - */ - function baseIsSet(value) { - return isObjectLike(value) && getTag(value) == setTag; - } - - /** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ - function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; - } - - /** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == 'object') { - return isArray(value) - ? baseMatchesProperty(value[0], value[1]) - : baseMatches(value); - } - return property(value); - } - - /** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty.call(object, key) && key != 'constructor') { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ - function baseLt(value, other) { - return value < other; - } - - /** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; - } - - /** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return (objValue === undefined && objValue === srcValue) - ? hasIn(object, path) - : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; - } - - /** - * The base implementation of `_.merge` without support for multiple sources. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {number} srcIndex The index of `source`. - * @param {Function} [customizer] The function to customize merged values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMerge(object, source, srcIndex, customizer, stack) { - if (object === source) { - return; - } - baseFor(source, function(srcValue, key) { - if (isObject(srcValue)) { - stack || (stack = new Stack); - baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); - } - else { - var newValue = customizer - ? customizer(object[key], srcValue, (key + ''), object, source, stack) - : undefined; - - if (newValue === undefined) { - newValue = srcValue; - } - assignMergeValue(object, key, newValue); - } - }, keysIn); - } - - /** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {number} srcIndex The index of `source`. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize assigned values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = object[key], - srcValue = source[key], - stacked = stack.get(srcValue); - - if (stacked) { - assignMergeValue(object, key, stacked); - return; - } - var newValue = customizer - ? customizer(objValue, srcValue, (key + ''), object, source, stack) - : undefined; - - var isCommon = newValue === undefined; - - if (isCommon) { - var isArr = isArray(srcValue), - isBuff = !isArr && isBuffer(srcValue), - isTyped = !isArr && !isBuff && isTypedArray(srcValue); - - newValue = srcValue; - if (isArr || isBuff || isTyped) { - if (isArray(objValue)) { - newValue = objValue; - } - else if (isArrayLikeObject(objValue)) { - newValue = copyArray(objValue); - } - else if (isBuff) { - isCommon = false; - newValue = cloneBuffer(srcValue, true); - } - else if (isTyped) { - isCommon = false; - newValue = cloneTypedArray(srcValue, true); - } - else { - newValue = []; - } - } - else if (isPlainObject(srcValue) || isArguments(srcValue)) { - newValue = objValue; - if (isArguments(objValue)) { - newValue = toPlainObject(objValue); - } - else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { - newValue = initCloneObject(srcValue); - } - } - else { - isCommon = false; - } - } - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, newValue); - mergeFunc(newValue, srcValue, srcIndex, customizer, stack); - stack['delete'](srcValue); - } - assignMergeValue(object, key, newValue); - } - - /** - * The base implementation of `_.nth` which doesn't coerce arguments. - * - * @private - * @param {Array} array The array to query. - * @param {number} n The index of the element to return. - * @returns {*} Returns the nth element of `array`. - */ - function baseNth(array, n) { - var length = array.length; - if (!length) { - return; - } - n += n < 0 ? length : 0; - return isIndex(n, length) ? array[n] : undefined; - } - - /** - * The base implementation of `_.orderBy` without param guards. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {string[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ - function baseOrderBy(collection, iteratees, orders) { - var index = -1; - iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee())); - - var result = baseMap(collection, function(value, key, collection) { - var criteria = arrayMap(iteratees, function(iteratee) { - return iteratee(value); - }); - return { 'criteria': criteria, 'index': ++index, 'value': value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); - } - - /** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - function basePick(object, paths) { - return basePickBy(object, paths, function(value, path) { - return hasIn(object, path); - }); - } - - /** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ - function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = baseGet(object, path); - - if (predicate(value, path)) { - baseSet(result, castPath(path, object), value); - } - } - return result; - } - - /** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; - } - - /** - * The base implementation of `_.pullAllBy` without support for iteratee - * shorthands. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - */ - function basePullAll(array, values, iteratee, comparator) { - var indexOf = comparator ? baseIndexOfWith : baseIndexOf, - index = -1, - length = values.length, - seen = array; - - if (array === values) { - values = copyArray(values); - } - if (iteratee) { - seen = arrayMap(array, baseUnary(iteratee)); - } - while (++index < length) { - var fromIndex = 0, - value = values[index], - computed = iteratee ? iteratee(value) : value; - - while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { - if (seen !== array) { - splice.call(seen, fromIndex, 1); - } - splice.call(array, fromIndex, 1); - } - } - return array; - } - - /** - * The base implementation of `_.pullAt` without support for individual - * indexes or capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ - function basePullAt(array, indexes) { - var length = array ? indexes.length : 0, - lastIndex = length - 1; - - while (length--) { - var index = indexes[length]; - if (length == lastIndex || index !== previous) { - var previous = index; - if (isIndex(index)) { - splice.call(array, index, 1); - } else { - baseUnset(array, index); - } - } - } - return array; - } - - /** - * The base implementation of `_.random` without support for returning - * floating-point numbers. - * - * @private - * @param {number} lower The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the random number. - */ - function baseRandom(lower, upper) { - return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); - } - - /** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */ - function baseRange(start, end, step, fromRight) { - var index = -1, - length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), - result = Array(length); - - while (length--) { - result[fromRight ? length : ++index] = start; - start += step; - } - return result; - } - - /** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ - function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); - - return result; - } - - /** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ - function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); - } - - /** - * The base implementation of `_.sample`. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - */ - function baseSample(collection) { - return arraySample(values(collection)); - } - - /** - * The base implementation of `_.sampleSize` without param guards. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function baseSampleSize(collection, n) { - var array = values(collection); - return shuffleSelf(array, baseClamp(n, 0, array.length)); - } - - /** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = castPath(path, object); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; - } - - /** - * The base implementation of `setData` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; - }; - - /** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant(string), - 'writable': true - }); - }; - - /** - * The base implementation of `_.shuffle`. - * - * @private - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function baseShuffle(collection) { - return shuffleSelf(values(collection)); - } - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which - * performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndex(array, value, retHighest) { - var low = 0, - high = array == null ? low : array.length; - - if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if (computed !== null && !isSymbol(computed) && - (retHighest ? (computed <= value) : (computed < value))) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return baseSortedIndexBy(array, value, identity, retHighest); - } - - /** - * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` - * which invokes `iteratee` for `value` and each element of `array` to compute - * their sort ranking. The iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The iteratee invoked per element. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - - var low = 0, - high = array == null ? 0 : array.length, - valIsNaN = value !== value, - valIsNull = value === null, - valIsSymbol = isSymbol(value), - valIsUndefined = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - othIsDefined = computed !== undefined, - othIsNull = computed === null, - othIsReflexive = computed === computed, - othIsSymbol = isSymbol(computed); - - if (valIsNaN) { - var setLow = retHighest || othIsReflexive; - } else if (valIsUndefined) { - setLow = othIsReflexive && (retHighest || othIsDefined); - } else if (valIsNull) { - setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); - } else if (valIsSymbol) { - setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); - } else if (othIsNull || othIsSymbol) { - setLow = false; - } else { - setLow = retHighest ? (computed <= value) : (computed < value); - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); - } - - /** - * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseSortedUniq(array, iteratee) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - if (!index || !eq(computed, seen)) { - var seen = computed; - result[resIndex++] = value === 0 ? 0 : value; - } - } - return result; - } - - /** - * The base implementation of `_.toNumber` which doesn't ensure correct - * conversions of binary, hexadecimal, or octal string values. - * - * @private - * @param {*} value The value to process. - * @returns {number} Returns the number. - */ - function baseToNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - return +value; - } - - /** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * The base implementation of `_.uniqBy` without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseUniq(array, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - length = array.length, - isCommon = true, - result = [], - seen = result; - - if (comparator) { - isCommon = false; - includes = arrayIncludesWith; - } - else if (length >= LARGE_ARRAY_SIZE) { - var set = iteratee ? null : createSet(array); - if (set) { - return setToArray(set); - } - isCommon = false; - includes = cacheHas; - seen = new SetCache; - } - else { - seen = iteratee ? [] : result; - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } - else if (!includes(seen, computed, comparator)) { - if (seen !== result) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.unset`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The property path to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - */ - function baseUnset(object, path) { - path = castPath(path, object); - object = parent(object, path); - return object == null || delete object[toKey(last(path))]; - } - - /** - * The base implementation of `_.update`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to update. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseUpdate(object, path, updater, customizer) { - return baseSet(object, path, updater(baseGet(object, path)), customizer); - } - - /** - * The base implementation of methods like `_.dropWhile` and `_.takeWhile` - * without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ - function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length) && - predicate(array[index], index, array)) {} - - return isDrop - ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) - : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - return arrayReduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); - } - - /** - * The base implementation of methods like `_.xor`, without support for - * iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of values. - */ - function baseXor(arrays, iteratee, comparator) { - var length = arrays.length; - if (length < 2) { - return length ? baseUniq(arrays[0]) : []; - } - var index = -1, - result = Array(length); - - while (++index < length) { - var array = arrays[index], - othIndex = -1; - - while (++othIndex < length) { - if (othIndex != index) { - result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); - } - } - } - return baseUniq(baseFlatten(result, 1), iteratee, comparator); - } - - /** - * This base implementation of `_.zipObject` which assigns values using `assignFunc`. - * - * @private - * @param {Array} props The property identifiers. - * @param {Array} values The property values. - * @param {Function} assignFunc The function to assign values. - * @returns {Object} Returns the new object. - */ - function baseZipObject(props, values, assignFunc) { - var index = -1, - length = props.length, - valsLength = values.length, - result = {}; - - while (++index < length) { - var value = index < valsLength ? values[index] : undefined; - assignFunc(result, props[index], value); - } - return result; - } - - /** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ - function castArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; - } - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function castFunction(value) { - return typeof value == 'function' ? value : identity; - } - - /** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ - function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); - } - - /** - * A `baseRest` alias which can be replaced with `identity` by module - * replacement plugins. - * - * @private - * @type {Function} - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - var castRest = baseRest; - - /** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ - function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return (!start && end >= length) ? array : baseSlice(array, start, end); - } - - /** - * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). - * - * @private - * @param {number|Object} id The timer id or timeout object of the timer to clear. - */ - var clearTimeout = ctxClearTimeout || function(id) { - return root.clearTimeout(id); - }; - - /** - * Creates a clone of `buffer`. - * - * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. - */ - function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); - } - var length = buffer.length, - result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - - buffer.copy(result); - return result; - } - - /** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ - function cloneArrayBuffer(arrayBuffer) { - var result = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array(result).set(new Uint8Array(arrayBuffer)); - return result; - } - - /** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */ - function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); - } - - /** - * Creates a clone of `map`. - * - * @private - * @param {Object} map The map to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned map. - */ - function cloneMap(map, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map); - return arrayReduce(array, addMapEntry, new map.constructor); - } - - /** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */ - function cloneRegExp(regexp) { - var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result.lastIndex = regexp.lastIndex; - return result; - } - - /** - * Creates a clone of `set`. - * - * @private - * @param {Object} set The set to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned set. - */ - function cloneSet(set, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set); - return arrayReduce(array, addSetEntry, new set.constructor); - } - - /** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */ - function cloneSymbol(symbol) { - return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; - } - - /** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */ - function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); - } - - /** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = isSymbol(value); - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = isSymbol(other); - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; - } - - /** - * Used by `_.orderBy` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, - * specify an order of "desc" for descending or "asc" for ascending sort order - * of corresponding values. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]|string[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = compareAscending(objCriteria[index], othCriteria[index]); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * (order == 'desc' ? -1 : 1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; - } - - /** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgs(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersLength = holders.length, - leftIndex = -1, - leftLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(leftLength + rangeLength), - isUncurried = !isCurried; - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - } - while (rangeLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; - } - - /** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgsRight(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersIndex = -1, - holdersLength = holders.length, - rightIndex = -1, - rightLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(rangeLength + rightLength), - isUncurried = !isCurried; - - while (++argsIndex < rangeLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ - function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; - } - - /** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbols(source, object) { - return copyObject(source, getSymbols(source), object); - } - - /** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbolsIn(source, object) { - return copyObject(source, getSymbolsIn(source), object); - } - - /** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ - function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var func = isArray(collection) ? arrayAggregator : baseAggregator, - accumulator = initializer ? initializer() : {}; - - return func(collection, setter, getIteratee(iteratee, 2), accumulator); - }; - } - - /** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined, - guard = length > 2 ? sources[2] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that wraps `func` to invoke it with the optional `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createBind(func, bitmask, thisArg) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(isBind ? thisArg : this, arguments); - } - return wrapper; - } - - /** - * Creates a function like `_.lowerFirst`. - * - * @private - * @param {string} methodName The name of the `String` case method to use. - * @returns {Function} Returns the new case function. - */ - function createCaseFirst(methodName) { - return function(string) { - string = toString(string); - - var strSymbols = hasUnicode(string) - ? stringToArray(string) - : undefined; - - var chr = strSymbols - ? strSymbols[0] - : string.charAt(0); - - var trailing = strSymbols - ? castSlice(strSymbols, 1).join('') - : string.slice(1); - - return chr[methodName]() + trailing; - }; - } - - /** - * Creates a function like `_.camelCase`. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ - function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: return new Ctor; - case 1: return new Ctor(args[0]); - case 2: return new Ctor(args[0], args[1]); - case 3: return new Ctor(args[0], args[1], args[2]); - case 4: return new Ctor(args[0], args[1], args[2], args[3]); - case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); - case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a function that wraps `func` to enable currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {number} arity The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createCurry(func, bitmask, arity) { - var Ctor = createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length, - placeholder = getHolder(wrapper); - - while (index--) { - args[index] = arguments[index]; - } - var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) - ? [] - : replaceHolders(args, placeholder); - - length -= holders.length; - if (length < arity) { - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, undefined, - args, holders, undefined, undefined, arity - length); - } - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return apply(fn, this, args); - } - return wrapper; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ - function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = getIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; - } - - /** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ - function createFlow(fromRight) { - return flatRest(function(funcs) { - var length = funcs.length, - index = length, - prereq = LodashWrapper.prototype.thru; - - if (fromRight) { - funcs.reverse(); - } - while (index--) { - var func = funcs[index]; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (prereq && !wrapper && getFuncName(func) == 'wrapper') { - var wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? index : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if (data && isLaziable(data[0]) && - data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && - !data[4].length && data[9] == 1 - ) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = (func.length == 1 && isLaziable(func)) - ? wrapper[funcName]() - : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if (wrapper && args.length == 1 && isArray(value)) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }); - } - - /** - * Creates a function that wraps `func` to invoke it with optional `this` - * binding of `thisArg`, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided - * to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { - var isAry = bitmask & WRAP_ARY_FLAG, - isBind = bitmask & WRAP_BIND_FLAG, - isBindKey = bitmask & WRAP_BIND_KEY_FLAG, - isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), - isFlip = bitmask & WRAP_FLIP_FLAG, - Ctor = isBindKey ? undefined : createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length; - - while (index--) { - args[index] = arguments[index]; - } - if (isCurried) { - var placeholder = getHolder(wrapper), - holdersCount = countHolders(args, placeholder); - } - if (partials) { - args = composeArgs(args, partials, holders, isCurried); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight, isCurried); - } - length -= holdersCount; - if (isCurried && length < arity) { - var newHolders = replaceHolders(args, placeholder); - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, thisArg, - args, newHolders, argPos, ary, arity - length - ); - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - length = args.length; - if (argPos) { - args = reorder(args, argPos); - } else if (isFlip && length > 1) { - args.reverse(); - } - if (isAry && ary < length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtor(fn); - } - return fn.apply(thisBinding, args); - } - return wrapper; - } - - /** - * Creates a function like `_.invertBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} toIteratee The function to resolve iteratees. - * @returns {Function} Returns the new inverter function. - */ - function createInverter(setter, toIteratee) { - return function(object, iteratee) { - return baseInverter(object, setter, toIteratee(iteratee), {}); - }; - } - - /** - * Creates a function that performs a mathematical operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @param {number} [defaultValue] The value used for `undefined` arguments. - * @returns {Function} Returns the new mathematical operation function. - */ - function createMathOperation(operator, defaultValue) { - return function(value, other) { - var result; - if (value === undefined && other === undefined) { - return defaultValue; - } - if (value !== undefined) { - result = value; - } - if (other !== undefined) { - if (result === undefined) { - return other; - } - if (typeof value == 'string' || typeof other == 'string') { - value = baseToString(value); - other = baseToString(other); - } else { - value = baseToNumber(value); - other = baseToNumber(other); - } - result = operator(value, other); - } - return result; - }; - } - - /** - * Creates a function like `_.over`. - * - * @private - * @param {Function} arrayFunc The function to iterate over iteratees. - * @returns {Function} Returns the new over function. - */ - function createOver(arrayFunc) { - return flatRest(function(iteratees) { - iteratees = arrayMap(iteratees, baseUnary(getIteratee())); - return baseRest(function(args) { - var thisArg = this; - return arrayFunc(iteratees, function(iteratee) { - return apply(iteratee, thisArg, args); - }); - }); - }); - } - - /** - * Creates the padding for `string` based on `length`. The `chars` string - * is truncated if the number of characters exceeds `length`. - * - * @private - * @param {number} length The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padding for `string`. - */ - function createPadding(length, chars) { - chars = chars === undefined ? ' ' : baseToString(chars); - - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) - ? castSlice(stringToArray(result), 0, length).join('') - : result.slice(0, length); - } - - /** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ - function createPartial(func, bitmask, thisArg, partials) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return apply(fn, isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * Creates a `_.range` or `_.rangeRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new range function. - */ - function createRange(fromRight) { - return function(start, end, step) { - if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { - end = step = undefined; - } - // Ensure the sign of `-0` is preserved. - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); - return baseRange(start, end, step, fromRight); - }; - } - - /** - * Creates a function that performs a relational operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @returns {Function} Returns the new relational operation function. - */ - function createRelationalOperation(operator) { - return function(value, other) { - if (!(typeof value == 'string' && typeof other == 'string')) { - value = toNumber(value); - other = toNumber(other); - } - return operator(value, other); - }; - } - - /** - * Creates a function that wraps `func` to continue currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {Function} wrapFunc The function to create the `func` wrapper. - * @param {*} placeholder The placeholder value. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { - var isCurry = bitmask & WRAP_CURRY_FLAG, - newHolders = isCurry ? holders : undefined, - newHoldersRight = isCurry ? undefined : holders, - newPartials = isCurry ? partials : undefined, - newPartialsRight = isCurry ? undefined : partials; - - bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); - bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); - - if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { - bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); - } - var newData = [ - func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, - newHoldersRight, argPos, ary, arity - ]; - - var result = wrapFunc.apply(undefined, newData); - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return setWrapToString(result, func, bitmask); - } - - /** - * Creates a function like `_.round`. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ - function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - number = toNumber(number); - precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); - if (precision) { - // Shift with exponential notation to avoid floating-point issues. - // See [MDN](https://mdn.io/round#Examples) for more details. - var pair = (toString(number) + 'e').split('e'), - value = func(pair[0] + 'e' + (+pair[1] + precision)); - - pair = (toString(value) + 'e').split('e'); - return +(pair[0] + 'e' + (+pair[1] - precision)); - } - return func(number); - }; - } - - /** - * Creates a set object of `values`. - * - * @private - * @param {Array} values The values to add to the set. - * @returns {Object} Returns the new set. - */ - var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { - return new Set(values); - }; - - /** - * Creates a `_.toPairs` or `_.toPairsIn` function. - * - * @private - * @param {Function} keysFunc The function to get the keys of a given object. - * @returns {Function} Returns the new pairs function. - */ - function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; - } - - /** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * 512 - `_.flip` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { - var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); - arity = arity === undefined ? arity : toInteger(arity); - length -= holders ? holders.length : 0; - - if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func); - - var newData = [ - func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, - argPos, ary, arity - ]; - - if (data) { - mergeData(newData, data); - } - func = newData[0]; - bitmask = newData[1]; - thisArg = newData[2]; - partials = newData[3]; - holders = newData[4]; - arity = newData[9] = newData[9] === undefined - ? (isBindKey ? 0 : func.length) - : nativeMax(newData[9] - length, 0); - - if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { - bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); - } - if (!bitmask || bitmask == WRAP_BIND_FLAG) { - var result = createBind(func, bitmask, thisArg); - } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { - result = createCurry(func, bitmask, arity); - } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { - result = createPartial(func, bitmask, thisArg, partials); - } else { - result = createHybrid.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setWrapToString(setter(result, newData), func, bitmask); - } - - /** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ - function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; - } - - /** - * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source - * objects into destination objects that are passed thru. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to merge. - * @param {Object} object The parent object of `objValue`. - * @param {Object} source The parent object of `srcValue`. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - * @returns {*} Returns the value to assign. - */ - function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { - if (isObject(objValue) && isObject(srcValue)) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, objValue); - baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); - stack['delete'](srcValue); - } - return objValue; - } - - /** - * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain - * objects. - * - * @private - * @param {*} value The value to inspect. - * @param {string} key The key of the property to inspect. - * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. - */ - function customOmitClone(value) { - return isPlainObject(value) ? undefined : value; - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(array); - if (stacked && stack.get(other)) { - return stacked == other; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; - - stack.set(array, other); - stack.set(other, array); - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, arrValue, index, other, array, stack) - : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!arraySome(other, function(othValue, othIndex) { - if (!cacheHas(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - stack['delete'](array); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if ((object.byteLength != other.byteLength) || - (object.byteOffset != other.byteOffset)) { - return false; - } - object = object.buffer; - other = other.buffer; - - case arrayBufferTag: - if ((object.byteLength != other.byteLength) || - !equalFunc(new Uint8Array(object), new Uint8Array(other))) { - return false; - } - return true; - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - case mapTag: - var convert = mapToArray; - - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; - convert || (convert = setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG; - - // Recursively compare objects (susceptible to call stack limits). - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = getAllKeys(object), - objLength = objProps.length, - othProps = getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked && stack.get(other)) { - return stacked == other; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, objValue, key, other, object, stack) - : customizer(objValue, othValue, key, object, other, stack); - } - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - stack['delete'](object); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); - } - - /** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); - } - - /** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); - } - - /** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ - var getData = !metaMap ? noop : function(func) { - return metaMap.get(func); - }; - - /** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ - function getFuncName(func) { - var result = (func.name + ''), - array = realNames[result], - length = hasOwnProperty.call(realNames, result) ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; - } - - /** - * Gets the argument placeholder value for `func`. - * - * @private - * @param {Function} func The function to inspect. - * @returns {*} Returns the placeholder value. - */ - function getHolder(func) { - var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; - return object.placeholder; - } - - /** - * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, - * this function returns the custom method, otherwise it returns `baseIteratee`. - * If arguments are provided, the chosen function is invoked with them and - * its result is returned. - * - * @private - * @param {*} [value] The value to convert to an iteratee. - * @param {number} [arity] The arity of the created iteratee. - * @returns {Function} Returns the chosen function or its result. - */ - function getIteratee() { - var result = lodash.iteratee || iteratee; - result = result === iteratee ? baseIteratee : result; - return arguments.length ? result(arguments[0], arguments[1]) : result; - } - - /** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ - function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; - } - - /** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - function getMatchData(object) { - var result = keys(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - - result[length] = [key, value, isStrictComparable(value)]; - } - return result; - } - - /** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined; - } - - /** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; - } - - /** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); - }; - - /** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result = []; - while (object) { - arrayPush(result, getSymbols(object)); - object = getPrototype(object); - } - return result; - }; - - /** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - var getTag = baseGetTag; - - // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. - if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || - (Map && getTag(new Map) != mapTag) || - (Promise && getTag(Promise.resolve()) != promiseTag) || - (Set && getTag(new Set) != setTag) || - (WeakMap && getTag(new WeakMap) != weakMapTag)) { - getTag = function(value) { - var result = baseGetTag(value), - Ctor = result == objectTag ? value.constructor : undefined, - ctorString = Ctor ? toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: return dataViewTag; - case mapCtorString: return mapTag; - case promiseCtorString: return promiseTag; - case setCtorString: return setTag; - case weakMapCtorString: return weakMapTag; - } - } - return result; - }; - } - - /** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ - function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': start += size; break; - case 'dropRight': end -= size; break; - case 'take': end = nativeMin(end, start + size); break; - case 'takeRight': start = nativeMax(start, end - size); break; - } - } - return { 'start': start, 'end': end }; - } - - /** - * Extracts wrapper details from the `source` body comment. - * - * @private - * @param {string} source The source to inspect. - * @returns {Array} Returns the wrapper details. - */ - function getWrapDetails(source) { - var match = source.match(reWrapDetails); - return match ? match[1].split(reSplitDetails) : []; - } - - /** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ - function hasPath(object, path, hasFunc) { - path = castPath(path, object); - - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && - (isArray(object) || isArguments(object)); - } - - /** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ - function initCloneArray(array) { - var length = array.length, - result = array.constructor(length); - - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; - } - - /** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneObject(object) { - return (typeof object.constructor == 'function' && !isPrototype(object)) - ? baseCreate(getPrototype(object)) - : {}; - } - - /** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneByTag(object, tag, cloneFunc, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case dataViewTag: - return cloneDataView(object, isDeep); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - return cloneTypedArray(object, isDeep); - - case mapTag: - return cloneMap(object, isDeep, cloneFunc); - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - return cloneRegExp(object); - - case setTag: - return cloneSet(object, isDeep, cloneFunc); - - case symbolTag: - return cloneSymbol(object); - } - } - - /** - * Inserts wrapper `details` in a comment at the top of the `source` body. - * - * @private - * @param {string} source The source to modify. - * @returns {Array} details The details to insert. - * @returns {string} Returns the modified source. - */ - function insertWrapDetails(source, details) { - var length = details.length; - if (!length) { - return source; - } - var lastIndex = length - 1; - details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; - details = details.join(length > 2 ? ', ' : ' '); - return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); - } - - /** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - function isFlattenable(value) { - return isArray(value) || isArguments(value) || - !!(spreadableSymbol && value && value[spreadableSymbol]); - } - - /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - function isIndex(value, length) { - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && - (typeof value == 'number' || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length); - } - - /** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ - function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; - } - - /** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); - } - - /** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ - function isKeyable(value) { - var type = typeof value; - return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') - ? (value !== '__proto__') - : (value === null); - } - - /** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, - * else `false`. - */ - function isLaziable(func) { - var funcName = getFuncName(func), - other = lodash[funcName]; - - if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { - return false; - } - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; - } - - /** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ - function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); - } - - /** - * Checks if `func` is capable of being masked. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `func` is maskable, else `false`. - */ - var isMaskable = coreJsData ? isFunction : stubFalse; - - /** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ - function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; - - return value === proto; - } - - /** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - function isStrictComparable(value) { - return value === value && !isObject(value); - } - - /** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && - (srcValue !== undefined || (key in Object(object))); - }; - } - - /** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ - function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; - } - - /** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers used to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and - * `_.rearg` modify function arguments, making the order in which they are - * executed important, preventing the merging of metadata. However, we make - * an exception for a safe combined case where curried functions have `_.ary` - * and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ - function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); - - var isCombo = - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || - ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & WRAP_BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source[4]) : value; - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = value; - } - // Use source `ary` if it's smaller. - if (srcBitmask & WRAP_ARY_FLAG) { - data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; - } - - /** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString(value) { - return nativeObjectToString.call(value); - } - - /** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return apply(func, this, otherArgs); - }; - } - - /** - * Gets the parent value at `path` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path to get the parent value of. - * @returns {*} Returns the parent value. - */ - function parent(object, path) { - return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); - } - - /** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ - function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = copyArray(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; - } - return array; - } - - /** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity - * function to avoid garbage collection pauses in V8. See - * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var setData = shortOut(baseSetData); - - /** - * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @returns {number|Object} Returns the timer id or timeout object. - */ - var setTimeout = ctxSetTimeout || function(func, wait) { - return root.setTimeout(func, wait); - }; - - /** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var setToString = shortOut(baseSetToString); - - /** - * Sets the `toString` method of `wrapper` to mimic the source of `reference` - * with wrapper details in a comment at the top of the source body. - * - * @private - * @param {Function} wrapper The function to modify. - * @param {Function} reference The reference function. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Function} Returns `wrapper`. - */ - function setWrapToString(wrapper, reference, bitmask) { - var source = (reference + ''); - return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); - } - - /** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ - function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; - } - - /** - * A specialized version of `_.shuffle` which mutates and sets the size of `array`. - * - * @private - * @param {Array} array The array to shuffle. - * @param {number} [size=array.length] The size of `array`. - * @returns {Array} Returns `array`. - */ - function shuffleSelf(array, size) { - var index = -1, - length = array.length, - lastIndex = length - 1; - - size = size === undefined ? length : size; - while (++index < size) { - var rand = baseRandom(index, lastIndex), - value = array[rand]; - - array[rand] = array[index]; - array[index] = value; - } - array.length = size; - return array; - } - - /** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ - var stringToPath = memoizeCapped(function(string) { - var result = []; - if (reLeadingDot.test(string)) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; - }); - - /** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ - function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ - function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - try { - return (func + ''); - } catch (e) {} - } - return ''; - } - - /** - * Updates wrapper `details` based on `bitmask` flags. - * - * @private - * @returns {Array} details The details to modify. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Array} Returns `details`. - */ - function updateWrapDetails(details, bitmask) { - arrayEach(wrapFlags, function(pair) { - var value = '_.' + pair[0]; - if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { - details.push(value); - } - }); - return details.sort(); - } - - /** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ - function wrapperClone(wrapper) { - if (wrapper instanceof LazyWrapper) { - return wrapper.clone(); - } - var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); - result.__actions__ = copyArray(wrapper.__actions__); - result.__index__ = wrapper.__index__; - result.__values__ = wrapper.__values__; - return result; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements split into groups the length of `size`. - * If `array` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the new array of chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ - function chunk(array, size, guard) { - if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { - size = 1; - } else { - size = nativeMax(toInteger(size), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size < 1) { - return []; - } - var index = 0, - resIndex = 0, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[resIndex++] = baseSlice(array, index, (index += size)); - } - return result; - } - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); - } - - /** - * Creates an array of `array` values not included in the other given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * **Note:** Unlike `_.pullAll`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.without, _.xor - * @example - * - * _.difference([2, 1], [2, 3]); - * // => [1] - */ - var difference = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `iteratee` which - * is invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * **Note:** Unlike `_.pullAllBy`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2] - * - * // The `_.property` iteratee shorthand. - * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var differenceBy = baseRest(function(array, values) { - var iteratee = last(values); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `comparator` - * which is invoked to compare elements of `array` to `values`. The order and - * references of result values are determined by the first array. The comparator - * is invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.pullAllWith`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * - * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); - * // => [{ 'x': 2, 'y': 1 }] - */ - var differenceWith = baseRest(function(array, values) { - var comparator = last(values); - if (isArrayLikeObject(comparator)) { - comparator = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) - : []; - }); - - /** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function drop(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.dropRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney'] - * - * // The `_.matches` iteratee shorthand. - * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropRightWhile(users, ['active', false]); - * // => objects for ['barney'] - * - * // The `_.property` iteratee shorthand. - * _.dropRightWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true, true) - : []; - } - - /** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.dropWhile(users, function(o) { return !o.active; }); - * // => objects for ['pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.dropWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropWhile(users, ['active', false]); - * // => objects for ['pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.dropWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true) - : []; - } - - /** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8, 10], '*', 1, 3); - * // => [4, '*', '*', 10] - */ - function fill(array, value, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ - function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, getIteratee(predicate, 3), index); - } - - /** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); - * // => 2 - * - * // The `_.matches` iteratee shorthand. - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastIndex(users, ['active', false]); - * // => 2 - * - * // The `_.property` iteratee shorthand. - * _.findLastIndex(users, 'active'); - * // => 0 - */ - function findLastIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length - 1; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = fromIndex < 0 - ? nativeMax(length + index, 0) - : nativeMin(index, length - 1); - } - return baseFindIndex(array, getIteratee(predicate, 3), index, true); - } - - /** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - - /** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ - function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; - } - - /** - * Recursively flatten `array` up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Array - * @param {Array} array The array to flatten. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * var array = [1, [2, [3, [4]], 5]]; - * - * _.flattenDepth(array, 1); - * // => [1, 2, [3, [4]], 5] - * - * _.flattenDepth(array, 2); - * // => [1, 2, 3, [4], 5] - */ - function flattenDepth(array, depth) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(array, depth); - } - - /** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ - function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - return result; - } - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ - function head(array) { - return (array && array.length) ? array[0] : undefined; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ - function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseIndexOf(array, value, index); - } - - /** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ - function initial(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 0, -1) : []; - } - - /** - * Creates an array of unique values that are included in all given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersection([2, 1], [2, 3]); - * // => [2] - */ - var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `iteratee` - * which is invoked for each element of each `arrays` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [2.1] - * - * // The `_.property` iteratee shorthand. - * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }] - */ - var intersectionBy = baseRest(function(arrays) { - var iteratee = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - if (iteratee === last(mapped)) { - iteratee = undefined; - } else { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `comparator` - * which is invoked to compare elements of `arrays`. The order and references - * of result values are determined by the first array. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.intersectionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }] - */ - var intersectionWith = baseRest(function(arrays) { - var comparator = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - comparator = typeof comparator == 'function' ? comparator : undefined; - if (comparator) { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, undefined, comparator) - : []; - }); - - /** - * Converts all elements in `array` into a string separated by `separator`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to convert. - * @param {string} [separator=','] The element separator. - * @returns {string} Returns the joined string. - * @example - * - * _.join(['a', 'b', 'c'], '~'); - * // => 'a~b~c' - */ - function join(array, separator) { - return array == null ? '' : nativeJoin.call(array, separator); - } - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; - } - - /** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // Search from the `fromIndex`. - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - */ - function lastIndexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return value === value - ? strictLastIndexOf(array, value, index) - : baseFindIndex(array, baseIsNaN, index, true); - } - - /** - * Gets the element at index `n` of `array`. If `n` is negative, the nth - * element from the end is returned. - * - * @static - * @memberOf _ - * @since 4.11.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=0] The index of the element to return. - * @returns {*} Returns the nth element of `array`. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * - * _.nth(array, 1); - * // => 'b' - * - * _.nth(array, -2); - * // => 'c'; - */ - function nth(array, n) { - return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; - } - - /** - * Removes all given values from `array` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` - * to remove elements from an array by predicate. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...*} [values] The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pull(array, 'a', 'c'); - * console.log(array); - * // => ['b', 'b'] - */ - var pull = baseRest(pullAll); - - /** - * This method is like `_.pull` except that it accepts an array of values to remove. - * - * **Note:** Unlike `_.difference`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pullAll(array, ['a', 'c']); - * console.log(array); - * // => ['b', 'b'] - */ - function pullAll(array, values) { - return (array && array.length && values && values.length) - ? basePullAll(array, values) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `iteratee` which is - * invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The iteratee is invoked with one argument: (value). - * - * **Note:** Unlike `_.differenceBy`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; - * - * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); - * console.log(array); - * // => [{ 'x': 2 }] - */ - function pullAllBy(array, values, iteratee) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, getIteratee(iteratee, 2)) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `comparator` which - * is invoked to compare elements of `array` to `values`. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.differenceWith`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; - * - * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); - * console.log(array); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] - */ - function pullAllWith(array, values, comparator) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, undefined, comparator) - : array; - } - - /** - * Removes elements from `array` corresponding to `indexes` and returns an - * array of removed elements. - * - * **Note:** Unlike `_.at`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * var pulled = _.pullAt(array, [1, 3]); - * - * console.log(array); - * // => ['a', 'c'] - * - * console.log(pulled); - * // => ['b', 'd'] - */ - var pullAt = flatRest(function(array, indexes) { - var length = array == null ? 0 : array.length, - result = baseAt(array, indexes); - - basePullAt(array, arrayMap(indexes, function(index) { - return isIndex(index, length) ? +index : index; - }).sort(compareAscending)); - - return result; - }); - - /** - * Removes all elements from `array` that `predicate` returns truthy for - * and returns an array of the removed elements. The predicate is invoked - * with three arguments: (value, index, array). - * - * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` - * to pull elements from an array by value. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [1, 2, 3, 4]; - * var evens = _.remove(array, function(n) { - * return n % 2 == 0; - * }); - * - * console.log(array); - * // => [1, 3] - * - * console.log(evens); - * // => [2, 4] - */ - function remove(array, predicate) { - var result = []; - if (!(array && array.length)) { - return result; - } - var index = -1, - indexes = [], - length = array.length; - - predicate = getIteratee(predicate, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result; - } - - /** - * Reverses `array` so that the first element becomes the last, the second - * element becomes the second to last, and so on. - * - * **Note:** This method mutates `array` and is based on - * [`Array#reverse`](https://mdn.io/Array/reverse). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.reverse(array); - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function reverse(array) { - return array == null ? array : nativeReverse.call(array); - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of - * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are - * returned. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { - start = 0; - end = length; - } - else { - start = start == null ? 0 : toInteger(start); - end = end === undefined ? length : toInteger(end); - } - return baseSlice(array, start, end); - } - - /** - * Uses a binary search to determine the lowest index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - */ - function sortedIndex(array, value) { - return baseSortedIndex(array, value); - } - - /** - * This method is like `_.sortedIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); - * // => 0 - */ - function sortedIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); - } - - /** - * This method is like `_.indexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedIndexOf([4, 5, 5, 5, 6], 5); - * // => 1 - */ - function sortedIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value); - if (index < length && eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedLastIndex([4, 5, 5, 5, 6], 5); - * // => 4 - */ - function sortedLastIndex(array, value) { - return baseSortedIndex(array, value, true); - } - - /** - * This method is like `_.sortedLastIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 1 - * - * // The `_.property` iteratee shorthand. - * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); - * // => 1 - */ - function sortedLastIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); - } - - /** - * This method is like `_.lastIndexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); - * // => 3 - */ - function sortedLastIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value, true) - 1; - if (eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.uniq` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniq([1, 1, 2]); - * // => [1, 2] - */ - function sortedUniq(array) { - return (array && array.length) - ? baseSortedUniq(array) - : []; - } - - /** - * This method is like `_.uniqBy` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); - * // => [1.1, 2.3] - */ - function sortedUniqBy(array, iteratee) { - return (array && array.length) - ? baseSortedUniq(array, getIteratee(iteratee, 2)) - : []; - } - - /** - * Gets all but the first element of `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.tail([1, 2, 3]); - * // => [2, 3] - */ - function tail(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 1, length) : []; - } - - /** - * Creates a slice of `array` with `n` elements taken from the beginning. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.take([1, 2, 3]); - * // => [1] - * - * _.take([1, 2, 3], 2); - * // => [1, 2] - * - * _.take([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.take([1, 2, 3], 0); - * // => [] - */ - function take(array, n, guard) { - if (!(array && array.length)) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements taken from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRight([1, 2, 3]); - * // => [3] - * - * _.takeRight([1, 2, 3], 2); - * // => [2, 3] - * - * _.takeRight([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.takeRight([1, 2, 3], 0); - * // => [] - */ - function takeRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with elements taken from the end. Elements are - * taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.takeRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeRightWhile(users, ['active', false]); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.takeRightWhile(users, 'active'); - * // => [] - */ - function takeRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), false, true) - : []; - } - - /** - * Creates a slice of `array` with elements taken from the beginning. Elements - * are taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.takeWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matches` iteratee shorthand. - * _.takeWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeWhile(users, ['active', false]); - * // => objects for ['barney', 'fred'] - * - * // The `_.property` iteratee shorthand. - * _.takeWhile(users, 'active'); - * // => [] - */ - function takeWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3)) - : []; - } - - /** - * Creates an array of unique values, in order, from all given arrays using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([2], [1, 2]); - * // => [2, 1] - */ - var union = baseRest(function(arrays) { - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); - }); - - /** - * This method is like `_.union` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which uniqueness is computed. Result values are chosen from the first - * array in which the value occurs. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.unionBy([2.1], [1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - var unionBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.union` except that it accepts `comparator` which - * is invoked to compare elements of `arrays`. Result values are chosen from - * the first array in which the value occurs. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.unionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var unionWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); - }); - - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurrence of each element - * is kept. The order of result values is determined by the order they occur - * in the array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - */ - function uniq(array) { - return (array && array.length) ? baseUniq(array) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * uniqueness is computed. The order of result values is determined by the - * order they occur in the array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniqBy([2.1, 1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniqBy(array, iteratee) { - return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `comparator` which - * is invoked to compare elements of `array`. The order of result values is - * determined by the order they occur in the array.The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.uniqWith(objects, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] - */ - function uniqWith(array, comparator) { - comparator = typeof comparator == 'function' ? comparator : undefined; - return (array && array.length) ? baseUniq(array, undefined, comparator) : []; - } - - /** - * This method is like `_.zip` except that it accepts an array of grouped - * elements and creates an array regrouping the elements to their pre-zip - * configuration. - * - * @static - * @memberOf _ - * @since 1.2.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - * - * _.unzip(zipped); - * // => [['a', 'b'], [1, 2], [true, false]] - */ - function unzip(array) { - if (!(array && array.length)) { - return []; - } - var length = 0; - array = arrayFilter(array, function(group) { - if (isArrayLikeObject(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - return baseTimes(length, function(index) { - return arrayMap(array, baseProperty(index)); - }); - } - - /** - * This method is like `_.unzip` except that it accepts `iteratee` to specify - * how regrouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @param {Function} [iteratee=_.identity] The function to combine - * regrouped values. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip([1, 2], [10, 20], [100, 200]); - * // => [[1, 10, 100], [2, 20, 200]] - * - * _.unzipWith(zipped, _.add); - * // => [3, 30, 300] - */ - function unzipWith(array, iteratee) { - if (!(array && array.length)) { - return []; - } - var result = unzip(array); - if (iteratee == null) { - return result; - } - return arrayMap(result, function(group) { - return apply(iteratee, undefined, group); - }); - } - - /** - * Creates an array excluding all given values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.pull`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.xor - * @example - * - * _.without([2, 1, 2, 3], 1, 2); - * // => [3] - */ - var without = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, values) - : []; - }); - - /** - * Creates an array of unique values that is the - * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) - * of the given arrays. The order of result values is determined by the order - * they occur in the arrays. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.without - * @example - * - * _.xor([2, 1], [2, 3]); - * // => [1, 3] - */ - var xor = baseRest(function(arrays) { - return baseXor(arrayFilter(arrays, isArrayLikeObject)); - }); - - /** - * This method is like `_.xor` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which by which they're compared. The order of result values is determined - * by the order they occur in the arrays. The iteratee is invoked with one - * argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2, 3.4] - * - * // The `_.property` iteratee shorthand. - * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var xorBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.xor` except that it accepts `comparator` which is - * invoked to compare elements of `arrays`. The order of result values is - * determined by the order they occur in the arrays. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.xorWith(objects, others, _.isEqual); - * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var xorWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); - }); - - /** - * Creates an array of grouped elements, the first of which contains the - * first elements of the given arrays, the second of which contains the - * second elements of the given arrays, and so on. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - */ - var zip = baseRest(unzip); - - /** - * This method is like `_.fromPairs` except that it accepts two arrays, - * one of property identifiers and one of corresponding values. - * - * @static - * @memberOf _ - * @since 0.4.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject(['a', 'b'], [1, 2]); - * // => { 'a': 1, 'b': 2 } - */ - function zipObject(props, values) { - return baseZipObject(props || [], values || [], assignValue); - } - - /** - * This method is like `_.zipObject` except that it supports property paths. - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); - * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } - */ - function zipObjectDeep(props, values) { - return baseZipObject(props || [], values || [], baseSet); - } - - /** - * This method is like `_.zip` except that it accepts `iteratee` to specify - * how grouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @param {Function} [iteratee=_.identity] The function to combine - * grouped values. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { - * return a + b + c; - * }); - * // => [111, 222] - */ - var zipWith = baseRest(function(arrays) { - var length = arrays.length, - iteratee = length > 1 ? arrays[length - 1] : undefined; - - iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; - return unzipWith(arrays, iteratee); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor - * is invoked with one argument; (value). The purpose of this method is to - * "tap into" a method chain sequence in order to modify intermediate results. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * // Mutate input array. - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor) { - interceptor(value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * The purpose of this method is to "pass thru" values replacing intermediate - * results in a method chain sequence. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor) { - return interceptor(value); - } - - /** - * This method is the wrapper version of `_.at`. - * - * @name at - * @memberOf _ - * @since 1.0.0 - * @category Seq - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _(object).at(['a[0].b.c', 'a[1]']).value(); - * // => [3, 4] - */ - var wrapperAt = flatRest(function(paths) { - var length = paths.length, - start = length ? paths[0] : 0, - value = this.__wrapped__, - interceptor = function(object) { return baseAt(object, paths); }; - - if (length > 1 || this.__actions__.length || - !(value instanceof LazyWrapper) || !isIndex(start)) { - return this.thru(interceptor); - } - value = value.slice(start, +start + (length ? 1 : 0)); - value.__actions__.push({ - 'func': thru, - 'args': [interceptor], - 'thisArg': undefined - }); - return new LodashWrapper(value, this.__chain__).thru(function(array) { - if (length && !array.length) { - array.push(undefined); - } - return array; - }); - }); - - /** - * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. - * - * @name chain - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // A sequence without explicit chaining. - * _(users).head(); - * // => { 'user': 'barney', 'age': 36 } - * - * // A sequence with explicit chaining. - * _(users) - * .chain() - * .head() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chain sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ - function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); - } - - /** - * Gets the next value on a wrapped object following the - * [iterator protocol](https://mdn.io/iteration_protocols#iterator). - * - * @name next - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the next iterator value. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped.next(); - * // => { 'done': false, 'value': 1 } - * - * wrapped.next(); - * // => { 'done': false, 'value': 2 } - * - * wrapped.next(); - * // => { 'done': true, 'value': undefined } - */ - function wrapperNext() { - if (this.__values__ === undefined) { - this.__values__ = toArray(this.value()); - } - var done = this.__index__ >= this.__values__.length, - value = done ? undefined : this.__values__[this.__index__++]; - - return { 'done': done, 'value': value }; - } - - /** - * Enables the wrapper to be iterable. - * - * @name Symbol.iterator - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the wrapper object. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped[Symbol.iterator]() === wrapped; - * // => true - * - * Array.from(wrapped); - * // => [1, 2] - */ - function wrapperToIterator() { - return this; - } - - /** - * Creates a clone of the chain sequence planting `value` as the wrapped value. - * - * @name plant - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @param {*} value The value to plant. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2]).map(square); - * var other = wrapped.plant([3, 4]); - * - * other.value(); - * // => [9, 16] - * - * wrapped.value(); - * // => [1, 4] - */ - function wrapperPlant(value) { - var result, - parent = this; - - while (parent instanceof baseLodash) { - var clone = wrapperClone(parent); - clone.__index__ = 0; - clone.__values__ = undefined; - if (result) { - previous.__wrapped__ = clone; - } else { - result = clone; - } - var previous = clone; - parent = parent.__wrapped__; - } - previous.__wrapped__ = value; - return result; - } - - /** - * This method is the wrapper version of `_.reverse`. - * - * **Note:** This method mutates the wrapped array. - * - * @name reverse - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2, 3]; - * - * _(array).reverse().value() - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function wrapperReverse() { - var value = this.__wrapped__; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ - 'func': thru, - 'args': [reverse], - 'thisArg': undefined - }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(reverse); - } - - /** - * Executes the chain sequence to resolve the unwrapped value. - * - * @name value - * @memberOf _ - * @since 0.1.0 - * @alias toJSON, valueOf - * @category Seq - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the number of times the key was returned by `iteratee`. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': 1, '6': 2 } - * - * // The `_.property` iteratee shorthand. - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ - var countBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - ++result[key]; - } else { - baseAssignValue(result, key, 1); - } - }); - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, guard) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - */ - function filter(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ - var find = createFind(findIndex); - - /** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=collection.length-1] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ - var findLast = createFind(findLastIndex); - - /** - * Creates a flattened array of values by running each element in `collection` - * thru `iteratee` and flattening the mapped results. The iteratee is invoked - * with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [n, n]; - * } - * - * _.flatMap([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMap(collection, iteratee) { - return baseFlatten(map(collection, iteratee), 1); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDeep([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMapDeep(collection, iteratee) { - return baseFlatten(map(collection, iteratee), INFINITY); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDepth([1, 2], duplicate, 2); - * // => [[1, 1], [2, 2]] - */ - function flatMapDepth(collection, iteratee, depth) { - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(map(collection, iteratee), depth); - } - - /** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @alias eachRight - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEach - * @example - * - * _.forEachRight([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `2` then `1`. - */ - function forEachRight(collection, iteratee) { - var func = isArray(collection) ? arrayEachRight : baseEachRight; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - baseAssignValue(result, key, [value]); - } - }); - - /** - * Checks if `value` is in `collection`. If `collection` is a string, it's - * checked for a substring of `value`, otherwise - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * is used for equality comparisons. If `fromIndex` is negative, it's used as - * the offset from the end of `collection`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {boolean} Returns `true` if `value` is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'a': 1, 'b': 2 }, 1); - * // => true - * - * _.includes('abcd', 'bc'); - * // => true - */ - function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; - - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString(collection) - ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) - : (!!length && baseIndexOf(collection, value, fromIndex) > -1); - } - - /** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `path` is a function, it's invoked - * for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke each method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invokeMap([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ - var invokeMap = baseRest(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); - }); - return result; - }); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the last element responsible for generating the key. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var array = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.keyBy(array, function(o) { - * return String.fromCharCode(o.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.keyBy(array, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - */ - var keyBy = createAggregator(function(result, value, key) { - baseAssignValue(result, key, value); - }); - - /** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee) { - var func = isArray(collection) ? arrayMap : baseMap; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.sortBy` except that it allows specifying the sort - * orders of the iteratees to sort by. If `orders` is unspecified, all values - * are sorted in ascending order. Otherwise, specify an order of "desc" for - * descending or "asc" for ascending sort order of corresponding values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] - * The iteratees to sort by. - * @param {string[]} [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // Sort by `user` in ascending order and by `age` in descending order. - * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - */ - function orderBy(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (!isArray(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - orders = guard ? undefined : orders; - if (!isArray(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseOrderBy(collection, iteratees, orders); - } - - /** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, the second of which - * contains elements `predicate` returns falsey for. The predicate is - * invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * _.partition(users, function(o) { return o.active; }); - * // => objects for [['fred'], ['barney', 'pebbles']] - * - * // The `_.matches` iteratee shorthand. - * _.partition(users, { 'age': 1, 'active': false }); - * // => objects for [['pebbles'], ['barney', 'fred']] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.partition(users, ['active', false]); - * // => objects for [['barney', 'pebbles'], ['fred']] - * - * // The `_.property` iteratee shorthand. - * _.partition(users, 'active'); - * // => objects for [['fred'], ['barney', 'pebbles']] - */ - var partition = createAggregator(function(result, value, key) { - result[key ? 0 : 1].push(value); - }, function() { return [[], []]; }); - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not given, the first element of `collection` is used as the initial - * value. The iteratee is invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */ - function reduce(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduce : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); - } - - /** - * This method is like `_.reduce` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduce - * @example - * - * var array = [[0, 1], [2, 3], [4, 5]]; - * - * _.reduceRight(array, function(flattened, other) { - * return flattened.concat(other); - * }, []); - * // => [4, 5, 2, 3, 0, 1] - */ - function reduceRight(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduceRight : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); - } - - /** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.filter - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * _.reject(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.reject(users, { 'age': 40, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.reject(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.reject(users, 'active'); - * // => objects for ['barney'] - */ - function reject(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, negate(getIteratee(predicate, 3))); - } - - /** - * Gets a random element from `collection`. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - * @example - * - * _.sample([1, 2, 3, 4]); - * // => 2 - */ - function sample(collection) { - var func = isArray(collection) ? arraySample : baseSample; - return func(collection); - } - - /** - * Gets `n` random elements at unique keys from `collection` up to the - * size of `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @param {number} [n=1] The number of elements to sample. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the random elements. - * @example - * - * _.sampleSize([1, 2, 3], 2); - * // => [3, 1] - * - * _.sampleSize([1, 2, 3], 4); - * // => [2, 3, 1] - */ - function sampleSize(collection, n, guard) { - if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - var func = isArray(collection) ? arraySampleSize : baseSampleSize; - return func(collection, n); - } - - /** - * Creates an array of shuffled values, using a version of the - * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - * @example - * - * _.shuffle([1, 2, 3, 4]); - * // => [4, 1, 3, 2] - */ - function shuffle(collection) { - var func = isArray(collection) ? arrayShuffle : baseShuffle; - return func(collection); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable string keyed properties for objects. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the collection size. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - if (collection == null) { - return 0; - } - if (isArrayLike(collection)) { - return isString(collection) ? stringSize(collection) : collection.length; - } - var tag = getTag(collection); - if (tag == mapTag || tag == setTag) { - return collection.size; - } - return baseKeys(collection).length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * Iteration is stopped once `predicate` returns truthy. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.some(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, guard) { - var func = isArray(collection) ? arraySome : baseSome; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection thru each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {...(Function|Function[])} [iteratees=[_.identity]] - * The iteratees to sort by. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] - */ - var sortBy = baseRest(function(collection, iteratees) { - if (collection == null) { - return []; - } - var length = iteratees.length; - if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { - iteratees = []; - } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { - iteratees = [iteratees[0]]; - } - return baseOrderBy(collection, baseFlatten(iteratees, 1), []); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ - var now = ctxNow || function() { - return root.Date.now(); - }; - - /*------------------------------------------------------------------------*/ - - /** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it's called `n` or more times. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => Logs 'done saving!' after the two async saves have completed. - */ - function after(n, func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - - /** - * Creates a function that invokes `func`, with up to `n` arguments, - * ignoring any additional arguments. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ - function ary(func, n, guard) { - n = guard ? undefined : n; - n = (func && n == null) ? func.length : n; - return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); - } - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = baseRest(function(func, thisArg, partials) { - var bitmask = WRAP_BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(func, bitmask, thisArg, partials, holders); - }); - - /** - * Creates a function that invokes the method at `object[key]` with `partials` - * prepended to the arguments it receives. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. See - * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Function - * @param {Object} object The object to invoke the method on. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // Bound with placeholders. - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ - var bindKey = baseRest(function(object, key, partials) { - var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(key, bitmask, object, partials, holders); - }); - - /** - * Creates a function that accepts arguments of `func` and either invokes - * `func` returning its result, if at least `arity` number of arguments have - * been provided, or returns a function that accepts the remaining `func` - * arguments, and so on. The arity of `func` may be specified if `func.length` - * is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ - function curry(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curry.placeholder; - return result; - } - - /** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ - function curryRight(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curryRight.placeholder; - return result; - } - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - result = wait - timeSinceLastCall; - - return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - } - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ - var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ - var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); - }); - - /** - * Creates a function that invokes `func` with arguments reversed. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to flip arguments for. - * @returns {Function} Returns the new flipped function. - * @example - * - * var flipped = _.flip(function() { - * return _.toArray(arguments); - * }); - * - * flipped('a', 'b', 'c', 'd'); - * // => ['d', 'c', 'b', 'a'] - */ - function flip(func) { - return createWrap(func, WRAP_FLIP_FLAG); - } - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */ - function memoize(func, resolver) { - if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - memoized.cache = new (memoize.Cache || MapCache); - return memoized; - } - - // Expose `MapCache`. - memoize.Cache = MapCache; - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - var args = arguments; - switch (args.length) { - case 0: return !predicate.call(this); - case 1: return !predicate.call(this, args[0]); - case 2: return !predicate.call(this, args[0], args[1]); - case 3: return !predicate.call(this, args[0], args[1], args[2]); - } - return !predicate.apply(this, args); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first invocation. The `func` is - * invoked with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // => `createApplication` is invoked once - */ - function once(func) { - return before(2, func); - } - - /** - * Creates a function that invokes `func` with its arguments transformed. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Function - * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms=[_.identity]] - * The argument transforms. - * @returns {Function} Returns the new function. - * @example - * - * function doubled(n) { - * return n * 2; - * } - * - * function square(n) { - * return n * n; - * } - * - * var func = _.overArgs(function(x, y) { - * return [x, y]; - * }, [square, doubled]); - * - * func(9, 3); - * // => [81, 6] - * - * func(10, 5); - * // => [100, 10] - */ - var overArgs = castRest(function(func, transforms) { - transforms = (transforms.length == 1 && isArray(transforms[0])) - ? arrayMap(transforms[0], baseUnary(getIteratee())) - : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); - - var funcsLength = transforms.length; - return baseRest(function(args) { - var index = -1, - length = nativeMin(args.length, funcsLength); - - while (++index < length) { - args[index] = transforms[index].call(this, args[index]); - } - return apply(func, this, args); - }); - }); - - /** - * Creates a function that invokes `func` with `partials` prepended to the - * arguments it receives. This method is like `_.bind` except it does **not** - * alter the `this` binding. - * - * The `_.partial.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 0.2.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var sayHelloTo = _.partial(greet, 'hello'); - * sayHelloTo('fred'); - * // => 'hello fred' - * - * // Partially applied with placeholders. - * var greetFred = _.partial(greet, _, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - */ - var partial = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partial)); - return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); - }); - - /** - * This method is like `_.partial` except that partially applied arguments - * are appended to the arguments it receives. - * - * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var greetFred = _.partialRight(greet, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - * - * // Partially applied with placeholders. - * var sayHelloTo = _.partialRight(greet, 'hello', _); - * sayHelloTo('fred'); - * // => 'hello fred' - */ - var partialRight = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partialRight)); - return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); - }); - - /** - * Creates a function that invokes `func` with arguments arranged according - * to the specified `indexes` where the argument value at the first index is - * provided as the first argument, the argument value at the second index is - * provided as the second argument, and so on. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes. - * @returns {Function} Returns the new function. - * @example - * - * var rearged = _.rearg(function(a, b, c) { - * return [a, b, c]; - * }, [2, 0, 1]); - * - * rearged('b', 'c', 'a') - * // => ['a', 'b', 'c'] - */ - var rearg = flatRest(function(func, indexes) { - return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); - }); - - /** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as - * an array. - * - * **Note:** This method is based on the - * [rest parameter](https://mdn.io/rest_parameters). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.rest(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ - function rest(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start === undefined ? start : toInteger(start); - return baseRest(func, start); - } - - /** - * Creates a function that invokes `func` with the `this` binding of the - * create function and an array of arguments much like - * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). - * - * **Note:** This method is based on the - * [spread operator](https://mdn.io/spread_operator). - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Function - * @param {Function} func The function to spread arguments over. - * @param {number} [start=0] The start position of the spread. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.spread(function(who, what) { - * return who + ' says ' + what; - * }); - * - * say(['fred', 'hello']); - * // => 'fred says hello' - * - * var numbers = Promise.all([ - * Promise.resolve(40), - * Promise.resolve(36) - * ]); - * - * numbers.then(_.spread(function(x, y) { - * return x + y; - * })); - * // => a Promise of 76 - */ - function spread(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start == null ? 0 : nativeMax(toInteger(start), 0); - return baseRest(function(args) { - var array = args[start], - otherArgs = castSlice(args, 0, start); - - if (array) { - arrayPush(otherArgs, array); - } - return apply(func, this, otherArgs); - }); - } - - /** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed `func` invocations and a `flush` method to - * immediately invoke them. Provide `options` to indicate whether `func` - * should be invoked on the leading and/or trailing edge of the `wait` - * timeout. The `func` is invoked with the last arguments provided to the - * throttled function. Subsequent calls to the throttled function return the - * result of the last `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the throttled function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=true] - * Specify invoking on the leading edge of the timeout. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // Avoid excessively updating the position while scrolling. - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. - * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); - * jQuery(element).on('click', throttled); - * - * // Cancel the trailing throttled invocation. - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - 'leading': leading, - 'maxWait': wait, - 'trailing': trailing - }); - } - - /** - * Creates a function that accepts up to one argument, ignoring any - * additional arguments. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.unary(parseInt)); - * // => [6, 8, 10] - */ - function unary(func) { - return ary(func, 1); - } - - /** - * Creates a function that provides `value` to `wrapper` as its first - * argument. Any additional arguments provided to the function are appended - * to those provided to the `wrapper`. The wrapper is invoked with the `this` - * binding of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {*} value The value to wrap. - * @param {Function} [wrapper=identity] The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var p = _.wrap(_.escape, function(func, text) { - * return '

' + func(text) + '

'; - * }); - * - * p('fred, barney, & pebbles'); - * // => '

fred, barney, & pebbles

' - */ - function wrap(value, wrapper) { - return partial(castFunction(wrapper), value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Casts `value` as an array if it's not one. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Lang - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast array. - * @example - * - * _.castArray(1); - * // => [1] - * - * _.castArray({ 'a': 1 }); - * // => [{ 'a': 1 }] - * - * _.castArray('abc'); - * // => ['abc'] - * - * _.castArray(null); - * // => [null] - * - * _.castArray(undefined); - * // => [undefined] - * - * _.castArray(); - * // => [] - * - * var array = [1, 2, 3]; - * console.log(_.castArray(array) === array); - * // => true - */ - function castArray() { - if (!arguments.length) { - return []; - } - var value = arguments[0]; - return isArray(value) ? value : [value]; - } - - /** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ - function clone(value) { - return baseClone(value, CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.clone` except that it accepts `customizer` which - * is invoked to produce the cloned value. If `customizer` returns `undefined`, - * cloning is handled by the method instead. The `customizer` is invoked with - * up to four arguments; (value [, index|key, object, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the cloned value. - * @see _.cloneDeepWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * } - * - * var el = _.cloneWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 0 - */ - function cloneWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */ - function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.cloneWith` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the deep cloned value. - * @see _.cloneWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * } - * - * var el = _.cloneDeepWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 20 - */ - function cloneDeepWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * Checks if `object` conforms to `source` by invoking the predicate - * properties of `source` with the corresponding property values of `object`. - * - * **Note:** This method is equivalent to `_.conforms` when `source` is - * partially applied. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); - * // => true - * - * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); - * // => false - */ - function conformsTo(object, source) { - return source == null || baseConformsTo(object, source, keys(source)); - } - - /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - function eq(value, other) { - return value === other || (value !== value && other !== other); - } - - /** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - * @see _.lt - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ - var gt = createRelationalOperation(baseGt); - - /** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to - * `other`, else `false`. - * @see _.lte - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ - var gte = createRelationalOperation(function(value, other) { - return value >= other; - }); - - /** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); - }; - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ - var isArray = Array.isArray; - - /** - * Checks if `value` is classified as an `ArrayBuffer` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - * @example - * - * _.isArrayBuffer(new ArrayBuffer(2)); - * // => true - * - * _.isArrayBuffer(new Array(2)); - * // => false - */ - var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; - - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); - } - - /** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); - } - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); - } - - /** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ - var isBuffer = nativeIsBuffer || stubFalse; - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; - - /** - * Checks if `value` is likely a DOM element. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ - function isElement(value) { - return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); - } - - /** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty.call(value, key)) { - return false; - } - } - return true; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - function isEqual(value, other) { - return baseIsEqual(value, other); - } - - /** - * This method is like `_.isEqual` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with up to - * six arguments: (objValue, othValue [, index|key, object, other, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, othValue) { - * if (isGreeting(objValue) && isGreeting(othValue)) { - * return true; - * } - * } - * - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqualWith(array, other, customizer); - * // => true - */ - function isEqualWith(value, other, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; - } - - /** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ - function isError(value) { - if (!isObjectLike(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == errorTag || tag == domExcTag || - (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; - } - - /** - * Checks if `value` is an integer. - * - * **Note:** This method is based on - * [`Number.isInteger`](https://mdn.io/Number/isInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an integer, else `false`. - * @example - * - * _.isInteger(3); - * // => true - * - * _.isInteger(Number.MIN_VALUE); - * // => false - * - * _.isInteger(Infinity); - * // => false - * - * _.isInteger('3'); - * // => false - */ - function isInteger(value) { - return typeof value == 'number' && value == toInteger(value); - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { - return value != null && typeof value == 'object'; - } - - /** - * Checks if `value` is classified as a `Map` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - * @example - * - * _.isMap(new Map); - * // => true - * - * _.isMap(new WeakMap); - * // => false - */ - var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; - - /** - * Performs a partial deep comparison between `object` and `source` to - * determine if `object` contains equivalent property values. - * - * **Note:** This method is equivalent to `_.matches` when `source` is - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.isMatch(object, { 'b': 2 }); - * // => true - * - * _.isMatch(object, { 'b': 1 }); - * // => false - */ - function isMatch(object, source) { - return object === source || baseIsMatch(object, source, getMatchData(source)); - } - - /** - * This method is like `_.isMatch` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with five - * arguments: (objValue, srcValue, index|key, object, source). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, srcValue) { - * if (isGreeting(objValue) && isGreeting(srcValue)) { - * return true; - * } - * } - * - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatchWith(object, source, customizer); - * // => true - */ - function isMatchWith(object, source, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseIsMatch(object, source, getMatchData(source), customizer); - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is a pristine native function. - * - * **Note:** This method can't reliably detect native functions in the presence - * of the core-js package because core-js circumvents this kind of detection. - * Despite multiple requests, the core-js maintainer has made it clear: any - * attempt to fix the detection will be obstructed. As a result, we're left - * with little choice but to throw an error. Unfortunately, this also affects - * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), - * which rely on core-js. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ - function isNative(value) { - if (isMaskable(value)) { - throw new Error(CORE_ERROR_TEXT); - } - return baseIsNative(value); - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is `null` or `undefined`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is nullish, else `false`. - * @example - * - * _.isNil(null); - * // => true - * - * _.isNil(void 0); - * // => true - * - * _.isNil(NaN); - * // => false - */ - function isNil(value) { - return value == null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); - } - - /** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ - function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; - - /** - * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 - * double precision number which isn't the result of a rounded unsafe integer. - * - * **Note:** This method is based on - * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. - * @example - * - * _.isSafeInteger(3); - * // => true - * - * _.isSafeInteger(Number.MIN_VALUE); - * // => false - * - * _.isSafeInteger(Infinity); - * // => false - * - * _.isSafeInteger('3'); - * // => false - */ - function isSafeInteger(value) { - return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is classified as a `Set` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - * @example - * - * _.isSet(new Set); - * // => true - * - * _.isSet(new WeakSet); - * // => false - */ - var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); - } - - /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); - } - - /** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Checks if `value` is classified as a `WeakMap` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. - * @example - * - * _.isWeakMap(new WeakMap); - * // => true - * - * _.isWeakMap(new Map); - * // => false - */ - function isWeakMap(value) { - return isObjectLike(value) && getTag(value) == weakMapTag; - } - - /** - * Checks if `value` is classified as a `WeakSet` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. - * @example - * - * _.isWeakSet(new WeakSet); - * // => true - * - * _.isWeakSet(new Set); - * // => false - */ - function isWeakSet(value) { - return isObjectLike(value) && baseGetTag(value) == weakSetTag; - } - - /** - * Checks if `value` is less than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - * @see _.gt - * @example - * - * _.lt(1, 3); - * // => true - * - * _.lt(3, 3); - * // => false - * - * _.lt(3, 1); - * // => false - */ - var lt = createRelationalOperation(baseLt); - - /** - * Checks if `value` is less than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than or equal to - * `other`, else `false`. - * @see _.gte - * @example - * - * _.lte(1, 3); - * // => true - * - * _.lte(3, 3); - * // => true - * - * _.lte(3, 1); - * // => false - */ - var lte = createRelationalOperation(function(value, other) { - return value <= other; - }); - - /** - * Converts `value` to an array. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * _.toArray({ 'a': 1, 'b': 2 }); - * // => [1, 2] - * - * _.toArray('abc'); - * // => ['a', 'b', 'c'] - * - * _.toArray(1); - * // => [] - * - * _.toArray(null); - * // => [] - */ - function toArray(value) { - if (!value) { - return []; - } - if (isArrayLike(value)) { - return isString(value) ? stringToArray(value) : copyArray(value); - } - if (symIterator && value[symIterator]) { - return iteratorToArray(value[symIterator]()); - } - var tag = getTag(value), - func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); - - return func(value); - } - - /** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */ - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = (value < 0 ? -1 : 1); - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - - /** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */ - function toInteger(value) { - var result = toFinite(value), - remainder = result % 1; - - return result === result ? (remainder ? result - remainder : result) : 0; - } - - /** - * Converts `value` to an integer suitable for use as the length of an - * array-like object. - * - * **Note:** This method is based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toLength(3.2); - * // => 3 - * - * _.toLength(Number.MIN_VALUE); - * // => 0 - * - * _.toLength(Infinity); - * // => 4294967295 - * - * _.toLength('3.2'); - * // => 3 - */ - function toLength(value) { - return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; - } - - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? (other + '') : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ''); - var isBinary = reIsBinary.test(value); - return (isBinary || reIsOctal.test(value)) - ? freeParseInt(value.slice(2), isBinary ? 2 : 8) - : (reIsBadHex.test(value) ? NAN : +value); - } - - /** - * Converts `value` to a plain object flattening inherited enumerable string - * keyed properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */ - function toPlainObject(value) { - return copyObject(value, keysIn(value)); - } - - /** - * Converts `value` to a safe integer. A safe integer can be compared and - * represented correctly. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toSafeInteger(3.2); - * // => 3 - * - * _.toSafeInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toSafeInteger(Infinity); - * // => 9007199254740991 - * - * _.toSafeInteger('3.2'); - * // => 3 - */ - function toSafeInteger(value) { - return value - ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) - : (value === 0 ? value : 0); - } - - /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - function toString(value) { - return value == null ? '' : baseToString(value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ - var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { - copyObject(source, keys(source), object); - return; - } - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - assignValue(object, key, source[key]); - } - } - }); - - /** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ - var assignIn = createAssigner(function(object, source) { - copyObject(source, keysIn(source), object); - }); - - /** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); - }); - - /** - * This method is like `_.assign` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignInWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keys(source), object, customizer); - }); - - /** - * Creates an array of values corresponding to `paths` of `object`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Array} Returns the picked values. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _.at(object, ['a[0].b.c', 'a[1]']); - * // => [3, 4] - */ - var at = flatRest(baseAt); - - /** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : baseAssign(result, properties); - } - - /** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var defaults = baseRest(function(args) { - args.push(undefined, customDefaultsAssignIn); - return apply(assignInWith, undefined, args); - }); - - /** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaults - * @example - * - * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); - * // => { 'a': { 'b': 2, 'c': 3 } } - */ - var defaultsDeep = baseRest(function(args) { - args.push(undefined, customDefaultsMerge); - return apply(mergeWith, undefined, args); - }); - - /** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(o) { return o.age < 40; }); - * // => 'barney' (iteration order is not guaranteed) - * - * // The `_.matches` iteratee shorthand. - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findKey(users, 'active'); - * // => 'barney' - */ - function findKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); - } - - /** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(o) { return o.age < 40; }); - * // => returns 'pebbles' assuming `_.findKey` returns 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ - function findLastKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); - } - - /** - * Iterates over own and inherited enumerable string keyed properties of an - * object and invokes `iteratee` for each property. The iteratee is invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forInRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). - */ - function forIn(object, iteratee) { - return object == null - ? object - : baseFor(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forIn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. - */ - function forInRight(object, iteratee) { - return object == null - ? object - : baseForRight(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * Iterates over own enumerable string keyed properties of an object and - * invokes `iteratee` for each property. The iteratee is invoked with three - * arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwnRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forOwn(object, iteratee) { - return object && baseForOwn(object, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. - */ - function forOwnRight(object, iteratee) { - return object && baseForOwnRight(object, getIteratee(iteratee, 3)); - } - - /** - * Creates an array of function property names from own enumerable properties - * of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functionsIn - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functions(new Foo); - * // => ['a', 'b'] - */ - function functions(object) { - return object == null ? [] : baseFunctions(object, keys(object)); - } - - /** - * Creates an array of function property names from own and inherited - * enumerable properties of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functions - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functionsIn(new Foo); - * // => ['a', 'b', 'c'] - */ - function functionsIn(object) { - return object == null ? [] : baseFunctions(object, keysIn(object)); - } - - /** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, path); - return result === undefined ? defaultValue : result; - } - - /** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ - function has(object, path) { - return object != null && hasPath(object, path, baseHas); - } - - /** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ - function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); - } - - /** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite - * property assignments of previous values. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Object - * @param {Object} object The object to invert. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - */ - var invert = createInverter(function(result, value, key) { - result[value] = key; - }, constant(identity)); - - /** - * This method is like `_.invert` except that the inverted object is generated - * from the results of running each element of `object` thru `iteratee`. The - * corresponding inverted value of each inverted key is an array of keys - * responsible for generating the inverted value. The iteratee is invoked - * with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Object - * @param {Object} object The object to invert. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invertBy(object); - * // => { '1': ['a', 'c'], '2': ['b'] } - * - * _.invertBy(object, function(value) { - * return 'group' + value; - * }); - * // => { 'group1': ['a', 'c'], 'group2': ['b'] } - */ - var invertBy = createInverter(function(result, value, key) { - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - }, getIteratee); - - /** - * Invokes the method at `path` of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - * @example - * - * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; - * - * _.invoke(object, 'a[0].b.c.slice', 1, 3); - * // => [2, 3] - */ - var invoke = baseRest(baseInvoke); - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); - } - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); - } - - /** - * The opposite of `_.mapValues`; this method creates an object with the - * same values as `object` and keys generated by running each own enumerable - * string keyed property of `object` thru `iteratee`. The iteratee is invoked - * with three arguments: (value, key, object). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapValues - * @example - * - * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { - * return key + value; - * }); - * // => { 'a1': 1, 'b2': 2 } - */ - function mapKeys(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, iteratee(value, key, object), value); - }); - return result; - } - - /** - * Creates an object with the same keys as `object` and values generated - * by running each own enumerable string keyed property of `object` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, key, object). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapKeys - * @example - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * _.mapValues(users, function(o) { return o.age; }); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - * - * // The `_.property` iteratee shorthand. - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */ - function mapValues(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, key, iteratee(value, key, object)); - }); - return result; - } - - /** - * This method is like `_.assign` except that it recursively merges own and - * inherited enumerable string keyed properties of source objects into the - * destination object. Source properties that resolve to `undefined` are - * skipped if a destination value exists. Array and plain object properties - * are merged recursively. Other objects and value types are overridden by - * assignment. Source objects are applied from left to right. Subsequent - * sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * var object = { - * 'a': [{ 'b': 2 }, { 'd': 4 }] - * }; - * - * var other = { - * 'a': [{ 'c': 3 }, { 'e': 5 }] - * }; - * - * _.merge(object, other); - * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } - */ - var merge = createAssigner(function(object, source, srcIndex) { - baseMerge(object, source, srcIndex); - }); - - /** - * This method is like `_.merge` except that it accepts `customizer` which - * is invoked to produce the merged values of the destination and source - * properties. If `customizer` returns `undefined`, merging is handled by the - * method instead. The `customizer` is invoked with six arguments: - * (objValue, srcValue, key, object, source, stack). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * function customizer(objValue, srcValue) { - * if (_.isArray(objValue)) { - * return objValue.concat(srcValue); - * } - * } - * - * var object = { 'a': [1], 'b': [2] }; - * var other = { 'a': [3], 'b': [4] }; - * - * _.mergeWith(object, other, customizer); - * // => { 'a': [1, 3], 'b': [2, 4] } - */ - var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { - baseMerge(object, source, srcIndex, customizer); - }); - - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable property paths of `object` that are not omitted. - * - * **Note:** This method is considerably slower than `_.pick`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to omit. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omit(object, ['a', 'c']); - * // => { 'b': '2' } - */ - var omit = flatRest(function(object, paths) { - var result = {}; - if (object == null) { - return result; - } - var isDeep = false; - paths = arrayMap(paths, function(path) { - path = castPath(path, object); - isDeep || (isDeep = path.length > 1); - return path; - }); - copyObject(object, getAllKeysIn(object), result); - if (isDeep) { - result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); - } - var length = paths.length; - while (length--) { - baseUnset(result, paths[length]); - } - return result; - }); - - /** - * The opposite of `_.pickBy`; this method creates an object composed of - * the own and inherited enumerable string keyed properties of `object` that - * `predicate` doesn't return truthy for. The predicate is invoked with two - * arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omitBy(object, _.isNumber); - * // => { 'b': '2' } - */ - function omitBy(object, predicate) { - return pickBy(object, negate(getIteratee(predicate))); - } - - /** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); - }); - - /** - * Creates an object composed of the `object` properties `predicate` returns - * truthy for. The predicate is invoked with two arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pickBy(object, _.isNumber); - * // => { 'a': 1, 'c': 3 } - */ - function pickBy(object, predicate) { - if (object == null) { - return {}; - } - var props = arrayMap(getAllKeysIn(object), function(prop) { - return [prop]; - }); - predicate = getIteratee(predicate); - return basePickBy(object, props, function(value, path) { - return predicate(value, path[0]); - }); - } - - /** - * This method is like `_.get` except that if the resolved value is a - * function it's invoked with the `this` binding of its parent object and - * its result is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a[0].b.c3', 'default'); - * // => 'default' - * - * _.result(object, 'a[0].b.c3', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - path = castPath(path, object); - - var index = -1, - length = path.length; - - // Ensure the loop is entered when path is empty. - if (!length) { - length = 1; - object = undefined; - } - while (++index < length) { - var value = object == null ? undefined : object[toKey(path[index])]; - if (value === undefined) { - index = length; - value = defaultValue; - } - object = isFunction(value) ? value.call(object) : value; - } - return object; - } - - /** - * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, - * it's created. Arrays are created for missing index properties while objects - * are created for all other missing properties. Use `_.setWith` to customize - * `path` creation. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.set(object, 'a[0].b.c', 4); - * console.log(object.a[0].b.c); - * // => 4 - * - * _.set(object, ['x', '0', 'y', 'z'], 5); - * console.log(object.x[0].y.z); - * // => 5 - */ - function set(object, path, value) { - return object == null ? object : baseSet(object, path, value); - } - - /** - * This method is like `_.set` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.setWith(object, '[0][1]', 'a', Object); - * // => { '0': { '1': 'a' } } - */ - function setWith(object, path, value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseSet(object, path, value, customizer); - } - - /** - * Creates an array of own enumerable string keyed-value pairs for `object` - * which can be consumed by `_.fromPairs`. If `object` is a map or set, its - * entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entries - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairs(new Foo); - * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) - */ - var toPairs = createToPairs(keys); - - /** - * Creates an array of own and inherited enumerable string keyed-value pairs - * for `object` which can be consumed by `_.fromPairs`. If `object` is a map - * or set, its entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entriesIn - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairsIn(new Foo); - * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) - */ - var toPairsIn = createToPairs(keysIn); - - /** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own - * enumerable string keyed properties thru `iteratee`, with each invocation - * potentially mutating the `accumulator` object. If `accumulator` is not - * provided, a new object with the same `[[Prototype]]` will be used. The - * iteratee is invoked with four arguments: (accumulator, value, key, object). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }, []); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } - */ - function transform(object, iteratee, accumulator) { - var isArr = isArray(object), - isArrLike = isArr || isBuffer(object) || isTypedArray(object); - - iteratee = getIteratee(iteratee, 4); - if (accumulator == null) { - var Ctor = object && object.constructor; - if (isArrLike) { - accumulator = isArr ? new Ctor : []; - } - else if (isObject(object)) { - accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; - } - else { - accumulator = {}; - } - } - (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { - return iteratee(accumulator, value, index, object); - }); - return accumulator; - } - - /** - * Removes the property at `path` of `object`. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 7 } }] }; - * _.unset(object, 'a[0].b.c'); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - * - * _.unset(object, ['a', '0', 'b', 'c']); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - */ - function unset(object, path) { - return object == null ? true : baseUnset(object, path); - } - - /** - * This method is like `_.set` except that accepts `updater` to produce the - * value to set. Use `_.updateWith` to customize `path` creation. The `updater` - * is invoked with one argument: (value). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.update(object, 'a[0].b.c', function(n) { return n * n; }); - * console.log(object.a[0].b.c); - * // => 9 - * - * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); - * console.log(object.x[0].y.z); - * // => 0 - */ - function update(object, path, updater) { - return object == null ? object : baseUpdate(object, path, castFunction(updater)); - } - - /** - * This method is like `_.update` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.updateWith(object, '[0][1]', _.constant('a'), Object); - * // => { '0': { '1': 'a' } } - */ - function updateWith(object, path, updater, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); - } - - /** - * Creates an array of the own enumerable string keyed property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return object == null ? [] : baseValues(object, keys(object)); - } - - /** - * Creates an array of the own and inherited enumerable string keyed property - * values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.valuesIn(new Foo); - * // => [1, 2, 3] (iteration order is not guaranteed) - */ - function valuesIn(object) { - return object == null ? [] : baseValues(object, keysIn(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Clamps `number` within the inclusive `lower` and `upper` bounds. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Number - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - * @example - * - * _.clamp(-10, -5, 5); - * // => -5 - * - * _.clamp(10, -5, 5); - * // => 5 - */ - function clamp(number, lower, upper) { - if (upper === undefined) { - upper = lower; - lower = undefined; - } - if (upper !== undefined) { - upper = toNumber(upper); - upper = upper === upper ? upper : 0; - } - if (lower !== undefined) { - lower = toNumber(lower); - lower = lower === lower ? lower : 0; - } - return baseClamp(toNumber(number), lower, upper); - } - - /** - * Checks if `n` is between `start` and up to, but not including, `end`. If - * `end` is not specified, it's set to `start` with `start` then set to `0`. - * If `start` is greater than `end` the params are swapped to support - * negative ranges. - * - * @static - * @memberOf _ - * @since 3.3.0 - * @category Number - * @param {number} number The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - * @see _.range, _.rangeRight - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - * - * _.inRange(-3, -2, -6); - * // => true - */ - function inRange(number, start, end) { - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - number = toNumber(number); - return baseInRange(number, start, end); - } - - /** - * Produces a random number between the inclusive `lower` and `upper` bounds. - * If only one argument is provided a number between `0` and the given number - * is returned. If `floating` is `true`, or either `lower` or `upper` are - * floats, a floating-point number is returned instead of an integer. - * - * **Note:** JavaScript follows the IEEE-754 standard for resolving - * floating-point values which can produce unexpected results. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Number - * @param {number} [lower=0] The lower bound. - * @param {number} [upper=1] The upper bound. - * @param {boolean} [floating] Specify returning a floating-point number. - * @returns {number} Returns the random number. - * @example - * - * _.random(0, 5); - * // => an integer between 0 and 5 - * - * _.random(5); - * // => also an integer between 0 and 5 - * - * _.random(5, true); - * // => a floating-point number between 0 and 5 - * - * _.random(1.2, 5.2); - * // => a floating-point number between 1.2 and 5.2 - */ - function random(lower, upper, floating) { - if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { - upper = floating = undefined; - } - if (floating === undefined) { - if (typeof upper == 'boolean') { - floating = upper; - upper = undefined; - } - else if (typeof lower == 'boolean') { - floating = lower; - lower = undefined; - } - } - if (lower === undefined && upper === undefined) { - lower = 0; - upper = 1; - } - else { - lower = toFinite(lower); - if (upper === undefined) { - upper = lower; - lower = 0; - } else { - upper = toFinite(upper); - } - } - if (lower > upper) { - var temp = lower; - lower = upper; - upper = temp; - } - if (floating || lower % 1 || upper % 1) { - var rand = nativeRandom(); - return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); - } - return baseRandom(lower, upper); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar--'); - * // => 'fooBar' - * - * _.camelCase('__FOO_BAR__'); - * // => 'fooBar' - */ - var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return result + (index ? capitalize(word) : word); - }); - - /** - * Converts the first character of `string` to upper case and the remaining - * to lower case. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('FRED'); - * // => 'Fred' - */ - function capitalize(string) { - return upperFirst(toString(string).toLowerCase()); - } - - /** - * Deburrs `string` by converting - * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) - * letters to basic Latin letters and removing - * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ - function deburr(string) { - string = toString(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); - } - - /** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search up to. - * @returns {boolean} Returns `true` if `string` ends with `target`, - * else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ - function endsWith(string, target, position) { - string = toString(string); - target = baseToString(target); - - var length = string.length; - position = position === undefined - ? length - : baseClamp(toInteger(position), 0, length); - - var end = position; - position -= target.length; - return position >= 0 && string.slice(position, end) == target; - } - - /** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /** - * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", - * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https://lodash\.com/\)' - */ - function escapeRegExp(string) { - string = toString(string); - return (string && reHasRegExpChar.test(string)) - ? string.replace(reRegExpChar, '\\$&') - : string; - } - - /** - * Converts `string` to - * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__FOO_BAR__'); - * // => 'foo-bar' - */ - var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); - }); - - /** - * Converts `string`, as space separated words, to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the lower cased string. - * @example - * - * _.lowerCase('--Foo-Bar--'); - * // => 'foo bar' - * - * _.lowerCase('fooBar'); - * // => 'foo bar' - * - * _.lowerCase('__FOO_BAR__'); - * // => 'foo bar' - */ - var lowerCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + word.toLowerCase(); - }); - - /** - * Converts the first character of `string` to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.lowerFirst('Fred'); - * // => 'fred' - * - * _.lowerFirst('FRED'); - * // => 'fRED' - */ - var lowerFirst = createCaseFirst('toLowerCase'); - - /** - * Pads `string` on the left and right sides if it's shorter than `length`. - * Padding characters are truncated if they can't be evenly divided by `length`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.pad('abc', 8); - * // => ' abc ' - * - * _.pad('abc', 8, '_-'); - * // => '_-abc_-_' - * - * _.pad('abc', 3); - * // => 'abc' - */ - function pad(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - if (!length || strLength >= length) { - return string; - } - var mid = (length - strLength) / 2; - return ( - createPadding(nativeFloor(mid), chars) + - string + - createPadding(nativeCeil(mid), chars) - ); - } - - /** - * Pads `string` on the right side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padEnd('abc', 6); - * // => 'abc ' - * - * _.padEnd('abc', 6, '_-'); - * // => 'abc_-_' - * - * _.padEnd('abc', 3); - * // => 'abc' - */ - function padEnd(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (string + createPadding(length - strLength, chars)) - : string; - } - - /** - * Pads `string` on the left side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padStart('abc', 6); - * // => ' abc' - * - * _.padStart('abc', 6, '_-'); - * // => '_-_abc' - * - * _.padStart('abc', 3); - * // => 'abc' - */ - function padStart(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (createPadding(length - strLength, chars) + string) - : string; - } - - /** - * Converts `string` to an integer of the specified radix. If `radix` is - * `undefined` or `0`, a `radix` of `10` is used unless `value` is a - * hexadecimal, in which case a `radix` of `16` is used. - * - * **Note:** This method aligns with the - * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category String - * @param {string} string The string to convert. - * @param {number} [radix=10] The radix to interpret `value` by. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {number} Returns the converted integer. - * @example - * - * _.parseInt('08'); - * // => 8 - * - * _.map(['6', '08', '10'], _.parseInt); - * // => [6, 8, 10] - */ - function parseInt(string, radix, guard) { - if (guard || radix == null) { - radix = 0; - } else if (radix) { - radix = +radix; - } - return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); - } - - /** - * Repeats the given string `n` times. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to repeat. - * @param {number} [n=1] The number of times to repeat the string. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {string} Returns the repeated string. - * @example - * - * _.repeat('*', 3); - * // => '***' - * - * _.repeat('abc', 2); - * // => 'abcabc' - * - * _.repeat('abc', 0); - * // => '' - */ - function repeat(string, n, guard) { - if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - return baseRepeat(toString(string), n); - } - - /** - * Replaces matches for `pattern` in `string` with `replacement`. - * - * **Note:** This method is based on - * [`String#replace`](https://mdn.io/String/replace). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to modify. - * @param {RegExp|string} pattern The pattern to replace. - * @param {Function|string} replacement The match replacement. - * @returns {string} Returns the modified string. - * @example - * - * _.replace('Hi Fred', 'Fred', 'Barney'); - * // => 'Hi Barney' - */ - function replace() { - var args = arguments, - string = toString(args[0]); - - return args.length < 3 ? string : string.replace(args[1], args[2]); - } - - /** - * Converts `string` to - * [snake case](https://en.wikipedia.org/wiki/Snake_case). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the snake cased string. - * @example - * - * _.snakeCase('Foo Bar'); - * // => 'foo_bar' - * - * _.snakeCase('fooBar'); - * // => 'foo_bar' - * - * _.snakeCase('--FOO-BAR--'); - * // => 'foo_bar' - */ - var snakeCase = createCompounder(function(result, word, index) { - return result + (index ? '_' : '') + word.toLowerCase(); - }); - - /** - * Splits `string` by `separator`. - * - * **Note:** This method is based on - * [`String#split`](https://mdn.io/String/split). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to split. - * @param {RegExp|string} separator The separator pattern to split by. - * @param {number} [limit] The length to truncate results to. - * @returns {Array} Returns the string segments. - * @example - * - * _.split('a-b-c', '-', 2); - * // => ['a', 'b'] - */ - function split(string, separator, limit) { - if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { - separator = limit = undefined; - } - limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; - if (!limit) { - return []; - } - string = toString(string); - if (string && ( - typeof separator == 'string' || - (separator != null && !isRegExp(separator)) - )) { - separator = baseToString(separator); - if (!separator && hasUnicode(string)) { - return castSlice(stringToArray(string), 0, limit); - } - } - return string.split(separator, limit); - } - - /** - * Converts `string` to - * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). - * - * @static - * @memberOf _ - * @since 3.1.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the start cased string. - * @example - * - * _.startCase('--foo-bar--'); - * // => 'Foo Bar' - * - * _.startCase('fooBar'); - * // => 'Foo Bar' - * - * _.startCase('__FOO_BAR__'); - * // => 'FOO BAR' - */ - var startCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + upperFirst(word); - }); - - /** - * Checks if `string` starts with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=0] The position to search from. - * @returns {boolean} Returns `true` if `string` starts with `target`, - * else `false`. - * @example - * - * _.startsWith('abc', 'a'); - * // => true - * - * _.startsWith('abc', 'b'); - * // => false - * - * _.startsWith('abc', 'b', 1); - * // => true - */ - function startsWith(string, target, position) { - string = toString(string); - position = position == null - ? 0 - : baseClamp(toInteger(position), 0, string.length); - - target = baseToString(target); - return string.slice(position, position + target.length) == target; - } - - /** - * Creates a compiled template function that can interpolate data properties - * in "interpolate" delimiters, HTML-escape interpolated data properties in - * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data - * properties may be accessed as free variables in the template. If a setting - * object is given, it takes precedence over `_.templateSettings` values. - * - * **Note:** In the development build `_.template` utilizes - * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) - * for easier debugging. - * - * For more information on precompiling templates see - * [lodash's custom builds documentation](https://lodash.com/custom-builds). - * - * For more information on Chrome extension sandboxes see - * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The template string. - * @param {Object} [options={}] The options object. - * @param {RegExp} [options.escape=_.templateSettings.escape] - * The HTML "escape" delimiter. - * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] - * The "evaluate" delimiter. - * @param {Object} [options.imports=_.templateSettings.imports] - * An object to import into the template as free variables. - * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] - * The "interpolate" delimiter. - * @param {string} [options.sourceURL='lodash.templateSources[n]'] - * The sourceURL of the compiled template. - * @param {string} [options.variable='obj'] - * The data object variable name. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the compiled template function. - * @example - * - * // Use the "interpolate" delimiter to create a compiled template. - * var compiled = _.template('hello <%= user %>!'); - * compiled({ 'user': 'fred' }); - * // => 'hello fred!' - * - * // Use the HTML "escape" delimiter to escape data property values. - * var compiled = _.template('<%- value %>'); - * compiled({ 'value': ' - -``` - -## 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/res-pc/node_modules/stk500-v2/node_modules/async/bower.json b/res-pc/node_modules/stk500-v2/node_modules/async/bower.json deleted file mode 100644 index 18176881..00000000 --- a/res-pc/node_modules/stk500-v2/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/res-pc/node_modules/stk500-v2/node_modules/async/component.json b/res-pc/node_modules/stk500-v2/node_modules/async/component.json deleted file mode 100644 index 5003a7c5..00000000 --- a/res-pc/node_modules/stk500-v2/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/res-pc/node_modules/stk500-v2/node_modules/async/lib/async.js b/res-pc/node_modules/stk500-v2/node_modules/async/lib/async.js deleted file mode 100644 index 394c41ca..00000000 --- a/res-pc/node_modules/stk500-v2/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 - -``` - -## 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/res-pc/node_modules/stk500/node_modules/async/bower.json b/res-pc/node_modules/stk500/node_modules/async/bower.json deleted file mode 100644 index 18176881..00000000 --- a/res-pc/node_modules/stk500/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/res-pc/node_modules/stk500/node_modules/async/component.json b/res-pc/node_modules/stk500/node_modules/async/component.json deleted file mode 100644 index 5003a7c5..00000000 --- a/res-pc/node_modules/stk500/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/res-pc/node_modules/stk500/node_modules/async/lib/async.js b/res-pc/node_modules/stk500/node_modules/async/lib/async.js deleted file mode 100644 index 394c41ca..00000000 --- a/res-pc/node_modules/stk500/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 - -``` - -## 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/res-win/node_modules/stk500-v2/node_modules/async/bower.json b/res-win/node_modules/stk500-v2/node_modules/async/bower.json deleted file mode 100644 index 18176881..00000000 --- a/res-win/node_modules/stk500-v2/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/res-win/node_modules/stk500-v2/node_modules/async/component.json b/res-win/node_modules/stk500-v2/node_modules/async/component.json deleted file mode 100644 index 5003a7c5..00000000 --- a/res-win/node_modules/stk500-v2/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/res-win/node_modules/stk500-v2/node_modules/async/lib/async.js b/res-win/node_modules/stk500-v2/node_modules/async/lib/async.js deleted file mode 100644 index 394c41ca..00000000 --- a/res-win/node_modules/stk500-v2/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 - -``` - -## 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/res-win/node_modules/stk500/node_modules/async/bower.json b/res-win/node_modules/stk500/node_modules/async/bower.json deleted file mode 100644 index 18176881..00000000 --- a/res-win/node_modules/stk500/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/res-win/node_modules/stk500/node_modules/async/component.json b/res-win/node_modules/stk500/node_modules/async/component.json deleted file mode 100644 index 5003a7c5..00000000 --- a/res-win/node_modules/stk500/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/res-win/node_modules/stk500/node_modules/async/lib/async.js b/res-win/node_modules/stk500/node_modules/async/lib/async.js deleted file mode 100644 index 394c41ca..00000000 --- a/res-win/node_modules/stk500/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