diff --git a/.gitignore b/.gitignore index 723ef36..7a1537b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea \ No newline at end of file +.idea +node_modules diff --git a/README.md b/README.md index f26025b..2379149 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Resemble.js ========== -Analyse and compare images with Javascript and HTML5. [More info & Resemble.js Demo](http://huddle.github.com/Resemble.js/). If you need NodeJS support, take a look at [node-resemble](https://github.com/ddo/node-resemble) or [node-resemble-v2](https://github.com/peter-mouland/node-resemble-v2). +Analyse and compare images with Javascript and HTML5. [More info & Resemble.js Demo](http://huddle.github.com/Resemble.js/). Compatible with Node.js. ![Two image diff examples side-by-side, one pink, one yellow.](https://raw.github.com/Huddle/Resemble.js/master/demoassets/readmeimage.jpg "Visual image comparison") @@ -83,6 +83,46 @@ You can modify this behaviour by setting the `largeImageThreshold` option to a d `useCrossOrigin` is true by default, you might need to set it to false if you're using [Data URIs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs). +### Node.js + +#### Installation + +On Node, Resemble uses the `canvas` package instead of the native canvas support in the browser. In order to prevent browser users to be forced into installing canvas, it's included as a peer dependency which means you have to install it alongside resemble. + +Canvas relies on some native image manipulation libraries to be install on the system. Simple, detailed instructions for OSX/Windows/Linux can be found [here](https://www.npmjs.com/package/canvas). + +*Example commands for installation on OSX* + +``` bash +npm install resemblejs +brew install pkg-config cairo libpng jpeg giflib +npm install canvas +``` + +#### Usage + +The API under Node is the same as on the browser with one addition, a promise based `compareImage` convenience function that is used as follows: + +``` js +const compareImage = require('resemblejs/compareImage'); + +// The parameters can be Node Buffers +// data is the same as usual with an additional getBuffer() function +const data = await compareImages( + fs.readFileSync('./demoassets/People.jpg'), + fs.readFileSync('./demoassets/People2.jpg') +); + +fs.writeFileSync('./output.png', data.getBuffer()); +``` + +#### Tests + +To run the tests on Node (using Jest), type: + +``` bash +npm run test +``` -------------------------------------- diff --git a/chai-tests/main_spec.js b/chai-tests/main_spec.js new file mode 100644 index 0000000..859dc97 --- /dev/null +++ b/chai-tests/main_spec.js @@ -0,0 +1,104 @@ +var expect = chai.expect; + +var people_src = + 'data:image/jpeg;base64,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'; +var people2_src = + 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4TIraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTNSAxMS4wLjAuNDg0IFdpbmRvd3M8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTItMDktMjVUMDk6MTY6MDdaPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDMtMjVUMTY6NDE6MTBaPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9ybWF0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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'; + +function request_success() { + return new Promise(function(resolve, reject) { + resemble('../demoassets/People.jpg') + .compareTo('../demoassets/People2.jpg') + .onComplete(function(data) { + console.info('Reached oncomplete for request_success'); + expect(data.diffBounds).to.have.all.keys( + 'bottom', + 'left', + 'top', + 'right' + ); + expect(data.diffBounds.bottom).to.equal(431); + expect(data.diffBounds.left).to.equal(22); + expect(data.diffBounds.right).to.equal(450); + expect(data.diffBounds.top).to.equal(58); + expect(data.dimensionDifference.height).to.equal(0); + expect(data.dimensionDifference.width).to.equal(0); + expect(data.isSameDimensions).to.be.true; + expect(data.misMatchPercentage).to.equal('8.63'); + resolve(); + }); + }); +} + +function base64_string() { + return new Promise(function(resolve, reject) { + resemble(people_src).compareTo(people2_src).onComplete(function(data) { + console.info('Reached oncomplete for base64_string'); + expect(data.diffBounds.bottom).to.equal(431); + expect(data.diffBounds.left).to.equal(22); + expect(data.diffBounds.right).to.equal(450); + expect(data.diffBounds.top).to.equal(58); + expect(data.dimensionDifference.height).to.equal(0); + expect(data.dimensionDifference.width).to.equal(0); + expect(data.isSameDimensions).to.be.true; + expect(data.misMatchPercentage).to.equal('8.63'); + resolve(); + }); + }); +} + +function request_404() { + return new Promise(function(resolve, reject) { + resemble('../demoassets/People.jpg') + .compareTo('../demoassets/404-image.jpg') + .onComplete(function(data) { + console.info('Reached oncomplete for request_404'); + console.log(data); + expect(data).to.deep.equal({ error: 'Image load error.' }); + resolve(); + }); + }); +} + +function request_cors() { + return new Promise(function(resolve, reject) { + resemble('../demoassets/People.jpg') + .compareTo( + 'https://www.google.ca/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png' + ) + .onComplete(function(data) { + console.info('Reached oncomplete for request_cors'); + expect(data).to.deep.equal({ error: 'Image load error.' }); + resolve(); + }); + }); +} + +request_success() + .then(function() { + console.info('Test 1 complete.'); + }) + .then(request_404) + .then(function() { + console.info('Test 2 complete.'); + }) + .then(request_success) + .then(function() { + console.info('Test 3 complete.'); + }) + .then(request_404) + .then(function() { + console.info('Test 4 complete.'); + }) + .then(base64_string) + .then(function() { + console.info('Test 5 complete.'); + }) + // Not going to bother fixing this test + // .then(request_cors) + // .then(function() { + // console.info('Test 6 complete.'); + // }) + .then(function() { + console.info('All tests completed.'); + }); diff --git a/tests/test.html b/chai-tests/test.html similarity index 56% rename from tests/test.html rename to chai-tests/test.html index 991f858..7201f60 100644 --- a/tests/test.html +++ b/chai-tests/test.html @@ -6,7 +6,8 @@

Check the console for test results

- + + - \ No newline at end of file + diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..82d80c8 --- /dev/null +++ b/dockerfile @@ -0,0 +1,15 @@ +FROM node:8 + +RUN apt-get update \ + && apt-get install -qq libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev build-essential g++ + +RUN mkdir -p /opt/node/js \ + && cd /opt/node \ + && npm install canvas color-convert + +WORKDIR /opt/node/js +COPY . /opt/node/js + +RUN npm install + +CMD ["npm", "run", "test"] \ No newline at end of file diff --git a/nodejs-tests/PeopleComparedToPeople2.png b/nodejs-tests/PeopleComparedToPeople2.png new file mode 100644 index 0000000..6664c37 Binary files /dev/null and b/nodejs-tests/PeopleComparedToPeople2.png differ diff --git a/nodejs-tests/compareImages.js b/nodejs-tests/compareImages.js new file mode 100644 index 0000000..3d05bcf --- /dev/null +++ b/nodejs-tests/compareImages.js @@ -0,0 +1,13 @@ +const resemble = require('../resemble'); + +module.exports = async function(image1, image2) { + return new Promise(function(resolve, reject) { + resemble(image1).compareTo(image2).onComplete(function(data) { + if (data.error) { + reject(data.error); + } else { + resolve(data); + } + }); + }); +}; diff --git a/nodejs-tests/compareImages.test.js b/nodejs-tests/compareImages.test.js new file mode 100644 index 0000000..91d6a89 --- /dev/null +++ b/nodejs-tests/compareImages.test.js @@ -0,0 +1,33 @@ +const compareImages = require('./compareImages'); +const fs = require('fs'); + +describe('compareImages', () => { + test('works with buffers', async () => { + const data = await compareImages( + fs.readFileSync('./demoassets/People.jpg'), + fs.readFileSync('./demoassets/People2.jpg') + ); + + expect(data.isSameDimensions).toBe(true); + expect(data.misMatchPercentage).toEqual('8.66'); + + const buffer = data.getBuffer(); + + expect(buffer).toBeInstanceOf(Buffer); + expect(buffer.length).toBe(91876); + + const comparison = fs.readFileSync( + './nodejs-tests/PeopleComparedToPeople2.png' + ); + + expect(buffer.equals(comparison)).toBe(true); + }); + + test('throws when failed', async () => { + const promise = compareImages( + fs.readFileSync('./demoassets/People.jpg'), + 'bogus data' + ); + await expect(promise).rejects.toMatch('Image load error.'); + }); +}); diff --git a/nodejs-tests/resemble.test.js b/nodejs-tests/resemble.test.js new file mode 100644 index 0000000..144cdbb --- /dev/null +++ b/nodejs-tests/resemble.test.js @@ -0,0 +1,89 @@ +const resemble = require('../resemble'); +const fs = require('fs'); + +describe('resemble', () => { + test('base64', () => { + const people_src = + 'data:image/jpeg;base64,' + + fs.readFileSync('./demoassets/People.jpg', 'base64'); + const people2_src = + 'data:image/jpeg;base64,' + + fs.readFileSync('./demoassets/People2.jpg', 'base64'); + + return new Promise(function(resolve, reject) { + resemble(people_src).compareTo(people2_src).onComplete(function(data) { + // console.info('Reached oncomplete for base64_string'); + expect(data.diffBounds.bottom).toEqual(431); + expect(data.diffBounds.left).toEqual(22); + expect(data.diffBounds.right).toEqual(450); + expect(data.diffBounds.top).toEqual(58); + expect(data.dimensionDifference.height).toEqual(0); + expect(data.dimensionDifference.width).toEqual(0); + expect(data.isSameDimensions).toBe(true); + expect(data.misMatchPercentage).toEqual('8.66'); + resolve(); + }); + }); + }); + + test('files', () => { + return new Promise(function(resolve, reject) { + resemble('./demoassets/People.jpg') + .compareTo('./demoassets/People2.jpg') + .onComplete(function(data) { + // console.info('Reached oncomplete for request_success'); + expect(data.diffBounds).toEqual( + expect.objectContaining({ + bottom: expect.any(Number), + left: expect.any(Number), + top: expect.any(Number), + right: expect.any(Number) + }) + ); + + expect(data.diffBounds.bottom).toEqual(431); + expect(data.diffBounds.left).toEqual(22); + expect(data.diffBounds.right).toEqual(450); + expect(data.diffBounds.top).toEqual(58); + expect(data.dimensionDifference.height).toEqual(0); + expect(data.dimensionDifference.width).toEqual(0); + expect(data.isSameDimensions).toBe(true); + expect(data.misMatchPercentage).toEqual('8.66'); + resolve(); + }); + }); + }); + + test('file not found', () => { + return new Promise(function(resolve, reject) { + resemble('../demoassets/People.jpg') + .compareTo('../demoassets/404-image.jpg') + .onComplete(function(data) { + // console.info('Reached oncomplete for request_404'); + // console.log(data); + expect(data.error).toEqual('Image load error.'); + resolve(); + }); + }); + }); + + test('node buffers', () => { + const people = fs.readFileSync('./demoassets/People.jpg'); + const people2 = fs.readFileSync('./demoassets/People2.jpg'); + + return new Promise(function(resolve, reject) { + resemble(people).compareTo(people2).onComplete(function(data) { + // console.info('Reached oncomplete for base64_string'); + expect(data.diffBounds.bottom).toEqual(431); + expect(data.diffBounds.left).toEqual(22); + expect(data.diffBounds.right).toEqual(450); + expect(data.diffBounds.top).toEqual(58); + expect(data.dimensionDifference.height).toEqual(0); + expect(data.dimensionDifference.width).toEqual(0); + expect(data.isSameDimensions).toBe(true); + expect(data.misMatchPercentage).toEqual('8.66'); + resolve(); + }); + }); + }); +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9614a27 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2084 @@ +{ + "name": "resemblejs", + "version": "2.2.4", + "lockfileVersion": 1, + "dependencies": { + "abab": { + "version": "1.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/abab/-/abab-1.0.3.tgz", + "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=", + "dev": true + }, + "acorn": { + "version": "4.0.13", + "resolved": "https://proget.huddle.local/npm/npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://proget.huddle.local/npm/npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://proget.huddle.local/npm/npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "assertion-error": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "dev": true + }, + "async": { + "version": "2.5.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha1-hDGQ/WtzV6C54clW7d3V7IRitU0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true + }, + "babel-core": { + "version": "6.25.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-core/-/babel-core-6.25.0.tgz", + "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", + "dev": true + }, + "babel-generator": { + "version": "6.25.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", + "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", + "dev": true + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true + }, + "babel-jest": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", + "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", + "dev": true + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true + }, + "babel-plugin-istanbul": { + "version": "4.1.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.4.tgz", + "integrity": "sha1-GN3oS/POMp/d8/QQP66SFFbY5Yc=", + "dev": true + }, + "babel-plugin-jest-hoist": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz", + "integrity": "sha1-r+3IU70/jcNUjqZx++adA8wsF2c=", + "dev": true + }, + "babel-preset-jest": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", + "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", + "dev": true + }, + "babel-register": { + "version": "6.24.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-register/-/babel-register-6.24.1.tgz", + "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", + "dev": true + }, + "babel-runtime": { + "version": "6.25.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", + "dev": true + }, + "babel-template": { + "version": "6.25.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "dev": true + }, + "babel-traverse": { + "version": "6.25.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", + "dev": true + }, + "babel-types": { + "version": "6.25.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", + "dev": true + }, + "babylon": { + "version": "6.17.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/babylon/-/babylon-6.17.4.tgz", + "integrity": "sha1-Pot0AriNIsNCPhN6FXeIOxX/hpo=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://proget.huddle.local/npm/npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true + }, + "browser-resolve": { + "version": "1.11.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", + "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "dev": true, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "bser": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chai": { + "version": "3.5.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "ci-info": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/ci-info/-/ci-info-1.0.0.tgz", + "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "content-type-parser": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", + "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "dev": true + }, + "core-js": { + "version": "2.4.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true + }, + "cssom": { + "version": "0.3.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://proget.huddle.local/npm/npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "debug": { + "version": "2.6.8", + "resolved": "https://proget.huddle.local/npm/npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true + } + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true + }, + "diff": { + "version": "3.3.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/diff/-/diff-3.3.0.tgz", + "integrity": "sha1-BWaVFQ16qTI3yn43isOxaCt5Y7k=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true + }, + "errno": { + "version": "0.1.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "exec-sh": { + "version": "0.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", + "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true + }, + "extend": { + "version": "3.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://proget.huddle.local/npm/npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://proget.huddle.local/npm/npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true + }, + "globals": { + "version": "9.18.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://proget.huddle.local/npm/npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handlebars": { + "version": "4.0.10", + "resolved": "https://proget.huddle.local/npm/npmjs.org/handlebars/-/handlebars-4.0.10.tgz", + "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "dev": true, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", + "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://proget.huddle.local/npm/npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://proget.huddle.local/npm/npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true + }, + "is-ci": { + "version": "1.0.10", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-api": { + "version": "1.1.11", + "resolved": "https://proget.huddle.local/npm/npmjs.org/istanbul-api/-/istanbul-api-1.1.11.tgz", + "integrity": "sha1-/MC0YeKzvaceMFFVE4I4doJX2d4=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.0.7", + "resolved": "https://proget.huddle.local/npm/npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", + "integrity": "sha1-3WYH8DB2V4/n1vKmMM8UO0m6zdw=", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.7.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz", + "integrity": "sha1-6f2SDkdn89Ge3HZeLWs/XMvQ7qg=", + "dev": true + }, + "istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha1-8OVfVmVf+jQiIIC3oM1HYOFAX8k=", + "dev": true, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", + "integrity": "sha1-pv4ay6jOCO68Y45XLilNJnAIqgw=", + "dev": true + }, + "istanbul-reports": { + "version": "1.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha1-BCvlyJ4XW8P4ZSPKqynAFOd/7k4=", + "dev": true + }, + "jest": { + "version": "20.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest/-/jest-20.0.4.tgz", + "integrity": "sha1-PdJgwpidba1nix6cxNkZRPbWAqw=", + "dev": true, + "dependencies": { + "jest-cli": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", + "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "callsites": "2.0.0", + "chalk": "1.1.3", + "graceful-fs": "4.1.11", + "is-ci": "1.0.10", + "istanbul-api": "1.1.11", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-instrument": "1.7.4", + "istanbul-lib-source-maps": "1.2.1", + "jest-changed-files": "20.0.3", + "jest-config": "20.0.4", + "jest-docblock": "20.0.3", + "jest-environment-jsdom": "20.0.3", + "jest-haste-map": "20.0.4", + "jest-jasmine2": "20.0.4", + "jest-message-util": "20.0.3", + "jest-regex-util": "20.0.3", + "jest-resolve-dependencies": "20.0.3", + "jest-runtime": "20.0.4", + "jest-snapshot": "20.0.3", + "jest-util": "20.0.3", + "micromatch": "2.3.11", + "node-notifier": "5.1.2", + "pify": "2.3.0", + "slash": "1.0.0", + "string-length": "1.0.1", + "throat": "3.2.0", + "which": "1.2.14", + "worker-farm": "1.4.1", + "yargs": "7.1.0" + } + } + } + }, + "jest-changed-files": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-changed-files/-/jest-changed-files-20.0.3.tgz", + "integrity": "sha1-k5TVzGXEOEBhSb7xv01Sto4D4/g=", + "dev": true + }, + "jest-cli": { + "version": "20.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", + "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", + "dev": true + }, + "jest-config": { + "version": "20.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-config/-/jest-config-20.0.4.tgz", + "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", + "dev": true + }, + "jest-diff": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", + "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", + "dev": true + }, + "jest-docblock": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz", + "integrity": "sha1-F76phDQswz2DxQ++FUXqDvqkRxI=", + "dev": true + }, + "jest-environment-jsdom": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", + "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", + "dev": true + }, + "jest-environment-node": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", + "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", + "dev": true + }, + "jest-haste-map": { + "version": "20.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-haste-map/-/jest-haste-map-20.0.4.tgz", + "integrity": "sha1-ZT61XIic48Ah97lGk/IKQVm63wM=", + "dev": true + }, + "jest-jasmine2": { + "version": "20.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", + "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", + "dev": true + }, + "jest-matcher-utils": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", + "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", + "dev": true + }, + "jest-matchers": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", + "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", + "dev": true + }, + "jest-message-util": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", + "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", + "dev": true + }, + "jest-mock": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-mock/-/jest-mock-20.0.3.tgz", + "integrity": "sha1-i8Bw6QQUqhVcEajWTIaaDVxx2lk=", + "dev": true + }, + "jest-regex-util": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-regex-util/-/jest-regex-util-20.0.3.tgz", + "integrity": "sha1-hburXRM+RGJbGfr4xqpRItCF12I=", + "dev": true + }, + "jest-resolve": { + "version": "20.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", + "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", + "dev": true + }, + "jest-resolve-dependencies": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", + "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", + "dev": true + }, + "jest-runtime": { + "version": "20.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", + "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", + "dev": true, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "jest-snapshot": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", + "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", + "dev": true + }, + "jest-util": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-util/-/jest-util-20.0.3.tgz", + "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", + "dev": true + }, + "jest-validate": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", + "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.9.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/js-yaml/-/js-yaml-3.9.0.tgz", + "integrity": "sha1-T/u/JcKsljuCmdx02n43QN4cGM4=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsdom": { + "version": "9.12.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jsdom/-/jsdom-9.12.0.tgz", + "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true + }, + "leven": { + "version": "2.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://proget.huddle.local/npm/npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true + }, + "merge": { + "version": "1.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/merge/-/merge-1.2.0.tgz", + "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://proget.huddle.local/npm/npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true + }, + "mime-db": { + "version": "1.29.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/mime-db/-/mime-db-1.29.0.tgz", + "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=", + "dev": true + }, + "mime-types": { + "version": "2.1.16", + "resolved": "https://proget.huddle.local/npm/npmjs.org/mime-types/-/mime-types-2.1.16.tgz", + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://proget.huddle.local/npm/npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-notifier": { + "version": "5.1.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz", + "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "dev": true + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwmatcher": { + "version": "1.4.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/nwmatcher/-/nwmatcher-1.4.1.tgz", + "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true + }, + "p-map": { + "version": "1.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/p-map/-/p-map-1.1.1.tgz", + "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-format": { + "version": "20.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", + "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + } + } + }, + "private": { + "version": "0.1.7", + "resolved": "https://proget.huddle.local/npm/npmjs.org/private/-/private-0.1.7.tgz", + "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", + "dev": true + }, + "prr": { + "version": "0.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://proget.huddle.local/npm/npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "dev": true, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", + "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true + }, + "request": { + "version": "2.81.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.4.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/resolve/-/resolve-1.4.0.tgz", + "integrity": "sha1-p1vgHFPaJdk0qY69DkxKcxL5KoY=", + "dev": true + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", + "dev": true + }, + "sane": { + "version": "1.6.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/sane/-/sane-1.6.0.tgz", + "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", + "dev": true, + "dependencies": { + "bser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", + "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", + "dev": true, + "requires": { + "node-int64": "0.4.0" + } + }, + "fb-watchman": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", + "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", + "dev": true, + "requires": { + "bser": "1.0.2" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, + "semver": { + "version": "5.4.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "shellwords": { + "version": "0.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/shellwords/-/shellwords-0.1.0.tgz", + "integrity": "sha1-Zq/Ue2oSky2Qccv9mKUueFzQuhQ=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://proget.huddle.local/npm/npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://proget.huddle.local/npm/npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "source-map-support": { + "version": "0.4.15", + "resolved": "https://proget.huddle.local/npm/npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", + "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", + "dev": true + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "string-length": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/string-length/-/string-length-1.0.1.tgz", + "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "test-exclude": { + "version": "4.1.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "integrity": "sha1-TYSWSwlmsAh+zDNKLOAC09k0HiY=", + "dev": true + }, + "throat": { + "version": "3.2.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/throat/-/throat-3.2.0.tgz", + "integrity": "sha1-UMsGcO28QCN7njR9fh+I5GIK+DY=", + "dev": true + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://proget.huddle.local/npm/npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://proget.huddle.local/npm/npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true + }, + "type-detect": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://proget.huddle.local/npm/npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://proget.huddle.local/npm/npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true + }, + "walker": { + "version": "1.0.7", + "resolved": "https://proget.huddle.local/npm/npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true + }, + "watch": { + "version": "0.10.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/watch/-/watch-0.10.0.tgz", + "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=", + "dev": true + }, + "webidl-conversions": { + "version": "4.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/webidl-conversions/-/webidl-conversions-4.0.1.tgz", + "integrity": "sha1-gBWherg+fhsxFjhIas6B2mziBqA=", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", + "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", + "dev": true + }, + "whatwg-url": { + "version": "4.8.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", + "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", + "dev": true, + "dependencies": { + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + } + } + }, + "which": { + "version": "1.2.14", + "resolved": "https://proget.huddle.local/npm/npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://proget.huddle.local/npm/npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "worker-farm": { + "version": "1.4.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/worker-farm/-/worker-farm-1.4.1.tgz", + "integrity": "sha1-pDi8mTp6fRM7y2VHyV7KfP9Il9g=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://proget.huddle.local/npm/npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://proget.huddle.local/npm/npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://proget.huddle.local/npm/npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json index 110e707..79fd226 100644 --- a/package.json +++ b/package.json @@ -20,5 +20,20 @@ "bugs": { "url": "https://github.com/Huddle/Resemble.js/issues" }, - "homepage": "https://github.com/Huddle/Resemble.js" + "homepage": "https://github.com/Huddle/Resemble.js", + "scripts": { + "test": "jest ./nodejs-tests", + "test-watch": "jest --watch ./nodejs-tests" + }, + "devDependencies": { + "chai": "^3.4.1", + "jest": "^20.0.4", + "jest-cli": "^20.0.4" + }, + "peerDependencies": { + "canvas": "^1.6.5" + }, + "jest": { + "testEnvironment": "node" + } } diff --git a/resemble.js b/resemble.js index 78d4e12..4afe297 100644 --- a/resemble.js +++ b/resemble.js @@ -61,7 +61,13 @@ URL: https://github.com/Huddle/Resemble.js var errorPixel = errorPixelTransform.flat; var largeImageThreshold = 1200; var useCrossOrigin = true; - var document = typeof window != "undefined" ? window.document : {}; + var document = typeof window != "undefined" ? window.document : { + createElement: function() { + // This will work as long as only createElement is used on window.document + var Canvas = require('canvas'); + return new Canvas(); + } + }; var resemble = function( fileData ){ @@ -151,16 +157,24 @@ URL: https://github.com/Huddle/Resemble.js function loadImageData( fileData, callback ){ var fileReader; - var hiddenImage = new Image(); + var hiddenImage; + if (typeof Image !== 'undefined') { + hiddenImage = new Image(); + } else { + var CanvasImage = require('canvas').Image; + hiddenImage = new CanvasImage(); + hiddenImage.setAttribute = function setAttribute() { }; + } + if(useCrossOrigin) { hiddenImage.setAttribute('crossorigin', 'anonymous'); } - hiddenImage.onerror = function () { + hiddenImage.onerror = function () { hiddenImage.onerror = null; //fixes pollution between calls images.push({ error : "Image load error."}); - callback(); + callback(); }; hiddenImage.onload = function() { @@ -201,7 +215,9 @@ URL: https://github.com/Huddle/Resemble.js images.push(fileData); callback(fileData, fileData.width, fileData.height); - + } else if (typeof Buffer !== 'undefined' && fileData instanceof Buffer){ + // If we have Buffer, assume we're on Node+Canvas and its supported + hiddenImage.src = fileData; } else { fileReader = new FileReader(); fileReader.onload = function (event) { @@ -482,6 +498,13 @@ URL: https://github.com/Huddle/Resemble.js return hiddenCanvas.toDataURL("image/png"); }; + + if (hiddenCanvas.toBuffer) { + data.getBuffer = function() { + context.putImageData(imgd, 0, 0); + return hiddenCanvas.toBuffer(); + } + } } function addLabel(text, context, hiddenCanvas){ diff --git a/tests/main_spec.js b/tests/main_spec.js deleted file mode 100644 index 90dd231..0000000 --- a/tests/main_spec.js +++ /dev/null @@ -1,79 +0,0 @@ -var expect = chai.expect; - -var people_src = "data:image/jpeg;base64,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"; -var people2_src = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4TIraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTNSAxMS4wLjAuNDg0IFdpbmRvd3M8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTItMDktMjVUMDk6MTY6MDdaPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDMtMjVUMTY6NDE6MTBaPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9ybWF0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pv/bAEMAEAsLDAwMEQ0NERgQDhAYHBURERUcIRkZGRkZISAZHBwcHBkgICUnKCclIDAwNDQwMEBAQEBAQEBAQEBAQEBAQP/bAEMBERAQEhMSFhISFhYSFRIWHBYXFxYcKBwcHRwcKDElICAgICUxLC8oKCgvLDY2MTE2NkBAP0BAQEBAQEBAQEBAQP/AABEIAfQB9AMBEQACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAAAQUEBgcDAv/EAE8QAAEDAQMGBwoKCgICAgMAAAABAgMEBRESBhMhMUFRFCIyUmFxkRUjM0JygaGxwdEHNFNiY3OSorLhFiQ1VGSCo8LS4kOTJfE2g0Wzw//EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf/EADMRAQACAAMGAwYGAwEBAAAAAAABAgMRMQQSITJBURMUcSJhgZGh4VJiY3KisTNC0SPB/9oADAMBAAIRAxEAPwDfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPKoqYKWNZaiRsUaa3OW5PSBrNoZf2bTqraSN9W5PG8GztVL/QBSVHwgWvJ4FkMKeSrl7XLd6AMN2WuUKroqkb0JHH7WKBLMtcoW66lH9ccfsagGXF8INrt8JHDKnUqL6HewCxpvhGhW5Kqjc3e6J6O+65G+sC7o8rrDq9DalInL4s3E+8vF9IFw1zXtRzVRWrqVNKAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwKC2KS0KiogpXY+C4EfInJVX4tDV23YQKrKLK+nsnFT0909Ztb4kflqm3oA59aFqVtpy56slWV2xPFb0NbqQJYoAAAAAAM+ybHq7XqMzTt0J4SReQxN6qB1CxrHprHpUp4NKrpkeutzt4QsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRMssqFVX2XQvuROLUypt3xtX19gGt2ZbVVZcNTHSrgkqUa1ZdrUbfyenTrCVeqqq3rpVdagAAAAAAAALaw8o62xXXRXPp3LfJCupdl6LrRQh0qyLYpLXpknpndD2LymLuVAM8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABreWNvLZVJmKd11ZUouFdrGald17E/IDmgSAAAAAAAAAAADNsq1amyattRAvQ9nivbtaoHWLOtCC0qRlVTreyRNW1F2ovSgQygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfL3tjY57lua1Fcq7kTSoHH7YtJ9p2hNVv1PXvbeaxNDU7AlhAAAAAAAAAAAAAA2nIW2VpK7gEq94q+R82XZ9rV2BDowAAAAAAAAD5aqO0tW9PcB8STRRYc49rca4W3rdicupEv1qB6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK61raobJizlVJc5eRG3S93UgGmWh8IFozKraKNlO3Y5e+P9PF9AFO/KW3HriWulv+a7CnY24JfcGVVvQLe2te7ofc/8aKEL+y/hCXEkdpwph+Wh2dbF9i+YDc6Wrp62JJ6Z6SxO1OaB7gAAAAAAossqtaWwqjDyproU6nrxvu3gctCQAAAAAAAAAAAAAH1HI+J7ZGLhexUc1dyppRQOx2bWNr6KCqbozzEcqbl2p5lCGUAAAAMGe1qOmrYaKV+GaovWNNmjevTsAostcoJLPiipKSTBVSqkjnpraxq6PtKnZeBhMy+R1lSY24bSRMDLk4jlXRj6LtwFBYeUtZY8zl8PBIt8kLl1rzkXTc4DGtS2a21ajP1D9LfBMbobH5Ke0JX0GX1TFZqQvizta3ipO7kq3Y5yJpV3/sIXGRdvzWlHPT1j8dTGuca7Vex2v7K+sC3ZlBZcteyz4pkkqHYuRpRMKYlvdq2AWYAAAAAAAAAAAAAAAAAAAAAAAAAp8o7eisWlxcuokvSGPp3r0IBy6rq6itnfPUvWSV63ucvqToCXiAAAALOxLcqrGqc7CuKJ3hol5L09i7lA6nQ1sFoU0dVA7FHIl6e5eoIZIAAAAAan8Il/cqDm8IS/rwPuA54EgGbZ1mvrVcuqNia97tiBDCCQAAAyaChlrZcDNDE5b9yAXFTk9C5L6dyxuTY7SihCsfYtoMW7N4ulqoB9x2DXv5SNj8pf8bwPCvs+She1r1xI5L0cmrpQJYoADpmQsucsGNvyUkjE7cf9wQ2MAAAAcmymtFa+2aidruIx2biX5sei9OtdISwK2tnr51qKhcUqta1V06cDUZfpVdK3XqB4AAAACWuc2/Cqpely3bU3AZdj1iUFpU1U7kRSNV92vDqd6AN2pcuG11rU9HBBgp5XYVkk5a3ouG5E0Jpu3hDbQAAAAAAAAAAAAAAAAAAAAAAADkeUFqOtW0pai/vScSBN0bdXbrCVYAAAAAADb8gLVdFVvs2Re9zor4k3SNTT2t9QQ6AAAAAAGv5aUi1NhzKml0DmzJ5tC+hVA5gEpa1XKjU0quhEA3Cjpm0tOyFNicZd67VCGp1bM3Uys5r3J6Ql5AAM+z7JnrFRy8SHa9dvkhDZaenipo0iiTC1PT0qB6AAAGNaNGlZTOj8dNLF+cBqKorVVq6FTQqBKAOnZEQrFYMLl/5Xvf8Aew/2hDYQAACvt2u7n2XU1SLc5jFRnlu4rfSoHIAkAAFRU16AAAAAA9aSdaaqhqE1wyNkT+VUUDtKKipegQkAAAAAAAAAAAAAAAAAAAAACsyjqFprFrZE0Lmlai9L+J7QORhIAAAAAADKsqoWltGlqE0ZuVir1X6U7AOyBAAAgIAPiWNk0b4pExMeitcm9F0KgHIrYs2Sy6+Wkk8Vb43c5i8lQksePOV8SbGri+yl6ekDawKG0LHqqitkkiRM265Ucq9GnpAmLJt3/NMidDEv9K3AWFPY9FBpRmN3Ofp9GoDNAAAAAABqNppdXT+WoSx443yyNijTE96o1qb1XQiAdioKVtFRwUrdULGsv33JpXzhVkgAJvCWqfCFU4LMhp0/5pb16mIq+tUA56xjpHIxiYnO0IiBK/osn42Ij6pcbuYnJTrXaELWKCGFLomNZ1JcB9PYx6XPajk3LpAxm2XQtfnEgbi7U+zqA98zFddgbduuQDxls2il5ULetqYV9FwFJaNiSUyLLB3yJNaeM33gVYS7DY02fsujl2uhjv68KX+kIZwAAAAAAAAAAAAAAAAAAAAAFLlRNClAlNMmJtXI2O7q7562gat3Is/5FO1feA7kWf8AIp2r7wHciz/kU7V94DuRZ/yKdq+8B3Is/wCRTtX3gO5Fn/Ip2r7wHciz/kU7V94EOsugjar0iRMKX33rs84G90dQ2qpYahuqZjZPtJeSh7gQAAAAKTKfJ9ts0t8dzauG9YXb/mL0KBoti08sFpSRTMWOWJjsTXaFRb0T2kJbCAAAAAAAAAAANUthLrQm60/CgF5kLZPCq5a+RveaXkbllXV9lNPYCXQyUAAABpPwkf8A4/8A+7/+RCYa3YK3V6dLXe8DZgAAAAAAANQtFjWVszWJc1HaEQJdNySfjsCiW+/iuT7L3J7AhcgAAAAAAAAAAAAAAAAAAAAAaBl5aKpadJA3VSpnV8p66uxvpA92Pa9qPbpa5L0XoUCQAAAAAAYVr1GYopOdJxG/za/QBsORFXwiw42LpdTvdEv409DgS2AlCAAAAACFVbNnwSMWsRicJjS7OJrVl6Xou8JUJCQAAAAAAAAAA16soJ6+2+C06XyS4epEwpeq9CIB0mzLPhsyjjpIeTGml21ztrl6yUMsAAAAaf8ACLFfS0c3Mkcy/wAtL/7SEw1KxVutGHpxJ91QNqAAAAAAAA1G1Pj8/lBLpWR7cNgUfU9e17lCF2AAAAAAAAAAAAAAAAAAAEAAOQW9W8OtaqqdbXSKjPJbxW+hALCwa9HM4JIvGb4PpTd5gLkAAAAAGrSoGrWvX8MnuZ4GPQ3p3qBsXweVeGeqo1XltbK3+VcLvxICW8kqgAAAAAQ5Ec1Wu0oqXKgGqVVO6mmdE7ZqXemxSFniAAAAAAAAAlEVVuTWoGw2bZUFGqz4f1qRqJI/oTxU6CULAIAAAABUZUWc60rImij8LHdLHfvZrTsvCYc3s9HRWhCj0wuR6IqL06CEttAAAAAAAA1K0mq60JmtS9VfciIEuq2LTPo7LpKeRMMkcTUem5117k7QhnAAAEgAAAAAAAAAAAAAgABAQwLcreA2VVVN9zmRrg8p3Fb6VJS5CQlKKrVRzVuVNKKgGwWfbsciJHVLgf8AKeKvXuCFuioqXppRdoAAB5zTxQNxyvRjekDX7Ttl1Uiww3sh2rtd+QFWErfJWq4LbdK6/iyOzTv/ALOKnpuCJdTLKoAAAAACAMK06HhUeJnhWcnpTcQNdVFRbl0KmtCFkAAAAAAAAW9kUC3pUyp9Wn9xKJlckoAJAAAAHzI3GxzOcip2gaNV2dHNMyXkTxORcW/CupSqzKAAAAAAAA8LNspi2nn38Z8kiYPmt39YG9koAJAECQkAkAAAAAAAABAEACUAEAavl/M9lkxsbyZJkR/UjXOu7SEw52EgADZcn/iP86+wIWYADTKqR753q9yuXEutb9oS8gAH0x7o3te3Q5qo5F6U0gdjhkzsTJNWNqOu60vLKPsAEAACAAADBr7NZVcdvEl37F6xknNRTU8sDsMrcK+vqKrPMAAAAS1rnLhal6rqRALehsi5UkqfNH7yckZrclUAASAAAAkA121qdYapXJyJeMnXtKphghIAAAAAAC1sKmxSuqF1M0N8pfyAviUJAAAJAECQkAkAAAAQAAglCAAACAKy37KS1rOkptUnLicupHt1duoDllTTT0kzoKhixysW5zVIWeQADZcn/iS+WvsCFmAA0qfw0nlL6wl8AALfJ6wZ7XqU4qtpGL36XZ5LelQiZdQ0JoTUWUAAAASAHlNVU8HhpGs8pbiYra2kTKtr1rzTEerFdblmN1zp5kcvqQ08DE/Cy8xhfi/t893rM+W+4/8AxHgYv4frB5nB/F9JfL7asiRuF8qObuVjv8R4GJ+H6weZwvxfSVdV9z3sSWiVV41y6HYd/jIZ3w7U5oy+LXDxa35Zz+DEM2oB70kcUk101+bRFc7DpXQl+xFJiM5yRad2M1lBati06XRPRvTgff24Tfy+J+H6w5vM4X4vpL17vWZ8t9x/+I8DF/D9YPM4P4vpJ3esv5f7j/8AEeBi/h+sHmcH8X0l6R2vZ0i3Nnb5+L+K4icHEj/WVox8Kf8AaP6ZiKipemlF2mbRISACAAAeFZStq4VjXQ7W125QlrUsT4XrHIlzmlVnwAAAAAHtS00lVKkcfnXYibwNop4WU8TYmam+npJVegEgAkAkABIAgSEgEgQBBKEAQAAAQEAACvtehsyqhvtCJr0TU7x+pqppCWtzWZkvEl6Usrv51T+4msZzki1t2MxtlZMuajuCS6fpF/yInhOSYnOM+764PRU/EoWOjh14XLet+3WqkJAAEdysnHaX0squXS5ca69vjA4vNLOyZWRY+CS6NucX/Ivu+zvKb/tbrLpLEyZklanB3I7Ykj3YV+8V4LcWzRxRwsSOJqMY3Q1rUuRPMhKr6JAIAAEAYlqV3AqV0qeEXixp85fcaYVN+2XTqzxsTw6TPXSGmySPker3qrnO1qp6MREcI4PJmZmc54y+SQA9aaCSomZCxL3SLcnvK2tFYm06QtWs2tFY1lstq0bKSggji5MbrlXeqpfevYeXe83mZnrL2KYcUiKx0hTlGgBZWCzFW38xir7PaBiZQ2UlJJwmJLoZV0oniu3dSnobPi70bs61+sPM2rB3J368tvpKmOlyAAC0sK0H09S2Fzu8Srdcuxy6lQwx8OLV3usOjZsWa2is8tm1nA9IvAkAACUgY9XRRVbbn6HJyXprQgzUdTZtTT+LjZzm+0rktmxAkAnWBnUtk1E+l6Zpm9dfmQZIzXlNTRUzMESXb12r1lkPYABJAAAJCQCQAEgCBISglCAIAgAEAEASSPGeoip2K+Vbk9ZCWt1lZJVyYnaGeKzcQlg1XgvOaYXMyxuR9xeDb1Fb80+q9OWPR9lVgAAAx2/GlNp/xQwj/NLIMW6+suvz7M1IvfW7echaFZhnkqgAAAA1S363hFVmm+Dg4v8AN43uO/Z6btc+tnm7Tib18o0rw+PVVm7nAAF/knTI6aadfERGt63a/Ucm124RXvx+Tt2GvtWv2jKPivbUgWeika3lN4yeb8jhei1UABe5PQXMknXxlwt82sDLtqFJbNqG81mP7HG9hpgzliV9cvmx2iueFf0z+TRT1XjgACdQG6WdVcLpI5fGVLn+UmhTzMSu7aY+T1sK+/SLfP1ZRRoAAMG0bWhoLmqmOVdKMTdvVS1a5q2vFVd+lX8N/U/0LeH71PF931P0q/hv6n+g8P3ni+76oXKp2ynT7f8AqPD96PF9zFkqOEvWe7Dj03bjG0ZTk6KTnWJfBCz0hq+BPz6Nxq3xdWvQWpGc5KXtu1zZP6VSfu6fa/I18P3sfG9x+lT/AN3T7X5Dw/eeN7j9K3/u6fa/IeF7zxvcsbPt2mrXZtUzUq6mu1L1KVtSY969cSJ9yzKNACSAAASEgEgAJAgCAIABCABIgDyqqqOljzj/AOVu1VIS1qqqZKmVXvXVyW7EIS8QPGqVM3dtNMLmZY3K+onszbUvS+4i0TvTwlNLRuxxjR6FGgAAhXNTWqE5T2RnHeGOxycJVb9BrMT4bCJjxZZJi6H0x7o3o9i3ObpRQNjo6ttVFjTQ5ND27lLqS9wgAAYlp1nA6R8njrxY/KX3azTCpv2iOnVljX3KTPXSPVpuvSp6TykAAAG25KNuoHu3yL6EaeftfPH7Xp7FH/nPvsvDmdajr7Dc56yUt1ztKxrou6gMeCw6x70SVEiZtW9FXzXXgbBDEyCNsTEua1LkA8674nUfVP8AwqWpz1/dCmJyW/bLnx67xAAAAu8mqvDK+lcuh/GZ1pr9By7TXhFu3CXXsl+M078YbGcjvCB8ySNjY6R63NYiqq9CEoaTV1LqqofO7W9dCbk2IbxGUZOaZznN4koAAHvBPm+K7kmd6Z8Y1a4eJu8J0e/CIt5l4duzbxad2PPNnNCclDWlN31YYmJvaaPE0ZgACUVUW9NCpqUDdrMq+F0ccy8q65/lJoU57RlLqrOcZssqukABJAASACUgAIABD5AEiAAGPWVcdJHifpd4rN5A1yoqJKl6ySLfuTYhCzyA+JH4GK4msZzkracozYLnK5b10qdURlo45mZ4yglABOJd5GSc5LyUIAAZdNKruKutNRhiVy4x1dODfPhPR7mTZ7UtS+mlR7dXjJvQEtiilZKxJGLe1xdm+yUAGrW/WZ+qzLV4kOj+bb7ju2emVc+tv6edtOJvX3elf7VZu5wAAA2rJOS+klj2tkxfaRPccG1x7cT3h6WxT7Fo7W/t72tb0VFfFEiSVG1PFb5XuKYWzzfjPCv9r4+0xh+zX2rfSGsVNqV1Ut8szlTmotzexNB3VwqV0rDzr42JfmtPp0eLJ5o1xRyOYu9FVC01idYiVItaNJmF1ZuUssbkjrePH8r4zevec2Ls0Txpwnt0dmDtkxwxOMd+q8tWoY2y55Wre10dzVTbj4qes5cKv/rWO0/068e0eDae9f7aKeq8cAAAPSnmdTzMmbrYt5W0b0THdNbbtotHSW7RyNljbI3kvRFTznmTGU5dnrxOcRMdX2EqXKKtwRNpWrxpNL/JT3qXpHVniT0a4asQAAAAAAAAAAAX2TFVc+SlVdDuOzrTQvoM8SOrXCno2MxbpABKQAEkABIAJQEAEEiAAGLW1sdIy92l/is3ga7UTyTyrJIt7vV0FVnkBkUlJJVSYG6GpynbgZsq3aRkVnMSJLs29L12rffeqmtNWGLy/Frhu5wAAAAAAFlYdKlTPK12pI1uXct6XGeJo0wub4PSaJ8Mixv1oc7reYGbZ1bwd+B/gna+hd5MSiYXt5dmxbSq+B0r5fG1M8pdRfDpv2iPmzxb7lJnr09WnKqqt661PSeUgAAAAZdBaU1Bnc1rlbh6l2O8xliYcXyz6S1wsW2Hvbv+0ZfdiqquVVVb1XSqqaMhEVVuTSq6kA+5YZoVulY6NV0ojkVPWImJ0mJ9EzWa80THq8yUMpa+ZaLgSrfEj8ab0+b1X6TPw67+/wBcsmni28Pw+mebFNGYAAAANlydqs5Tugdyol0eSv5nFtFcrb34nfst867v4f6Wr3tjY571ua1L1XoQ53U0ysqXVVQ+Z3jLoTcmxDeIyhzTOc5vAlAAAAAAAAAAAAPejqFpamOdPEdevVt9BExnGSYnKc28tcjkRyaUXSinO60kABIAJSBIAgABIgCAIvCGLW10dI3XfIvJaE5NdllfM9ZJFvcpVZ8AZNFRPq36NEacpwyM2wQU8cDMEaXJ6yykvisp21VNJAvjp6dhMKzo0l7HMcrHJc5q3KnSh0uV8gAAAAAA2mwaTg9JnHcubjL5Pi+8xvPH0b0jKPVkV9GlTHenhW8ld/QUmGkTkoVRWqqLoVNaFGiALWy63VTyL9WvsLRKlo6q236zPVOZavEh0L5W09DZ6ZVz62/p5m033r7saV/tVG7nAAAAAAAWuTckEdffNciq1UjVdjtHsvOfaYtOH7Pfj6OnZJrGL7Xbh6rjKiWDgaRuVFmVyLGm1N69Vxz7LFt/PplxdW2TXw8p5s+DUj0HmAAAAAAAMyyqrgtYx66GO4j+pTPFrvUmPjDXBvuXiek8JXtszJmeD/KcrqT8zzZnJ6sVz1a9JSqmlmnoNK4vdnbBn/Xi8FRU0LoNWExlqgAAAAAAAAAAAfTWOfyUvImYjVMVmdIbdYkzn0TY3re+Li+bxTnmYmeDpiJiIiVgFkgCBIAJSAAkgQSIAgIYdfXtpW4U0yrqbu6VIS1573yPV71xOUhZ8gZlBQPq3Yl4sTdu/qCM1/FG2JmCNMLSyj6JEBLWMoqTNVKTt5M2vyk19ptSeGXZz4kcc+6oLswAAAAZVm0vC6tkS8nlP8lCJnKE1jOW46tCGDpAK206LGmfjTjJy03pvKzC1Z6Kgqu+ZJM23Ft2dZphU37xX5+jPGxPDpNvhHqwFVVW9dKrrU9R4qCROvQgGVaNJwR0MfjrEjn+UquM8O+9nP5uDTFpubsdd3OfViGjMAAAMiio5q2ZIYeUulVXUib1KXvFI3pXw8O2JbdqybSsSos9iSq5JI1W5XN2L0opnh49cSctJaY2z2woznKY9yuN2AAAAAJVFTWQIJACxbUPqGo963uREavm0Hl49d3EntPGHr7Nffwo7xwlJk3HQZ2GV92iJuK/1F8PmZ4uW6rTpcgAAAAAAAAAyaeFjm4naegxxLzE5Q3wsOJjOWSiImhDF0M6yZ81U4V5MnF8+wmESvyyiQJCQgAJAkJAIABDymfgie7moqgaq57nuV71vc7ldZWV0AZ1n2etSuOTRCn3iUTK8Y1GNRrUuampCyj7CEBISKjKRt9E1dqSJ6lL01Z4mnxawasAAAAAW2Tnxx/1a/iaUvovh6/Bshm2AAFNaVFmnZ2NO9u1puUpMNKypap+J2HY31ndstMq73W39PO2zE3r7kaU/t4HS5ACysOkz9VnHciHjfzeKY498q5dbN9npvXz6V4vvKL44z6tPxOK7PyT+5baueP2qo6HMAAAGdZFopZ1VnXNxMc3A9E13aFvTsMsbD8SuWk6w2wMXwr72sTGUrC2regrKfg0DXXOVFe52jVpuQxwMCaW3rZe7JttG01vXcrnx1mVCdbjAAAABYVdN/46lqU3Kx/aqoY0t/6Xr8W16f8AlS/wlXmzEA96V9z8POOXaqZ03vw/069jxMr7nS/9wyzgems5YMxZMt/Kc3E73GtI0Y4k5xLWjdzAAAAAAAAACwpolSlbL4quVvnS458XX4OrB5fi+jNqlFVFRU1pqA2enmSeFkqeMmnr2l2b1AkAEpAECQASBCAPhyYkuXUuhQKGosmpjd3lqvZsuuv7CMls3rR2Q9XYqhMLU8TaqiCVwiYURE0ImpCygSgCQIAKPKWoRI4qdNarjXqTQhfDjqyxJ6NeNWQAAAALCw5kirm36pEVnbpT0oVtotSeLajJugABjWjUMp6WR7tOi5GrtVdRelN60R82eJfcrNvl6tQPQeXrxQSAG22bScEpWsXlrxn9a+48/EvvWz6dHpYVNykR11lT5RfHGfVp+Jx0bPyT+5y7Vzx+1VHQ5wAAAsrBooq2swTaWsar8HOuuS70mG0XmlM66zOTo2bDrfEytpEZ5d1plDZdHFScIhYkT2uRLm6EVF6DDZ8W833ZneiXRtWDStN+sbsxPTq1k7nngAAAA2WkgSpsdsK+M1buu9VT0nFe27jZ9pd9K72BFe8NbVFRVRdCprOxwIJEoty3psImM4ynqmJmJiY1jiubNh4TK13iN4zvceVNMrTWej2YvFqRaP8AaFpanxCfyS9dWdtJaibMAAAAAAAAABsVl0+fshzE5WJzm9aGOJq6MLRXmLcAt7En0PgXZxm+0tCtlsSqAAJAkJCBIEACRAEXhCLwAEEoAIAhVREvXQBplfVLV1T5tirxfJTUbxGUOa05zmxyUAAAAAlFVqoqaFTSgG40VSlVTMm2qnG601mMxlLeJzh7EJANct6rzs6QNXiRa/KX3HZgUyrvfi/pw7TfO270r/aqOhzAGdZNGtVUov8Axx3OevqQxx7ZVy624N9npvXznSvH49G0nE9BrmUPxxn1aficdmz8k/ucG1c8ftVZu5wAAA9aeWaOVr4FVsqcnDrK2iJjK2iazaJia69MmRaNVaU2FtdjbdpaxzcCdd1yFMOuHH+PL1ic2uLfFtlGJn7omMmEasQAAAAbXZHxCHqX1qcGL/ks9LA/x1UltU2ZrFcnJl46de30nTg2zp+3g49oru3z6W4q82YgF7k7OmGSDxuWnVq9BybRXjvd+Eu3Zb8Jp24wsLU+IT+SYRq6baS1I1YAAAAAAAAADacn/iCeU4yvq3w+Vh2lBmalbuS/jJ7TGW8aMQhL2pZsxOyTYi6eraCWzIt5dmASAAkCQkIAkQEIAAQBF4EEoAAFXb9XmKXNN5c2j+XaXpHFniTwauasQAAAAAAFxk9VYJHUzl0P4zPKTX6Cl46r0novzNq8K2pSlp3zLrTkpvVdReld60QpiX3KzZqDnK5yuct6rpVT0HloJADa7LpeC0rWry3cZ/WuzzHBi23re6OEPRwablI7zxllmbVruUPxxn1aficdmz8k/ucO1c8ftVZu5wAAAtcnJoIa++ZUbexUjVdSO0ey859pi04fs9+Po6dktWMX2uHDh6rfKeen4Hm1VHTK5FjTWqb1OfZa238+mXF07Zanh5cJtnwameg80AAAAG1WT8Qh6l9anBi/5Jejgf46qm1n8Je5+xmhvURgYmWJl0twW2nCzws+tOP/AFVnoPMAMihqeC1McuxF43kroUpeu9WYXw7bt4t82yWmt9BN5JwRq9K2jUzViAAAAAAAAANpyf8AiCeU4yvq3w+V7WpBnafEnKj43m2mctKyoijQA2CzJ87TIi8pnFX2F4UlmBABIACQlIEBCAAEACRAQgABAGoWtV8KrHuReIziM6k2+dTasZQ57TnLDLKgAAAAAAPuKR0UjZGcpi3p5gNwgmbPEyVnJel5i3UWUFSrpm06cmNMS+Uv5HXs9eG93cW1Xztu9uKpOhzAGfY9JwiqRzvBxcZ3XsQyxrbtffPBtgU3r+6vFsxxPQANeyg+Ns+rT1uOvZ+SfVw7Vzx+1Vm7nAAADJoaKWunSGPXrVV1IibVKXvFK70r4eHOJbdqybTsOaz40lxpJGq3KqaLl6UM8LHriTlllLXG2a2FG9nvQrTdzgAAAA2myfiEPUvrU4cXnl6OD/jqrKiFYpHRu83Shy6T6OzhaPXVVvbgcrdx6tLb1Yt3h4uJTcvNe0vkuoAXsNTn7FlavLibgXq2eg4sWuWJ68Xfg33sL314KIAAAAAAAAAA2iwPiCeU4yvq2w+VZ69BRo1yqhzE7o9iaurYZy0h4hLPseVWVGb2SJ6U0kwrZeF1EkJAJAASBAACABIgIQAAgDAtir4LRuu5cnEZ59a9hasZypecoambMAAAAAAAAABe5P1V7XUzl5PGZ1bUKWjq0pPRiW9C5lXnfFlRNPSmi46cCfZy7OPaa5Xz/ErTdgAbRZdJwWlRHJ3x/Gf7vMcOLbet7o4Q9DBpuU988ZZhm1ANeyg+Ns+rT1uOvZ+SfVxbTzx+1WG7nAAADNsm0O59TnlbiY5ML0TXcunR2GWNh+JXLSdYbYGL4V97WJ4Sz7at6Ktg4PTtVGqqK9ztGrYiJeY4OzzS29bL3ZNto2mMSu5WJ98yozrcYAAAANpsr4hD1L61OHF55ejg/wCOrIkhjlS6RuIyyzaxMxopLboWQYJYkuavFd160OrZ54TX4uTaozmL/CVSdLkAMyz84/PwM05yJdHS3ShjjR7MT2lvs8+1Md4YZg6AAAAAAAAABtVhscygZiS7EquTqUytq2posCq7AtSkdM1JY0vczWm9CswvWVMUXWdk0j8fCHpc1E4nTftLRCtpW5ZRIEkJAJAAAIAEiAhAACAAGq25V8Iq1YnIh4qdfjG1Y4erC85z6K4soAAAAAAAAAPalnWmnZMnirpTem0iSJybRNDBWw4X8ZjtLV9SoVraaznDS1YvGUqmTJ6TF3uVFb87QvovOiNojrHyc07LPS0fFk0VixU7kkldnHppRNTUX2md8abcI4Q0w9nis5z7UrMxbgEAUWUETs7HL4qtw+dFVfadWzzwmPfm49pjjFvdkqTocwAAAAAAAAAAANrs+N0VJEx3KRulOvScGJOd5l6OFGVKxPZkFGjxrKdKmnfDtdqXpTUWpbdtEqXrvVmrVZI3xPVj0wubrQ74mJjOHnTExOU6vglC7sGjc2+qel16XR+1Tlx7/wCsfF17NT/efgtJYYLnPWJjnXKulqaTndWTlufm+Ud2qY5z3l07te0Gfm+Ud2qM57ybte0Gfm+Ud2qM57ybte0NjyL7/XTtm74iRXoj+N4yby1ZnupesZaQpLQfLFXVMSPciMle26/c5UKzM95WitctIY+fm+Ud2qM57yndr2gz83yju1RnPeTdr2hdZJSq+2Io5Vxte1+hy3peiYtS9RMTOeqtqxlpDoRdmkAB8rHGq4lairvuIS9AAEgAlJAkAAAgCCRAQAAIAxbRquCUr5fG1M8pdRaIzlW05Q0/XpU2c6AAAAAAAAAAABsNhVWcp1hdyotXkqUs0rKzKrIAAAAQ85oY541jkTE1S0TMTnCLVi0ZSobVsxlDSS1bHq5saX5tU13qicrz7jbzOUca5/FhGyRM5RbL4Ztb7s/Q/e/Ip5z8n1+y/kP1P4/c7s/Q/e/Iec/J9fseQ/U/j9zuz9D978h5z8n1+x5D9T+P3O7P0P3vyHnPyfX7HkP1P4/ddUlNwmyX2liw4GyOzV19+bv0Yum7cX8zwz3fqpOx5W3d/wCn3Uvdn6H735FPOfk+v2X8h+p/H7ndn6H735Dzn5Pr9jyH6n8fud2fofvfkPOfk+v2PIfqfx+53Z+h+9+Q85+T6/Y8h+p/H7tkyajgroFrHt4zJFYjNaJciLf6ROPN44RukbNXDnjO82IzahABLxqKOnqfDMR25dS9qFq3tXSVLUrbmjN4x2TQxuxJHevzlVfQpacW89VYwcOOnzZpm1fMvgn+SvqCXJzB0gADaMhPjdSv0aestRnidFPlAzN2xVp9Irvtcb2kTqvXSFeQkAtMmn5u2qRfnK37TVb7SY1RbSXSzRiASAAkhKQAEgAlJAkCAIJAIQAAgCCUNdyjqFdOyDxWJiXrU0oyxJ45KcuzAAAAAAAAAAABlWbULT1cbtjlwu6lIlMatpM2oEAEEgBAFZlJ+xqryU/EhW2krU5oc7MXSAAAG92CzHk2xnOZMna56G1eVz35/k0QxdAAAAblkQ++kqGc2RF7Uu9hpRji6w2Y0ZAACSACQDyql/VpvId6gmHKzB0gADashETPVa7cLPWpejPE6K3KxmC2515yMd9xE9hW2q1OVTkLAGXZL83adI/dNHf1YkvEaonSXUzVgkJAJAECQlIACQJCQgCRAQgABAEBASNbyiiVtW2TxXs19KazSmjHE1VJdQAAAAAAAAAAAHtSsWSoiY3WrkBDbTJqgkAIAAAKnKhbrFqf5P8A9jSt+WVsPmhz4xdIAAAdDyb0WNS9TvxONq8sOa/NLn0rMEj2c1VTsMXQ+QkAAbVkM/jVbN6RqnmxJ7TTD6ssXo200YgACQJAEDxrVRKSdV1JG/1KJTGrlhg6gABtuQacatdtTNJ24/cXp1Z4nRhZasw2q13PhavpcnsIvqnD0a+VXAPuF+blY/muRexbwh1s1YJABKQAEkJSAAkAEpAgAEIAAQBBKADHrKOKsiWKTra7ai7yYnJExm16Wwq5j7mNSRuxyKiehyoab0MdyXx3FtH5H7zf8hvQblnxLZdbC3HJHc3fib7FG/U3LT0ePB5eb6UI8Svdbwr9ktpZ3ORrW6V0JpQeJXujwr9nv3GtD5L7zfeW3oRuydx7Q+S+833jehG7LxfR1EblY5lzk1penvK79e63h37Png8vN9KDxK90+Ffs9o7LrZGo9kd7V1Lib7yd6FZpaH0lj1/yV38zfeTnCN2VtZ1ltpO+SLimXsb1FZleIyZ5CQCAAAIQBU5Ur/4Wo6cH42lb8q+HzQ5+YukAAAOiZPoiWRS3cz1qqm9dIct+aWi2ozBaNU3dNJ+JTGdZdNdI9GKQkAAbFkU+6vmZzor+xzfeXw9WWLp8W6GrBISAAJAAY9o/Ean6qT8KkTomNY9XLzB1AADb8hG8SsdvWNOzH7y9OrLE6PDLpn6zTP3scnYv5i6cPq1co0AAHWKR+cpoZOcxru1LzVzvYCQASkABJCUgAJABIBAQAQBAQEiAAQgCAMK1l/V0Te5PUpFtFqaqczavejS+pj6/VpJjVFtJXhswAKa0W3VLum5TK2ranKxSqy2s1b6fqVU9prTRjiassszQSIAAAICACCRT5V/seXymfiQpflXw+ZoRi6QAAA6NYaYbKpE+javbpOiukOS/NPq0rKFmC16pPnX/AGkR3tMbc0umnLCuKrAAC7yRfhtZqc9j09vsL01Z4vK3s1c4AAkJAJAxbUdhs6rduhkX7qkTpK1dY9XMTB0gADcchW94qnb3tTsRfeaUZYnRGXbL46R+50iduH3EXMPq08o1AAHULEfnLKo3fQsTsS41jRhbWWcEAEhKQAEkJSAAkAEgQgABAEEoAIABCAIJFfa68SNOlSl16Koo0ZVnJfVN6L/UWrqrfRcmrFAQq7VTvrXb2+ozvq2w9GCUXWVlLxZG7lRe3/0aUZYnRnGjIAgABAQAQSAFLlY66yHpvexPTeUvyr4XM0QxdIAAAdIshMNmUifQsXtainRXSPRyW5p9Wn5Vsw2vIvPaxfRh9hlfmb4XKpyjQAAWeTb8FsUy9Lk+01ye0tTmhTE5ZdCN3MASQAEhIBi2t+zKz6iX8CkTpPomusermRg6gABueQyfqlQuxZETsT8zSjLE1h6Zbsvs2J/NmT0tcL6Iw9fg0gzbAADo+S78diUq7kc3se5DSujG2q2JVSBIAJSAIEhKQAEhIEIAAQBBKACAICACCRWWuumJOv2FLtKdVaUXZtlJ39y7m+1C1NVL6LY1ZICFfaqaI3daFL9GmH1Vpm1Z1lr3x7d6X9n/ALL01Z4mkLI1YoAAAhAEEgACFJlb+yXeWwpflaYXM0UxdIAAAdKsxMNn0rd0MafdQ6Y0j0cduafVqmWTLrRjdzoU9DnGWJr8G+Dy/FQGbUAAZdkvzdpUjvpmX+dyITXWFbcs+jpR0OQCQCSAAkJYVtfsqr+qf6iLaStXmj1c1MHSAAN2yHRe5867M9/a00poxxNfgycr2YrGkXmPY704faTbRGHzNAMm4AA3/Ix+Kx0TmSPb6ne00roxvqviyqSBIAJSAAkhKQAEgAIAAQBBKEAAICEACRU2svfmJ832qZ3aU0YBVdY2SmmRer2l6M8TosTRkAYdptvp79zk9xW+i+HqqTJsyrPW6oTpRU9pamqmJyrY2YIABCAIJAAEIAossP2Wn1rfU4piaNMLm+DSDF0gAAB0uhRUo6dF1pGz8KHTGkOK2s+rW8tWd8pX72vTsw+8zxejfB6tYMmwAA9Kd+bnjfzXNXsW8InR1A6XGkAEpIACQlg24qJZNXf8k706CLaStXmhzYwdIAA3jIlP/FydM7vwsNKaMcTX4M/KRmOxqpPmov2XI72E20VpzQ5wZOgAAbvkK++gnZzZr+1rU9hejLE1bMXUSQJABKQAEkJSAAkABAEAQEBIgAEIAgASKa1FvqepEM7ataaMMqstLJTvb16TSjLEZxdmAY9a3FTP7ewi2i1OaFKYt3tSrdUR9d3boJrrCtuWVybucABCAIJACAgJFDlit1mN6Zm+pymeJp8WmFzfBpJi6QAAA6bTXpTxIuxjfUdUaOGdZa/loy+npn7nuTtT8jPF6NsDWWpGLoAAADqMD85Cx/Oai9qHS45egQBIBJAkJV9v/sir8grbSVqc0OcGLpAAG9ZGfspfrXepprTRhicy1tZmOzatu+GT8KkzoiusermBi6AABt+QT/jkf1bk++il6M8To24uzSQAEhKQAEkJSAAkDKwt3IZtcjC3cgzMoRgbuQZmUGbbzUGZlCc2zmoM5RlCMDOanYM5Mo7GBnNTsGcmUdjAzmp2DOTKOxm2c1OwZyZR2M2zmp2DOTKOzWLXu4fLdoRLk+6gSwgNisOJnAr1ROM9V9SDMyhY5pnNTsJzlGUdoM1HzU7BnPcyjtDzqYGOgkajUvVjk1dAzkyjtDUCEvuJ2CRruaqKBuGai5qdhOc95Rux2gzMfMTsGc95N2O0GZj5idgznvJux2gzMXMTsGc9zdjtBmYuYnYM57m7HaDMRcxOwZz3k3a9jMw8xvYgznvJu17QjMw8xvYg3p7ybte0NX+EGNjLIhVrUReEt1J8yQZymIiNIhz0hIAAAdnighzTO9t5KbE3E7095V3a9o+TXMvqZncdj2tRFZO1b0TYrXp7RnKYiI0iIc7ISAAAHXbEbHLZNE9WJesEd+hNeFLyc57yrux2hnZmHmN7EGc95N2vaDMRcxOwZz3k3a9jMxcxOwZz3N2O0GZj5idgznvJux2gzMfMTsGc95N2O0KjKprI7CrFaxL8CJq3uRBnPcyjtDlZCwAA6TkNGx1htVWoq5x/rGcomIX81PHJC+PCnGare1Lic57oyjtDi5CwAA234PHNW0KmJdOKHF9lyJ/cES3/ADbOanYM5RlHYzbOanYM5Mo7GBnNTsGcmUdjAzmp2DOTKOxgZzU7BnJlBm2bkGZlBm281BmnKDA3cgzMoThbuQZmUGFu5AZQ+gAAAAAAAAHw97I2K96o1rdKqupAKmfKez49DMUvkpd+K40jCt6Mpxq++VLPUcKldOiYUkW+7cUmMpyaROcZ93mQltNjInc+K7534lAzgAADSV0KqAQBYsysVOLJT33aMTX+y418L3sPH46LezrXprQRUjva9vKY7XdvTeUtSatKXi2jPKrgAAAAAal8Ijl7l07di1CL2Mf7wOehIAAAdvCFDltHjyfqF5ixu++1PaBy4JAAADq2SUmcyfol+a5v2Xub7AhcgAAADW8ocsKeyZFpYGZ+qTlJfcxl/OXf0AaraOWlpWjSS0csUDYptCq1r8WhUXQqvVNm4DXgkAAdQyI/+PweVJ+NQhfgcWrI81VTx8yR7exVQJeIADPse2Kmxqlaqmaxz3MWNUkRVS5VRfFVu4DZKD4RJs6jbQp2Ztdb4b0VvThcrr+0IbxDNHURMmicjo3ojmuTaigegAAAAAAAAAAAAAAAAAAoMrJJG0sTG8h7+P5k0Ia4WrHH0j1aqbuZkQVCMTC7VsUyvh58YbYeLlGUvR1UxE4ulSkYU9eDScavTi2ywoZYbOjSXluvfcuzEt6Fb5Z8OnBbDz3eOs8ViVXAAGhyrJSTPp50XFGt1/qU2mm97VernjE3fZt0eclVelzO0Vwu5bG4ZV+bGNmCyyexd1IcPzsXVhUpicstMLnhu5zOsAAAAADUvhF/ZtN9f/Y4DnoSAAPuDw0flJ6wO2BCqynjzlh1rd0Su+zxvYByUJAAADpuQkmKwY0+Tkkb6cXtCGxAAAADitVLJPUSyy+Eke5z796reoS8gAAAB1LIxuHJ6k0XX5xf6jwhegcet1mC2K9t136xLcnQr1VAlggAAADpOQEskliK1/JimeyPybmv9blCGzAAAAAAAAAAAAAAAAAADGrqOKugWGXUulFTWi7FQms5Tmi1YtGUtf8A0SqMfh2YN9y39n5m3ix2YeBPdkxZJ0zfDTPf5KI3/Ir4s9IWjAjrMrCnsWzqdUVkKK9NTnXu9egpN7T1XjDrHRYFVwAAAxqqgpKu7Pxo9U1LqXtTSTFpjRE1idYzYL8mbNdqa5nku/yvL+LZn4NGM/JKm/453t8pEd7ifFnsjwI7ysbOsims9FWO9z3a5Ha7tybilrzZelIrozyq4AAAAAGnfCN8TpPrHfhA0EJAAHtRIi1cCLqWRnrQDtIQxLUjzlm1cfPgkb2tVAONhIAAAdD+DyS+y54+bOq/aY33BDbAAAABoGU+SFWlVJW2fHnYplxPiby2uXXcm1FXcBrPcq0v3Of/AKn+4JO5Vpfuk/8A1v8AcA7lWl+6T/8AW/3AWNlZJ2raErUfC6mg8eWVqt0fNatyqEOnUtNFSU8dNEl0cTUY1OhNAHsBpeV2Sk9XMto0Dccjk79DtVdWJvm1oBp62RabVuWjnRU+if7glHcq0v3Sf/rf7gHcq0v3Sf8A63+4DLoMmbXr5UYymfE3xpZWqxifaTT5gOm2TZ0Vl0MVHFpSNOM7nOXS53aEM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaZ8IypwWjbtWR69iJ7wNDCQABk2YiOtGlaupZo0X7SAdmCHy9qParV1Kl3aBxNyK1VautNChKAAADefg4f3uuj3LE7txp7AhuwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjU1MVJCs0zsLGk1rNpyhW960jetwiGt1GVsyu/V4Woz6S9VX7Kodldkj/aZ+Dgtt1s/YrGXvVFtVklttibVI1iQqqtzejlXa8Su3FvKYfeyvnsXtT5T/ANVPcin5z+1PcPKYfex57F7U+U/9O5FPzn9qe4eUw+9jz2L2p8p/6h1jw3cV7kXpuX2IJ2SnSbfFaNuv1rWY93B5WdSPhtmhjk1OqIkRybUxtOPEw7Yc5T8Jd2Fi1xa51+MdnXSi4Bx6qopH2nVQMTwc0jVXYlzlQvh4drzlVTExa4dc7fCO7IbY8N3Ge5V6Lk951xslesz8HDO3X6VrEe/i+u5FPzn9qe4nymH3sr57F7U+U/8ATuRT85/anuHlMPvY89i9qfKf+rOxKh9iPlfS3PzyIjkk08nVdhw7x5TD72PPYvanyn/q6gytqEd3+Jis+jvRfSqlbbJX/WZz961dutn7VYy9zY6SrhrIklhdiYvo6FOO1ZrOU6u+l63rvV4w9yFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaplXO51TFB4jG4/5nXp6kO7ZK+zNuszk87bbTvRTpEZqE63EAAAAD2ooklr6O/WyoicnmehjtFc8Ofdxb7Lfdxa/m4S6GeY9cA57XwtjtCsuTS+eRy+dynpbPXLDj83F5O1Xm2LPavCHgbucAAAAF5krUuZVPp/Ekbfd85v5HLtdfZi3WJdmxWyvNelo/ptpwPSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABq+VdI7OR1bdLbsD+janbeduyX4TT4w8/bcOc4xOmWUteOxwgAAAAtcnaR09e2W7vcPGcvT4qdpz7RfdpMdbcHTsuHNsSJ6U4z/APG6HnPVANMykpHQ1yzXd7m4yL0poVD0dmvnTLrV5W10muJvdL8VSdDmAAAABsGStG9ZX1bk4iJgZ0quvsQ5NrvwinXWXbsWHO9OJ0jhDaTheiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4kjZKxWSIjmu0Ki7REzE5xwRMRMZTxiVFUZJ071vhldEnNVMaJ1aUU6q7XaOaIt9HHbYqzy2mv1ef6H/AMX/AE/9y3nPyfX7K+R/U/j9z9D/AOL/AKf+485+T6/Y8j+p/H7n6H/xf9P/AHHnPyfX7Hkf1P4/d9RZIxI7vtQ5zdzW4V7VVxE7XPSuXrOaY2KOt5n0jJd01NDSRJFC3AxDmtabTnac5dlKVpGVYyh7lVgDxqaaGpiWKZuJi7Ca2ms514Sralbxu2jOFHLkjEru9VDmJuc3F6UVp1Rtc9a5+k5OOdhj/W8x6xm+f0P/AIv+n/uT5z8n1+yPI/qfx+5+h/8AF/0/9x5z8n1+x5H9T+P3P0P/AIv+n/uPOfk+v2PI/qfx+70p8k6djr5pnSpuRMHbpUrba7f61iPqtXYaxzWm30XscbImIyNEaxuhEQ5ZmZnOeMy7IiIjKOEQ+wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//2Q=="; - - -function request_success () { - return new Promise ( function ( resolve, reject ){ - resemble("../demoassets/People.jpg") - .compareTo("../demoassets/People2.jpg") - .onComplete( function ( data ) { - console.info("Reached oncomplete for request_success"); - expect(data.diffBounds).to.have.all.keys('bottom', 'left', 'top', 'right'); - expect(data.diffBounds.bottom).to.equal(431); - expect(data.diffBounds.left).to.equal(22); - expect(data.diffBounds.right).to.equal(450); - expect(data.diffBounds.top).to.equal(58); - expect(data.dimensionDifference.height).to.equal(0); - expect(data.dimensionDifference.width).to.equal(0); - expect(data.isSameDimensions).to.be.true; - expect(data.misMatchPercentage).to.equal("8.66"); - resolve(); - }); - }); -} - - -function base64_string () { - return new Promise ( function ( resolve, reject ){ - resemble(people_src) - .compareTo(people2_src) - .onComplete( function ( data ) { - console.info("Reached oncomplete for base64_string"); - expect(data.diffBounds.bottom).to.equal(431); - expect(data.diffBounds.left).to.equal(22); - expect(data.diffBounds.right).to.equal(450); - expect(data.diffBounds.top).to.equal(58); - expect(data.dimensionDifference.height).to.equal(0); - expect(data.dimensionDifference.width).to.equal(0); - expect(data.isSameDimensions).to.be.true; - expect(data.misMatchPercentage).to.equal("8.66"); - resolve(); - }); - }); -} - -function request_404 () { - return new Promise ( function ( resolve, reject ){ - resemble("../demoassets/People.jpg") - .compareTo("../demoassets/404-image.jpg") - .onComplete( function ( data ) { - console.info("Reached oncomplete for request_404"); - expect(data).to.deep.equal({ error : "Image load error." }); - resolve(); - }); - }); -} - -function request_cors () { - return new Promise ( function ( resolve, reject ){ - resemble("../demoassets/People.jpg") - .compareTo("https://www.google.ca/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png") - .onComplete( function ( data ) { - console.info("Reached oncomplete for request_cors"); - expect(data).to.deep.equal({ error : "Image load error." }); - resolve(); - }); - }); -} - -request_success().then(function(){ console.info("Test 1 complete."); }) - .then( request_404 ).then(function(){ console.info("Test 2 complete."); }) - .then( request_success ).then(function(){ console.info("Test 3 complete."); }) - .then( request_404 ).then(function(){ console.info("Test 4 complete."); }) - .then( base64_string ).then(function(){ console.info("Test 5 complete."); }) - .then( request_cors ).then(function(){ console.info("Test 6 complete."); }) - .then( function () { - console.info("All tests completed."); - }); \ No newline at end of file