From 34f98a5c4796b260565aaa8806283c8cf3ef6624 Mon Sep 17 00:00:00 2001 From: Rene Date: Sat, 18 Jul 2020 20:25:57 +0200 Subject: [PATCH] create webpack build process --- .babelrc.json | 20 - babel.config.js | 16 + coverage/clover.xml | 399 + coverage/coverage-final.json | 19 + coverage/lcov-report/base.css | 224 + coverage/lcov-report/block-navigation.js | 79 + coverage/lcov-report/favicon.png | Bin 0 -> 540 bytes coverage/lcov-report/index.html | 171 + coverage/lcov-report/prettify.css | 1 + coverage/lcov-report/prettify.js | 2 + coverage/lcov-report/sort-arrow-sprite.png | Bin 0 -> 209 bytes coverage/lcov-report/sorter.js | 170 + .../src/core/compatibility/index.html | 111 + .../src/core/compatibility/vendors.ts.html | 377 + .../src/core/dom/attributes.ts.html | 239 + .../lcov-report/src/core/dom/classes.ts.html | 254 + .../lcov-report/src/core/dom/create.ts.html | 119 + coverage/lcov-report/src/core/dom/index.html | 216 + .../lcov-report/src/core/dom/index.ts.html | 98 + .../src/core/dom/manipulation.ts.html | 350 + .../lcov-report/src/core/dom/offset.ts.html | 119 + .../lcov-report/src/core/dom/style.ts.html | 266 + .../src/core/dom/traversal.ts.html | 233 + .../lcov-report/src/core/options/index.html | 141 + .../src/core/options/index.ts.html | 83 + .../src/core/options/transformation.ts.html | 158 + .../src/core/options/validation.ts.html | 572 + .../lcov-report/src/core/utils/arrays.ts.html | 209 + .../lcov-report/src/core/utils/extend.ts.html | 254 + .../lcov-report/src/core/utils/index.html | 156 + .../lcov-report/src/core/utils/index.ts.html | 86 + .../lcov-report/src/core/utils/types.ts.html | 365 + coverage/lcov-report/src/index.html | 126 + coverage/lcov-report/src/instances.ts.html | 233 + coverage/lcov-report/src/options.ts.html | 326 + coverage/lcov.info | 848 ++ index.bundle.js | 694 -- index.bundle.js.map | 1 - jest.config.js | 167 +- package-lock.json | 9690 +++++++++++++++++ package.json | 22 +- .../dist/overlayscrollbars.esm.js | 62 + .../dist/overlayscrollbars.esm.js.map | 1 + .../dist/overlayscrollbars.js | 77 + .../dist/overlayscrollbars.js.map | 1 + .../overlayscrollbars/index.html | 4 +- packages/overlayscrollbars/package.json | 5 + .../src}/core/compatibility/apis.ts | 0 .../src}/core/compatibility/events.ts | 0 .../src}/core/compatibility/index.ts | 0 .../src}/core/compatibility/vendors.ts | 0 .../src}/core/dom/attributes.ts | 0 .../src}/core/dom/classes.ts | 0 .../overlayscrollbars/src}/core/dom/create.ts | 0 .../overlayscrollbars/src}/core/dom/index.ts | 0 .../src}/core/dom/manipulation.ts | 0 .../overlayscrollbars/src}/core/dom/offset.ts | 0 .../overlayscrollbars/src}/core/dom/style.ts | 0 .../src}/core/dom/traversal.ts | 0 .../src}/core/options/index.ts | 0 .../src}/core/options/transformation.ts | 0 .../src}/core/options/validation.ts | 0 .../overlayscrollbars/src}/core/typings.ts | 0 .../src}/core/utils/arrays.ts | 0 .../src}/core/utils/extend.ts | 0 .../src}/core/utils/index.ts | 0 .../src}/core/utils/types.ts | 0 .../overlayscrollbars/src}/index.ts | 2 +- .../overlayscrollbars/src}/instances.ts | 0 .../overlayscrollbars/src}/options.ts | 0 .../overlayscrollbars/src}/typings.ts | 11 +- .../tests}/core/compatibility/vendors.test.ts | 0 .../tests}/core/dom/attributes.test.ts | 0 .../tests}/core/dom/classes.test.ts | 0 .../tests}/core/dom/create.test.ts | 0 .../tests}/core/dom/manipulation.test.ts | 0 .../tests}/core/dom/traversal.test.ts | 0 .../core/options/transformation.test.ts | 0 .../tests}/core/options/validation.test.ts | 0 .../tests}/core/utils/arrays.test.ts | 0 .../tests}/core/utils/extend.test.ts | 0 .../tests}/core/utils/types.test.ts | 0 .../tests}/instances.test.ts | 0 .../overlayscrollbars/tests}/options.test.ts | 0 .../overlayscrollbars/tsconfig.json | 12 +- .../types/core/compatibility/apis.d.ts | 1 + .../types/core/compatibility/events.d.ts | 1 + .../types/core/compatibility/index.d.ts | 3 + .../types/core/compatibility/vendors.d.ts | 11 + .../types/core/dom/attributes.d.ts | 5 + .../types/core/dom/classes.d.ts | 4 + .../types/core/dom/create.d.ts | 2 + .../types/core/dom/index.d.ts | 7 + .../types/core/dom/manipulation.d.ts | 7 + .../types/core/dom/offset.d.ts | 8 + .../types/core/dom/style.d.ts | 8 + .../types/core/dom/traversal.d.ts | 6 + .../types/core/options/index.d.ts | 2 + .../types/core/options/transformation.d.ts | 3 + .../types/core/options/validation.d.ts | 13 + .../overlayscrollbars/types/core/typings.d.ts | 36 + .../types/core/utils/arrays.d.ts | 8 + .../types/core/utils/extend.d.ts | 5 + .../types/core/utils/index.d.ts | 3 + .../types/core/utils/types.d.ts | 14 + packages/overlayscrollbars/types/index.d.ts | 7 + .../overlayscrollbars/types/instances.d.ts | 4 + packages/overlayscrollbars/types/options.d.ts | 4 + packages/overlayscrollbars/types/typings.d.ts | 295 + packages/overlayscrollbars/webpack.config.js | 7 + rollup.config.js | 22 - webpack.config.babel.js | 118 + 112 files changed, 17466 insertions(+), 927 deletions(-) delete mode 100644 .babelrc.json create mode 100644 babel.config.js create mode 100644 coverage/clover.xml create mode 100644 coverage/coverage-final.json create mode 100644 coverage/lcov-report/base.css create mode 100644 coverage/lcov-report/block-navigation.js create mode 100644 coverage/lcov-report/favicon.png create mode 100644 coverage/lcov-report/index.html create mode 100644 coverage/lcov-report/prettify.css create mode 100644 coverage/lcov-report/prettify.js create mode 100644 coverage/lcov-report/sort-arrow-sprite.png create mode 100644 coverage/lcov-report/sorter.js create mode 100644 coverage/lcov-report/src/core/compatibility/index.html create mode 100644 coverage/lcov-report/src/core/compatibility/vendors.ts.html create mode 100644 coverage/lcov-report/src/core/dom/attributes.ts.html create mode 100644 coverage/lcov-report/src/core/dom/classes.ts.html create mode 100644 coverage/lcov-report/src/core/dom/create.ts.html create mode 100644 coverage/lcov-report/src/core/dom/index.html create mode 100644 coverage/lcov-report/src/core/dom/index.ts.html create mode 100644 coverage/lcov-report/src/core/dom/manipulation.ts.html create mode 100644 coverage/lcov-report/src/core/dom/offset.ts.html create mode 100644 coverage/lcov-report/src/core/dom/style.ts.html create mode 100644 coverage/lcov-report/src/core/dom/traversal.ts.html create mode 100644 coverage/lcov-report/src/core/options/index.html create mode 100644 coverage/lcov-report/src/core/options/index.ts.html create mode 100644 coverage/lcov-report/src/core/options/transformation.ts.html create mode 100644 coverage/lcov-report/src/core/options/validation.ts.html create mode 100644 coverage/lcov-report/src/core/utils/arrays.ts.html create mode 100644 coverage/lcov-report/src/core/utils/extend.ts.html create mode 100644 coverage/lcov-report/src/core/utils/index.html create mode 100644 coverage/lcov-report/src/core/utils/index.ts.html create mode 100644 coverage/lcov-report/src/core/utils/types.ts.html create mode 100644 coverage/lcov-report/src/index.html create mode 100644 coverage/lcov-report/src/instances.ts.html create mode 100644 coverage/lcov-report/src/options.ts.html create mode 100644 coverage/lcov.info delete mode 100644 index.bundle.js delete mode 100644 index.bundle.js.map create mode 100644 package-lock.json create mode 100644 packages/overlayscrollbars/dist/overlayscrollbars.esm.js create mode 100644 packages/overlayscrollbars/dist/overlayscrollbars.esm.js.map create mode 100644 packages/overlayscrollbars/dist/overlayscrollbars.js create mode 100644 packages/overlayscrollbars/dist/overlayscrollbars.js.map rename index.html => packages/overlayscrollbars/index.html (75%) create mode 100644 packages/overlayscrollbars/package.json rename {src => packages/overlayscrollbars/src}/core/compatibility/apis.ts (100%) rename {src => packages/overlayscrollbars/src}/core/compatibility/events.ts (100%) rename {src => packages/overlayscrollbars/src}/core/compatibility/index.ts (100%) rename {src => packages/overlayscrollbars/src}/core/compatibility/vendors.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/attributes.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/classes.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/create.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/index.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/manipulation.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/offset.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/style.ts (100%) rename {src => packages/overlayscrollbars/src}/core/dom/traversal.ts (100%) rename {src => packages/overlayscrollbars/src}/core/options/index.ts (100%) rename {src => packages/overlayscrollbars/src}/core/options/transformation.ts (100%) rename {src => packages/overlayscrollbars/src}/core/options/validation.ts (100%) rename {src => packages/overlayscrollbars/src}/core/typings.ts (100%) rename {src => packages/overlayscrollbars/src}/core/utils/arrays.ts (100%) rename {src => packages/overlayscrollbars/src}/core/utils/extend.ts (100%) rename {src => packages/overlayscrollbars/src}/core/utils/index.ts (100%) rename {src => packages/overlayscrollbars/src}/core/utils/types.ts (100%) rename {src => packages/overlayscrollbars/src}/index.ts (96%) rename {src => packages/overlayscrollbars/src}/instances.ts (100%) rename {src => packages/overlayscrollbars/src}/options.ts (100%) rename {src => packages/overlayscrollbars/src}/typings.ts (97%) rename {tests => packages/overlayscrollbars/tests}/core/compatibility/vendors.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/dom/attributes.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/dom/classes.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/dom/create.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/dom/manipulation.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/dom/traversal.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/options/transformation.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/options/validation.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/utils/arrays.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/utils/extend.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/core/utils/types.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/instances.test.ts (100%) rename {tests => packages/overlayscrollbars/tests}/options.test.ts (100%) rename tsconfig.json => packages/overlayscrollbars/tsconfig.json (72%) create mode 100644 packages/overlayscrollbars/types/core/compatibility/apis.d.ts create mode 100644 packages/overlayscrollbars/types/core/compatibility/events.d.ts create mode 100644 packages/overlayscrollbars/types/core/compatibility/index.d.ts create mode 100644 packages/overlayscrollbars/types/core/compatibility/vendors.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/attributes.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/classes.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/create.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/index.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/manipulation.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/offset.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/style.d.ts create mode 100644 packages/overlayscrollbars/types/core/dom/traversal.d.ts create mode 100644 packages/overlayscrollbars/types/core/options/index.d.ts create mode 100644 packages/overlayscrollbars/types/core/options/transformation.d.ts create mode 100644 packages/overlayscrollbars/types/core/options/validation.d.ts create mode 100644 packages/overlayscrollbars/types/core/typings.d.ts create mode 100644 packages/overlayscrollbars/types/core/utils/arrays.d.ts create mode 100644 packages/overlayscrollbars/types/core/utils/extend.d.ts create mode 100644 packages/overlayscrollbars/types/core/utils/index.d.ts create mode 100644 packages/overlayscrollbars/types/core/utils/types.d.ts create mode 100644 packages/overlayscrollbars/types/index.d.ts create mode 100644 packages/overlayscrollbars/types/instances.d.ts create mode 100644 packages/overlayscrollbars/types/options.d.ts create mode 100644 packages/overlayscrollbars/types/typings.d.ts create mode 100644 packages/overlayscrollbars/webpack.config.js delete mode 100644 rollup.config.js create mode 100644 webpack.config.babel.js diff --git a/.babelrc.json b/.babelrc.json deleted file mode 100644 index 3408022..0000000 --- a/.babelrc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "env": { - "test": { - "plugins": [ - "@babel/plugin-transform-modules-commonjs" - ], - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "current" - } - } - ], - "@babel/preset-typescript" - ] - } - } -} \ No newline at end of file diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..812ee79 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,16 @@ +module.exports = { + "plugins": [ + "@babel/plugin-transform-modules-commonjs" + ], + "presets": [ + [ + "@babel/preset-env", + { + "targets": { + "node": "current" + } + } + ], + "@babel/preset-typescript" + ] +}; \ No newline at end of file diff --git a/coverage/clover.xml b/coverage/clover.xml new file mode 100644 index 0000000..6c17eca --- /dev/null +++ b/coverage/clover.xml @@ -0,0 +1,399 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json new file mode 100644 index 0000000..3db3fd4 --- /dev/null +++ b/coverage/coverage-final.json @@ -0,0 +1,19 @@ +{"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\instances.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\instances.ts","statementMap":{"0":{"start":{"line":1,"column":30},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":49},"end":{"line":2,"column":62}},"2":{"start":{"line":9,"column":71},"end":{"line":12,"column":1}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":46}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":24}},"5":{"start":{"line":18,"column":57},"end":{"line":21,"column":1}},"6":{"start":{"line":19,"column":4},"end":{"line":19,"column":37}},"7":{"start":{"line":20,"column":4},"end":{"line":20,"column":27}},"8":{"start":{"line":27,"column":53},"end":{"line":29,"column":1}},"9":{"start":{"line":28,"column":4},"end":{"line":28,"column":41}},"10":{"start":{"line":35,"column":61},"end":{"line":52,"column":1}},"11":{"start":{"line":36,"column":54},"end":{"line":36,"column":63}},"12":{"start":{"line":38,"column":4},"end":{"line":43,"column":7}},"13":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"14":{"start":{"line":41,"column":12},"end":{"line":41,"column":77}},"15":{"start":{"line":45,"column":4},"end":{"line":45,"column":20}},"16":{"start":{"line":47,"column":4},"end":{"line":49,"column":7}},"17":{"start":{"line":48,"column":8},"end":{"line":48,"column":33}},"18":{"start":{"line":51,"column":4},"end":{"line":51,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":71},"end":{"line":9,"column":72}},"loc":{"start":{"line":9,"column":95},"end":{"line":12,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":57},"end":{"line":18,"column":58}},"loc":{"start":{"line":18,"column":69},"end":{"line":21,"column":1}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":53},"end":{"line":27,"column":54}},"loc":{"start":{"line":27,"column":65},"end":{"line":29,"column":1}},"line":27},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":61},"end":{"line":35,"column":62}},"loc":{"start":{"line":35,"column":67},"end":{"line":52,"column":1}},"line":35},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":20},"end":{"line":38,"column":21}},"loc":{"start":{"line":38,"column":41},"end":{"line":43,"column":5}},"line":38},"5":{"name":"(anonymous_5)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":76},"end":{"line":49,"column":5}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":42,"column":9}}],"line":40}},"s":{"0":1,"1":1,"2":1,"3":3,"4":3,"5":1,"6":4,"7":4,"8":1,"9":1,"10":1,"11":2,"12":2,"13":1,"14":1,"15":2,"16":2,"17":1,"18":2},"f":{"0":3,"1":4,"2":1,"3":2,"4":1,"5":1},"b":{"0":[1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"42267f1c72ba533291ebe66ede1c7eb2eab81d6f"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\options.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\options.ts","statementMap":{"0":{"start":{"line":5,"column":68},"end":{"line":5,"column":96}},"1":{"start":{"line":6,"column":58},"end":{"line":6,"column":71}},"2":{"start":{"line":7,"column":71},"end":{"line":7,"column":100}},"3":{"start":{"line":8,"column":90},"end":{"line":8,"column":132}},"4":{"start":{"line":9,"column":69},"end":{"line":9,"column":91}},"5":{"start":{"line":10,"column":70},"end":{"line":10,"column":93}},"6":{"start":{"line":11,"column":70},"end":{"line":11,"column":108}},"7":{"start":{"line":12,"column":84},"end":{"line":12,"column":115}},"8":{"start":{"line":13,"column":96},"end":{"line":13,"column":141}},"9":{"start":{"line":14,"column":102},"end":{"line":14,"column":123}},"10":{"start":{"line":15,"column":98},"end":{"line":15,"column":122}},"11":{"start":{"line":32,"column":99},"end":{"line":78,"column":1}},"12":{"start":{"line":80,"column":85},"end":{"line":80,"column":128}},"13":{"start":{"line":81,"column":57},"end":{"line":81,"column":94}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a52393a8585ee14790a2eb08060d4e1026514723"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\compatibility\\vendors.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\compatibility\\vendors.ts","statementMap":{"0":{"start":{"line":4,"column":52},"end":{"line":6,"column":1}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":54}},"2":{"start":{"line":7,"column":49},"end":{"line":9,"column":1}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":29}},"4":{"start":{"line":13,"column":50},"end":{"line":13,"column":86}},"5":{"start":{"line":14,"column":49},"end":{"line":14,"column":105}},"6":{"start":{"line":16,"column":47},"end":{"line":16,"column":49}},"7":{"start":{"line":17,"column":51},"end":{"line":17,"column":53}},"8":{"start":{"line":23,"column":65},"end":{"line":46,"column":1}},"9":{"start":{"line":24,"column":37},"end":{"line":24,"column":51}},"10":{"start":{"line":26,"column":4},"end":{"line":27,"column":22}},"11":{"start":{"line":27,"column":8},"end":{"line":27,"column":22}},"12":{"start":{"line":29,"column":35},"end":{"line":29,"column":59}},"13":{"start":{"line":30,"column":42},"end":{"line":30,"column":57}},"14":{"start":{"line":32,"column":4},"end":{"line":42,"column":7}},"15":{"start":{"line":33,"column":44},"end":{"line":33,"column":68}},"16":{"start":{"line":34,"column":51},"end":{"line":39,"column":9}},"17":{"start":{"line":40,"column":8},"end":{"line":40,"column":116}},"18":{"start":{"line":40,"column":73},"end":{"line":40,"column":114}},"19":{"start":{"line":41,"column":8},"end":{"line":41,"column":23}},"20":{"start":{"line":44,"column":4},"end":{"line":44,"column":28}},"21":{"start":{"line":45,"column":4},"end":{"line":45,"column":18}},"22":{"start":{"line":54,"column":107},"end":{"line":80,"column":1}},"23":{"start":{"line":55,"column":25},"end":{"line":55,"column":48}},"24":{"start":{"line":56,"column":37},"end":{"line":56,"column":51}},"25":{"start":{"line":58,"column":4},"end":{"line":59,"column":22}},"26":{"start":{"line":59,"column":8},"end":{"line":59,"column":22}},"27":{"start":{"line":61,"column":44},"end":{"line":61,"column":59}},"28":{"start":{"line":62,"column":41},"end":{"line":62,"column":58}},"29":{"start":{"line":63,"column":35},"end":{"line":63,"column":47}},"30":{"start":{"line":64,"column":38},"end":{"line":64,"column":62}},"31":{"start":{"line":66,"column":4},"end":{"line":76,"column":7}},"32":{"start":{"line":67,"column":8},"end":{"line":74,"column":11}},"33":{"start":{"line":68,"column":25},"end":{"line":68,"column":47}},"34":{"start":{"line":69,"column":12},"end":{"line":69,"column":72}},"35":{"start":{"line":70,"column":12},"end":{"line":73,"column":13}},"36":{"start":{"line":71,"column":16},"end":{"line":71,"column":30}},"37":{"start":{"line":72,"column":16},"end":{"line":72,"column":29}},"38":{"start":{"line":75,"column":8},"end":{"line":75,"column":23}},"39":{"start":{"line":78,"column":4},"end":{"line":78,"column":28}},"40":{"start":{"line":79,"column":4},"end":{"line":79,"column":18}},"41":{"start":{"line":86,"column":44},"end":{"line":99,"column":1}},"42":{"start":{"line":87,"column":22},"end":{"line":87,"column":51}},"43":{"start":{"line":89,"column":4},"end":{"line":90,"column":22}},"44":{"start":{"line":90,"column":8},"end":{"line":90,"column":22}},"45":{"start":{"line":92,"column":4},"end":{"line":95,"column":7}},"46":{"start":{"line":93,"column":8},"end":{"line":93,"column":69}},"47":{"start":{"line":94,"column":8},"end":{"line":94,"column":23}},"48":{"start":{"line":97,"column":4},"end":{"line":97,"column":27}},"49":{"start":{"line":98,"column":4},"end":{"line":98,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":52},"end":{"line":4,"column":53}},"loc":{"start":{"line":4,"column":61},"end":{"line":6,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":49},"end":{"line":7,"column":50}},"loc":{"start":{"line":7,"column":55},"end":{"line":9,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":65},"end":{"line":23,"column":66}},"loc":{"start":{"line":23,"column":75},"end":{"line":46,"column":1}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":22},"end":{"line":32,"column":23}},"loc":{"start":{"line":32,"column":42},"end":{"line":42,"column":5}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":42},"end":{"line":40,"column":43}},"loc":{"start":{"line":40,"column":73},"end":{"line":40,"column":114}},"line":40},"5":{"name":"(anonymous_5)","decl":{"start":{"line":54,"column":107},"end":{"line":54,"column":108}},"loc":{"start":{"line":54,"column":137},"end":{"line":80,"column":1}},"line":54},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":24},"end":{"line":66,"column":25}},"loc":{"start":{"line":66,"column":51},"end":{"line":76,"column":5}},"line":66},"7":{"name":"(anonymous_7)","decl":{"start":{"line":67,"column":40},"end":{"line":67,"column":41}},"loc":{"start":{"line":67,"column":60},"end":{"line":74,"column":9}},"line":67},"8":{"name":"(anonymous_8)","decl":{"start":{"line":86,"column":44},"end":{"line":86,"column":45}},"loc":{"start":{"line":86,"column":54},"end":{"line":99,"column":1}},"line":86},"9":{"name":"(anonymous_9)","decl":{"start":{"line":92,"column":21},"end":{"line":92,"column":22}},"loc":{"start":{"line":92,"column":41},"end":{"line":95,"column":5}},"line":92}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":4},"end":{"line":27,"column":22}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":27,"column":22}},{"start":{"line":26,"column":4},"end":{"line":27,"column":22}}],"line":26},"1":{"loc":{"start":{"line":58,"column":4},"end":{"line":59,"column":22}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":59,"column":22}},{"start":{"line":58,"column":4},"end":{"line":59,"column":22}}],"line":58},"2":{"loc":{"start":{"line":63,"column":35},"end":{"line":63,"column":47}},"type":"binary-expr","locations":[{"start":{"line":63,"column":35},"end":{"line":63,"column":41}},{"start":{"line":63,"column":45},"end":{"line":63,"column":47}}],"line":63},"3":{"loc":{"start":{"line":70,"column":12},"end":{"line":73,"column":13}},"type":"if","locations":[{"start":{"line":70,"column":12},"end":{"line":73,"column":13}},{"start":{"line":70,"column":12},"end":{"line":73,"column":13}}],"line":70},"4":{"loc":{"start":{"line":87,"column":22},"end":{"line":87,"column":51}},"type":"binary-expr","locations":[{"start":{"line":87,"column":22},"end":{"line":87,"column":35}},{"start":{"line":87,"column":39},"end":{"line":87,"column":51}}],"line":87},"5":{"loc":{"start":{"line":89,"column":4},"end":{"line":90,"column":22}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":90,"column":22}},{"start":{"line":89,"column":4},"end":{"line":90,"column":22}}],"line":89},"6":{"loc":{"start":{"line":93,"column":17},"end":{"line":93,"column":68}},"type":"binary-expr","locations":[{"start":{"line":93,"column":17},"end":{"line":93,"column":23}},{"start":{"line":93,"column":27},"end":{"line":93,"column":68}}],"line":93}},"s":{"0":1,"1":20,"2":1,"3":10,"4":1,"5":1,"6":1,"7":1,"8":1,"9":4,"10":4,"11":1,"12":3,"13":3,"14":3,"15":9,"16":9,"17":9,"18":33,"19":9,"20":3,"21":3,"22":1,"23":11,"24":11,"25":11,"26":4,"27":7,"28":7,"29":7,"30":7,"31":7,"32":10,"33":42,"34":42,"35":42,"36":2,"37":2,"38":10,"39":7,"40":7,"41":1,"42":5,"43":5,"44":1,"45":4,"46":11,"47":11,"48":4,"49":4},"f":{"0":20,"1":10,"2":4,"3":9,"4":33,"5":11,"6":10,"7":42,"8":5,"9":11},"b":{"0":[1,3],"1":[4,7],"2":[7,5],"3":[2,40],"4":[5,4],"5":[1,4],"6":[11,8]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"906fbcbd87b6ed1c7d53ff0204e6ea63260c30c6"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\attributes.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\attributes.ts","statementMap":{"0":{"start":{"line":8,"column":94},"end":{"line":12,"column":1}},"1":{"start":{"line":9,"column":4},"end":{"line":10,"column":42}},"2":{"start":{"line":10,"column":8},"end":{"line":10,"column":42}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":38}},"4":{"start":{"line":19,"column":68},"end":{"line":21,"column":1}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":34}},"6":{"start":{"line":28,"column":79},"end":{"line":32,"column":1}},"7":{"start":{"line":29,"column":4},"end":{"line":30,"column":30}},"8":{"start":{"line":30,"column":8},"end":{"line":30,"column":30}},"9":{"start":{"line":31,"column":4},"end":{"line":31,"column":27}},"10":{"start":{"line":39,"column":78},"end":{"line":43,"column":1}},"11":{"start":{"line":40,"column":4},"end":{"line":41,"column":29}},"12":{"start":{"line":41,"column":8},"end":{"line":41,"column":29}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":26}},"14":{"start":{"line":50,"column":77},"end":{"line":54,"column":1}},"15":{"start":{"line":51,"column":4},"end":{"line":52,"column":25}},"16":{"start":{"line":52,"column":8},"end":{"line":52,"column":25}},"17":{"start":{"line":53,"column":4},"end":{"line":53,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":94},"end":{"line":8,"column":95}},"loc":{"start":{"line":8,"column":120},"end":{"line":12,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":68},"end":{"line":19,"column":69}},"loc":{"start":{"line":19,"column":87},"end":{"line":21,"column":1}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":79},"end":{"line":28,"column":80}},"loc":{"start":{"line":28,"column":95},"end":{"line":32,"column":1}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":78},"end":{"line":39,"column":79}},"loc":{"start":{"line":39,"column":94},"end":{"line":43,"column":1}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":50,"column":77},"end":{"line":50,"column":78}},"loc":{"start":{"line":50,"column":93},"end":{"line":54,"column":1}},"line":50}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":4},"end":{"line":10,"column":42}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":10,"column":42}},{"start":{"line":9,"column":4},"end":{"line":10,"column":42}}],"line":9},"1":{"loc":{"start":{"line":29,"column":4},"end":{"line":30,"column":30}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":30,"column":30}},{"start":{"line":29,"column":4},"end":{"line":30,"column":30}}],"line":29},"2":{"loc":{"start":{"line":40,"column":4},"end":{"line":41,"column":29}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":41,"column":29}},{"start":{"line":40,"column":4},"end":{"line":41,"column":29}}],"line":40},"3":{"loc":{"start":{"line":51,"column":4},"end":{"line":52,"column":25}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":52,"column":25}},{"start":{"line":51,"column":4},"end":{"line":52,"column":25}}],"line":51}},"s":{"0":4,"1":7,"2":5,"3":2,"4":4,"5":1,"6":4,"7":3,"8":2,"9":1,"10":4,"11":3,"12":2,"13":1,"14":4,"15":5,"16":3,"17":2},"f":{"0":7,"1":1,"2":3,"3":3,"4":5},"b":{"0":[5,2],"1":[2,1],"2":[2,1],"3":[3,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"24be2b1820088b68e4b9be54b42a0cd83a209a9c"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\classes.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\classes.ts","statementMap":{"0":{"start":{"line":3,"column":31},"end":{"line":3,"column":50}},"1":{"start":{"line":10,"column":70},"end":{"line":12,"column":1}},"2":{"start":{"line":11,"column":4},"end":{"line":11,"column":45}},"3":{"start":{"line":19,"column":67},"end":{"line":28,"column":1}},"4":{"start":{"line":21,"column":20},"end":{"line":21,"column":21}},"5":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"6":{"start":{"line":24,"column":39},"end":{"line":24,"column":75}},"7":{"start":{"line":25,"column":8},"end":{"line":26,"column":37}},"8":{"start":{"line":26,"column":12},"end":{"line":26,"column":37}},"9":{"start":{"line":35,"column":70},"end":{"line":44,"column":1}},"10":{"start":{"line":37,"column":20},"end":{"line":37,"column":21}},"11":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"12":{"start":{"line":40,"column":39},"end":{"line":40,"column":75}},"13":{"start":{"line":41,"column":8},"end":{"line":42,"column":40}},"14":{"start":{"line":42,"column":12},"end":{"line":42,"column":40}},"15":{"start":{"line":52,"column":95},"end":{"line":59,"column":1}},"16":{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},"17":{"start":{"line":54,"column":8},"end":{"line":54,"column":33}},"18":{"start":{"line":57,"column":8},"end":{"line":57,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":70},"end":{"line":10,"column":71}},"loc":{"start":{"line":10,"column":90},"end":{"line":12,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":67},"end":{"line":19,"column":68}},"loc":{"start":{"line":19,"column":87},"end":{"line":28,"column":1}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":70},"end":{"line":35,"column":71}},"loc":{"start":{"line":35,"column":90},"end":{"line":44,"column":1}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":95},"end":{"line":52,"column":96}},"loc":{"start":{"line":52,"column":126},"end":{"line":59,"column":1}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":27,"column":5}},{"start":{"line":23,"column":4},"end":{"line":27,"column":5}}],"line":23},"1":{"loc":{"start":{"line":24,"column":39},"end":{"line":24,"column":75}},"type":"binary-expr","locations":[{"start":{"line":24,"column":39},"end":{"line":24,"column":69}},{"start":{"line":24,"column":73},"end":{"line":24,"column":75}}],"line":24},"2":{"loc":{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":43,"column":5}},{"start":{"line":39,"column":4},"end":{"line":43,"column":5}}],"line":39},"3":{"loc":{"start":{"line":40,"column":39},"end":{"line":40,"column":75}},"type":"binary-expr","locations":[{"start":{"line":40,"column":39},"end":{"line":40,"column":69}},{"start":{"line":40,"column":73},"end":{"line":40,"column":75}}],"line":40},"4":{"loc":{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},{"start":{"line":53,"column":4},"end":{"line":58,"column":5}}],"line":53}},"s":{"0":4,"1":4,"2":7,"3":4,"4":11,"5":11,"6":9,"7":9,"8":11,"9":4,"10":7,"11":7,"12":5,"13":5,"14":6,"15":4,"16":4,"17":2,"18":2},"f":{"0":7,"1":11,"2":7,"3":4},"b":{"0":[9,2],"1":[9,1],"2":[5,2],"3":[5,1],"4":[2,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5995c600690ab1c2bb5b7184b65b494774668f00"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\create.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\create.ts","statementMap":{"0":{"start":{"line":5,"column":47},"end":{"line":7,"column":1}},"1":{"start":{"line":6,"column":4},"end":{"line":6,"column":41}},"2":{"start":{"line":9,"column":64},"end":{"line":14,"column":1}},"3":{"start":{"line":10,"column":16},"end":{"line":10,"column":27}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":32}},"5":{"start":{"line":13,"column":4},"end":{"line":13,"column":61}},"6":{"start":{"line":13,"column":40},"end":{"line":13,"column":59}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":47},"end":{"line":5,"column":48}},"loc":{"start":{"line":5,"column":53},"end":{"line":7,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":64},"end":{"line":9,"column":65}},"loc":{"start":{"line":9,"column":74},"end":{"line":14,"column":1}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":31},"end":{"line":13,"column":32}},"loc":{"start":{"line":13,"column":40},"end":{"line":13,"column":59}},"line":13}},"branchMap":{},"s":{"0":4,"1":204,"2":4,"3":3,"4":3,"5":3,"6":9},"f":{"0":204,"1":3,"2":9},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"012e5601d4d44c019953d4b725a56c027929b8dc"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\index.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6b31aa5fc7ed5da8d2cf0825ed707578b6517fa7"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\manipulation.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\manipulation.ts","statementMap":{"0":{"start":{"line":13,"column":106},"end":{"line":48,"column":1}},"1":{"start":{"line":14,"column":4},"end":{"line":47,"column":5}},"2":{"start":{"line":15,"column":34},"end":{"line":15,"column":49}},"3":{"start":{"line":19,"column":8},"end":{"line":46,"column":9}},"4":{"start":{"line":20,"column":12},"end":{"line":33,"column":13}},"5":{"start":{"line":21,"column":16},"end":{"line":21,"column":61}},"6":{"start":{"line":24,"column":16},"end":{"line":29,"column":19}},"7":{"start":{"line":25,"column":20},"end":{"line":27,"column":21}},"8":{"start":{"line":26,"column":24},"end":{"line":26,"column":61}},"9":{"start":{"line":28,"column":20},"end":{"line":28,"column":55}},"10":{"start":{"line":32,"column":16},"end":{"line":32,"column":40}},"11":{"start":{"line":36,"column":12},"end":{"line":43,"column":13}},"12":{"start":{"line":37,"column":16},"end":{"line":42,"column":17}},"13":{"start":{"line":38,"column":20},"end":{"line":38,"column":47}},"14":{"start":{"line":40,"column":21},"end":{"line":42,"column":17}},"15":{"start":{"line":41,"column":20},"end":{"line":41,"column":48}},"16":{"start":{"line":45,"column":12},"end":{"line":45,"column":50}},"17":{"start":{"line":55,"column":85},"end":{"line":55,"column":137}},"18":{"start":{"line":55,"column":107},"end":{"line":55,"column":135}},"19":{"start":{"line":62,"column":86},"end":{"line":62,"column":157}},"20":{"start":{"line":62,"column":108},"end":{"line":62,"column":155}},"21":{"start":{"line":69,"column":88},"end":{"line":69,"column":158}},"22":{"start":{"line":69,"column":115},"end":{"line":69,"column":156}},"23":{"start":{"line":76,"column":87},"end":{"line":76,"column":177}},"24":{"start":{"line":76,"column":114},"end":{"line":76,"column":175}},"25":{"start":{"line":82,"column":63},"end":{"line":91,"column":1}},"26":{"start":{"line":83,"column":4},"end":{"line":90,"column":5}},"27":{"start":{"line":84,"column":8},"end":{"line":84,"column":58}},"28":{"start":{"line":84,"column":39},"end":{"line":84,"column":56}},"29":{"start":{"line":86,"column":9},"end":{"line":90,"column":5}},"30":{"start":{"line":87,"column":27},"end":{"line":87,"column":43}},"31":{"start":{"line":88,"column":8},"end":{"line":89,"column":42}},"32":{"start":{"line":89,"column":12},"end":{"line":89,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":106},"end":{"line":13,"column":107}},"loc":{"start":{"line":13,"column":149},"end":{"line":48,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":35},"end":{"line":24,"column":36}},"loc":{"start":{"line":24,"column":52},"end":{"line":29,"column":17}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":85},"end":{"line":55,"column":86}},"loc":{"start":{"line":55,"column":105},"end":{"line":55,"column":137}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":62,"column":86},"end":{"line":62,"column":87}},"loc":{"start":{"line":62,"column":106},"end":{"line":62,"column":157}},"line":62},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":88},"end":{"line":69,"column":89}},"loc":{"start":{"line":69,"column":113},"end":{"line":69,"column":158}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":87},"end":{"line":76,"column":88}},"loc":{"start":{"line":76,"column":112},"end":{"line":76,"column":177}},"line":76},"6":{"name":"(anonymous_6)","decl":{"start":{"line":82,"column":63},"end":{"line":82,"column":64}},"loc":{"start":{"line":82,"column":74},"end":{"line":91,"column":1}},"line":82},"7":{"name":"(anonymous_7)","decl":{"start":{"line":84,"column":32},"end":{"line":84,"column":33}},"loc":{"start":{"line":84,"column":39},"end":{"line":84,"column":56}},"line":84}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":47,"column":5}},{"start":{"line":14,"column":4},"end":{"line":47,"column":5}}],"line":14},"1":{"loc":{"start":{"line":19,"column":8},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":46,"column":9}},{"start":{"line":19,"column":8},"end":{"line":46,"column":9}}],"line":19},"2":{"loc":{"start":{"line":20,"column":12},"end":{"line":33,"column":13}},"type":"if","locations":[{"start":{"line":20,"column":12},"end":{"line":33,"column":13}},{"start":{"line":20,"column":12},"end":{"line":33,"column":13}}],"line":20},"3":{"loc":{"start":{"line":25,"column":20},"end":{"line":27,"column":21}},"type":"if","locations":[{"start":{"line":25,"column":20},"end":{"line":27,"column":21}},{"start":{"line":25,"column":20},"end":{"line":27,"column":21}}],"line":25},"4":{"loc":{"start":{"line":36,"column":12},"end":{"line":43,"column":13}},"type":"if","locations":[{"start":{"line":36,"column":12},"end":{"line":43,"column":13}},{"start":{"line":36,"column":12},"end":{"line":43,"column":13}}],"line":36},"5":{"loc":{"start":{"line":37,"column":16},"end":{"line":42,"column":17}},"type":"if","locations":[{"start":{"line":37,"column":16},"end":{"line":42,"column":17}},{"start":{"line":37,"column":16},"end":{"line":42,"column":17}}],"line":37},"6":{"loc":{"start":{"line":40,"column":21},"end":{"line":42,"column":17}},"type":"if","locations":[{"start":{"line":40,"column":21},"end":{"line":42,"column":17}},{"start":{"line":40,"column":21},"end":{"line":42,"column":17}}],"line":40},"7":{"loc":{"start":{"line":62,"column":121},"end":{"line":62,"column":144}},"type":"binary-expr","locations":[{"start":{"line":62,"column":121},"end":{"line":62,"column":125}},{"start":{"line":62,"column":129},"end":{"line":62,"column":144}}],"line":62},"8":{"loc":{"start":{"line":76,"column":135},"end":{"line":76,"column":159}},"type":"binary-expr","locations":[{"start":{"line":76,"column":135},"end":{"line":76,"column":139}},{"start":{"line":76,"column":143},"end":{"line":76,"column":159}}],"line":76},"9":{"loc":{"start":{"line":83,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":90,"column":5}},{"start":{"line":83,"column":4},"end":{"line":90,"column":5}}],"line":83},"10":{"loc":{"start":{"line":86,"column":9},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":9},"end":{"line":90,"column":5}},{"start":{"line":86,"column":9},"end":{"line":90,"column":5}}],"line":86},"11":{"loc":{"start":{"line":88,"column":8},"end":{"line":89,"column":42}},"type":"if","locations":[{"start":{"line":88,"column":8},"end":{"line":89,"column":42}},{"start":{"line":88,"column":8},"end":{"line":89,"column":42}}],"line":88}},"s":{"0":4,"1":24,"2":20,"3":20,"4":16,"5":8,"6":8,"7":24,"8":3,"9":24,"10":8,"11":16,"12":12,"13":1,"14":11,"15":2,"16":16,"17":4,"18":6,"19":4,"20":6,"21":4,"22":6,"23":4,"24":6,"25":4,"26":23,"27":2,"28":9,"29":21,"30":20,"31":20,"32":15},"f":{"0":24,"1":24,"2":6,"3":6,"4":6,"5":6,"6":23,"7":9},"b":{"0":[20,4],"1":[16,4],"2":[8,8],"3":[3,21],"4":[12,4],"5":[1,11],"6":[2,9],"7":[6,5],"8":[6,5],"9":[2,21],"10":[20,1],"11":[15,5]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bd263f16681e08a455112a1589993c688a9aeecc"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\offset.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\offset.ts","statementMap":{"0":{"start":{"line":1,"column":22},"end":{"line":7,"column":1}},"1":{"start":{"line":2,"column":17},"end":{"line":2,"column":44}},"2":{"start":{"line":3,"column":4},"end":{"line":6,"column":6}},"3":{"start":{"line":9,"column":24},"end":{"line":14,"column":1}},"4":{"start":{"line":10,"column":4},"end":{"line":13,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":44},"end":{"line":7,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":25}},"loc":{"start":{"line":9,"column":46},"end":{"line":14,"column":1}},"line":9}},"branchMap":{},"s":{"0":3,"1":0,"2":0,"3":3,"4":0},"f":{"0":0,"1":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"445edae71356c0d4ddaf9c2dcc9554b40399b62d"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\style.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\style.ts","statementMap":{"0":{"start":{"line":5,"column":18},"end":{"line":19,"column":1}},"1":{"start":{"line":21,"column":82},"end":{"line":27,"column":1}},"2":{"start":{"line":22,"column":4},"end":{"line":26,"column":19}},"3":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"4":{"start":{"line":24,"column":12},"end":{"line":24,"column":53}},"5":{"start":{"line":29,"column":77},"end":{"line":31,"column":1}},"6":{"start":{"line":30,"column":4},"end":{"line":30,"column":78}},"7":{"start":{"line":36,"column":34},"end":{"line":36,"column":57}},"8":{"start":{"line":38,"column":4},"end":{"line":52,"column":5}},"9":{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},"10":{"start":{"line":40,"column":50},"end":{"line":40,"column":72}},"11":{"start":{"line":43,"column":12},"end":{"line":43,"column":92}},"12":{"start":{"line":46,"column":12},"end":{"line":46,"column":40}},"13":{"start":{"line":50,"column":8},"end":{"line":51,"column":45}},"14":{"start":{"line":51,"column":12},"end":{"line":51,"column":45}},"15":{"start":{"line":55,"column":48},"end":{"line":57,"column":1}},"16":{"start":{"line":56,"column":4},"end":{"line":56,"column":31}},"17":{"start":{"line":59,"column":48},"end":{"line":61,"column":1}},"18":{"start":{"line":60,"column":4},"end":{"line":60,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":82},"end":{"line":21,"column":83}},"loc":{"start":{"line":21,"column":102},"end":{"line":27,"column":1}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":77},"end":{"line":29,"column":78}},"loc":{"start":{"line":29,"column":92},"end":{"line":31,"column":1}},"line":29},"2":{"name":"style","decl":{"start":{"line":35,"column":16},"end":{"line":35,"column":21}},"loc":{"start":{"line":35,"column":108},"end":{"line":53,"column":1}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":48},"end":{"line":55,"column":49}},"loc":{"start":{"line":55,"column":57},"end":{"line":57,"column":1}},"line":55},"4":{"name":"(anonymous_4)","decl":{"start":{"line":59,"column":48},"end":{"line":59,"column":49}},"loc":{"start":{"line":59,"column":57},"end":{"line":61,"column":1}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},{"start":{"line":23,"column":8},"end":{"line":25,"column":9}}],"line":23},"1":{"loc":{"start":{"line":30,"column":11},"end":{"line":30,"column":77}},"type":"cond-expr","locations":[{"start":{"line":30,"column":61},"end":{"line":30,"column":71}},{"start":{"line":30,"column":74},"end":{"line":30,"column":77}}],"line":30},"2":{"loc":{"start":{"line":30,"column":11},"end":{"line":30,"column":58}},"type":"binary-expr","locations":[{"start":{"line":30,"column":11},"end":{"line":30,"column":41}},{"start":{"line":30,"column":45},"end":{"line":30,"column":58}}],"line":30},"3":{"loc":{"start":{"line":38,"column":4},"end":{"line":52,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":52,"column":5}},{"start":{"line":38,"column":4},"end":{"line":52,"column":5}}],"line":38},"4":{"loc":{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},{"start":{"line":39,"column":8},"end":{"line":47,"column":9}}],"line":39},"5":{"loc":{"start":{"line":43,"column":19},"end":{"line":43,"column":91}},"type":"cond-expr","locations":[{"start":{"line":43,"column":38},"end":{"line":43,"column":71}},{"start":{"line":43,"column":74},"end":{"line":43,"column":91}}],"line":43}},"s":{"0":3,"1":3,"2":0,"3":0,"4":0,"5":3,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":3,"16":0,"17":3,"18":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"863c92617f35662ef9f8c4d0f7982e17d95ce415"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\traversal.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\dom\\traversal.ts","statementMap":{"0":{"start":{"line":3,"column":56},"end":{"line":5,"column":1}},"1":{"start":{"line":4,"column":4},"end":{"line":4,"column":82}},"2":{"start":{"line":7,"column":88},"end":{"line":15,"column":1}},"3":{"start":{"line":8,"column":32},"end":{"line":8,"column":34}},"4":{"start":{"line":10,"column":4},"end":{"line":12,"column":7}},"5":{"start":{"line":11,"column":8},"end":{"line":11,"column":20}},"6":{"start":{"line":14,"column":4},"end":{"line":14,"column":15}},"7":{"start":{"line":17,"column":85},"end":{"line":19,"column":1}},"8":{"start":{"line":18,"column":4},"end":{"line":18,"column":53}},"9":{"start":{"line":21,"column":70},"end":{"line":31,"column":1}},"10":{"start":{"line":22,"column":4},"end":{"line":29,"column":5}},"11":{"start":{"line":23,"column":8},"end":{"line":24,"column":56}},"12":{"start":{"line":24,"column":12},"end":{"line":24,"column":56}},"13":{"start":{"line":25,"column":8},"end":{"line":26,"column":57}},"14":{"start":{"line":26,"column":12},"end":{"line":26,"column":57}},"15":{"start":{"line":27,"column":8},"end":{"line":28,"column":24}},"16":{"start":{"line":28,"column":12},"end":{"line":28,"column":24}},"17":{"start":{"line":30,"column":4},"end":{"line":30,"column":17}},"18":{"start":{"line":33,"column":92},"end":{"line":46,"column":1}},"19":{"start":{"line":34,"column":37},"end":{"line":34,"column":39}},"20":{"start":{"line":36,"column":4},"end":{"line":43,"column":7}},"21":{"start":{"line":37,"column":8},"end":{"line":42,"column":33}},"22":{"start":{"line":38,"column":12},"end":{"line":39,"column":37}},"23":{"start":{"line":39,"column":16},"end":{"line":39,"column":37}},"24":{"start":{"line":42,"column":12},"end":{"line":42,"column":33}},"25":{"start":{"line":45,"column":4},"end":{"line":45,"column":20}},"26":{"start":{"line":48,"column":75},"end":{"line":50,"column":1}},"27":{"start":{"line":49,"column":4},"end":{"line":49,"column":60}},"28":{"start":{"line":52,"column":57},"end":{"line":52,"column":96}},"29":{"start":{"line":52,"column":66},"end":{"line":52,"column":96}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":56},"end":{"line":3,"column":57}},"loc":{"start":{"line":3,"column":65},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":88},"end":{"line":7,"column":89}},"loc":{"start":{"line":7,"column":108},"end":{"line":15,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":55},"end":{"line":10,"column":56}},"loc":{"start":{"line":10,"column":71},"end":{"line":12,"column":5}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":85},"end":{"line":17,"column":86}},"loc":{"start":{"line":17,"column":105},"end":{"line":19,"column":1}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":70},"end":{"line":21,"column":71}},"loc":{"start":{"line":21,"column":89},"end":{"line":31,"column":1}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":92},"end":{"line":33,"column":93}},"loc":{"start":{"line":33,"column":112},"end":{"line":46,"column":1}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":36,"column":30},"end":{"line":36,"column":31}},"loc":{"start":{"line":36,"column":50},"end":{"line":43,"column":5}},"line":36},"7":{"name":"(anonymous_7)","decl":{"start":{"line":48,"column":75},"end":{"line":48,"column":76}},"loc":{"start":{"line":48,"column":84},"end":{"line":50,"column":1}},"line":48},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":57},"end":{"line":52,"column":58}},"loc":{"start":{"line":52,"column":66},"end":{"line":52,"column":96}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":14},"end":{"line":4,"column":80}},"type":"binary-expr","locations":[{"start":{"line":4,"column":14},"end":{"line":4,"column":29}},{"start":{"line":4,"column":33},"end":{"line":4,"column":49}},{"start":{"line":4,"column":53},"end":{"line":4,"column":80}}],"line":4},"1":{"loc":{"start":{"line":10,"column":10},"end":{"line":10,"column":25}},"type":"binary-expr","locations":[{"start":{"line":10,"column":10},"end":{"line":10,"column":13}},{"start":{"line":10,"column":17},"end":{"line":10,"column":25}}],"line":10},"2":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":27}},"type":"binary-expr","locations":[{"start":{"line":18,"column":12},"end":{"line":18,"column":15}},{"start":{"line":18,"column":19},"end":{"line":18,"column":27}}],"line":18},"3":{"loc":{"start":{"line":22,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":29,"column":5}},{"start":{"line":22,"column":4},"end":{"line":29,"column":5}}],"line":22},"4":{"loc":{"start":{"line":23,"column":8},"end":{"line":24,"column":56}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":24,"column":56}},{"start":{"line":23,"column":8},"end":{"line":24,"column":56}}],"line":23},"5":{"loc":{"start":{"line":25,"column":8},"end":{"line":26,"column":57}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":26,"column":57}},{"start":{"line":25,"column":8},"end":{"line":26,"column":57}}],"line":25},"6":{"loc":{"start":{"line":27,"column":8},"end":{"line":28,"column":24}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":28,"column":24}},{"start":{"line":27,"column":8},"end":{"line":28,"column":24}}],"line":27},"7":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":28}},"type":"binary-expr","locations":[{"start":{"line":36,"column":9},"end":{"line":36,"column":12}},{"start":{"line":36,"column":16},"end":{"line":36,"column":28}}],"line":36},"8":{"loc":{"start":{"line":37,"column":8},"end":{"line":42,"column":33}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":42,"column":33}},{"start":{"line":37,"column":8},"end":{"line":42,"column":33}}],"line":37},"9":{"loc":{"start":{"line":38,"column":12},"end":{"line":39,"column":37}},"type":"if","locations":[{"start":{"line":38,"column":12},"end":{"line":39,"column":37}},{"start":{"line":38,"column":12},"end":{"line":39,"column":37}}],"line":38},"10":{"loc":{"start":{"line":49,"column":11},"end":{"line":49,"column":59}},"type":"cond-expr","locations":[{"start":{"line":49,"column":17},"end":{"line":49,"column":54}},{"start":{"line":49,"column":57},"end":{"line":49,"column":59}}],"line":49},"11":{"loc":{"start":{"line":52,"column":66},"end":{"line":52,"column":96}},"type":"cond-expr","locations":[{"start":{"line":52,"column":72},"end":{"line":52,"column":89}},{"start":{"line":52,"column":92},"end":{"line":52,"column":96}}],"line":52}},"s":{"0":4,"1":4,"2":4,"3":6,"4":6,"5":18,"6":6,"7":4,"8":19,"9":4,"10":31,"11":22,"12":2,"13":20,"14":2,"15":18,"16":6,"17":21,"18":4,"19":3,"20":3,"21":6,"22":3,"23":1,"24":3,"25":3,"26":4,"27":38,"28":4,"29":14},"f":{"0":4,"1":6,"2":18,"3":19,"4":31,"5":3,"6":6,"7":38,"8":14},"b":{"0":[4,4,4],"1":[6,5],"2":[19,18],"3":[22,9],"4":[2,20],"5":[2,18],"6":[6,12],"7":[3,2],"8":[3,3],"9":[1,2],"10":[37,1],"11":[11,3]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f5bf144578a49074b5f21de43950bd8f6d3deb18"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\index.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4f1e062d7329b627b761613ca309fd6f53fa5a18"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\transformation.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\transformation.ts","statementMap":{"0":{"start":{"line":13,"column":24},"end":{"line":13,"column":26}},"1":{"start":{"line":15,"column":4},"end":{"line":23,"column":7}},"2":{"start":{"line":16,"column":86},"end":{"line":16,"column":117}},"3":{"start":{"line":19,"column":8},"end":{"line":22,"column":94}},"4":{"start":{"line":20,"column":12},"end":{"line":20,"column":50}},"5":{"start":{"line":25,"column":4},"end":{"line":25,"column":18}}},"fnMap":{"0":{"name":"transform","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":157},"end":{"line":26,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":50},"end":{"line":15,"column":51}},"loc":{"start":{"line":15,"column":85},"end":{"line":23,"column":5}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":8},"end":{"line":22,"column":94}},"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":22,"column":94}}],"line":19},"1":{"loc":{"start":{"line":20,"column":30},"end":{"line":20,"column":48}},"type":"cond-expr","locations":[{"start":{"line":20,"column":43},"end":{"line":20,"column":44}},{"start":{"line":20,"column":47},"end":{"line":20,"column":48}}],"line":20}},"s":{"0":16,"1":16,"2":102,"3":102,"4":90,"5":16},"f":{"0":16,"1":102},"b":{"0":[90],"1":[45,45]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f18175016433e8e1467220f79d638c34834b3b6f"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\validation.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\options\\validation.ts","statementMap":{"0":{"start":{"line":5,"column":18},"end":{"line":5,"column":32}},"1":{"start":{"line":10,"column":60},"end":{"line":10,"column":81}},"2":{"start":{"line":16,"column":61},"end":{"line":27,"column":40}},"3":{"start":{"line":25,"column":4},"end":{"line":25,"column":84}},"4":{"start":{"line":26,"column":4},"end":{"line":26,"column":18}},"5":{"start":{"line":47,"column":26},"end":{"line":121,"column":1}},"6":{"start":{"line":48,"column":50},"end":{"line":48,"column":52}},"7":{"start":{"line":49,"column":27},"end":{"line":49,"column":53}},"8":{"start":{"line":50,"column":18},"end":{"line":50,"column":84}},"9":{"start":{"line":50,"column":55},"end":{"line":50,"column":83}},"10":{"start":{"line":52,"column":4},"end":{"line":115,"column":7}},"11":{"start":{"line":53,"column":38},"end":{"line":53,"column":93}},"12":{"start":{"line":54,"column":34},"end":{"line":54,"column":47}},"13":{"start":{"line":55,"column":105},"end":{"line":55,"column":119}},"14":{"start":{"line":56,"column":34},"end":{"line":56,"column":62}},"15":{"start":{"line":57,"column":27},"end":{"line":57,"column":57}},"16":{"start":{"line":60,"column":8},"end":{"line":114,"column":9}},"17":{"start":{"line":61,"column":36},"end":{"line":61,"column":149}},"18":{"start":{"line":62,"column":12},"end":{"line":62,"column":63}},"19":{"start":{"line":63,"column":12},"end":{"line":63,"column":63}},"20":{"start":{"line":65,"column":12},"end":{"line":69,"column":15}},"21":{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},"22":{"start":{"line":67,"column":20},"end":{"line":67,"column":39}},"23":{"start":{"line":71,"column":13},"end":{"line":114,"column":9}},"24":{"start":{"line":72,"column":26},"end":{"line":72,"column":31}},"25":{"start":{"line":73,"column":52},"end":{"line":73,"column":54}},"26":{"start":{"line":74,"column":54},"end":{"line":74,"column":56}},"27":{"start":{"line":75,"column":37},"end":{"line":75,"column":55}},"28":{"start":{"line":76,"column":75},"end":{"line":76,"column":196}},"29":{"start":{"line":78,"column":12},"end":{"line":98,"column":15}},"30":{"start":{"line":80,"column":37},"end":{"line":80,"column":103}},"31":{"start":{"line":81,"column":16},"end":{"line":91,"column":17}},"32":{"start":{"line":83,"column":44},"end":{"line":83,"column":71}},"33":{"start":{"line":84,"column":20},"end":{"line":84,"column":98}},"34":{"start":{"line":84,"column":68},"end":{"line":84,"column":96}},"35":{"start":{"line":87,"column":20},"end":{"line":87,"column":62}},"36":{"start":{"line":90,"column":20},"end":{"line":90,"column":90}},"37":{"start":{"line":94,"column":16},"end":{"line":94,"column":103}},"38":{"start":{"line":97,"column":16},"end":{"line":97,"column":32}},"39":{"start":{"line":101,"column":12},"end":{"line":111,"column":13}},"40":{"start":{"line":102,"column":46},"end":{"line":102,"column":98}},"41":{"start":{"line":103,"column":16},"end":{"line":105,"column":17}},"42":{"start":{"line":104,"column":20},"end":{"line":104,"column":58}},"43":{"start":{"line":107,"column":17},"end":{"line":111,"column":13}},"44":{"start":{"line":108,"column":16},"end":{"line":110,"column":118}},"45":{"start":{"line":113,"column":12},"end":{"line":113,"column":37}},"46":{"start":{"line":117,"column":4},"end":{"line":120,"column":6}},"47":{"start":{"line":140,"column":17},"end":{"line":152,"column":1}},"48":{"start":{"line":151,"column":4},"end":{"line":151,"column":91}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":27},"end":{"line":27,"column":1}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":26},"end":{"line":47,"column":27}},"loc":{"start":{"line":47,"column":216},"end":{"line":121,"column":1}},"line":47},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":47},"end":{"line":50,"column":48}},"loc":{"start":{"line":50,"column":55},"end":{"line":50,"column":83}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":16},"end":{"line":52,"column":17}},"loc":{"start":{"line":52,"column":52},"end":{"line":115,"column":5}},"line":52},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":50},"end":{"line":65,"column":51}},"loc":{"start":{"line":65,"column":61},"end":{"line":69,"column":13}},"line":65},"5":{"name":"(anonymous_5)","decl":{"start":{"line":78,"column":35},"end":{"line":78,"column":36}},"loc":{"start":{"line":78,"column":57},"end":{"line":98,"column":13}},"line":78},"6":{"name":"(anonymous_6)","decl":{"start":{"line":84,"column":53},"end":{"line":84,"column":54}},"loc":{"start":{"line":84,"column":68},"end":{"line":84,"column":96}},"line":84},"7":{"name":"(anonymous_7)","decl":{"start":{"line":140,"column":17},"end":{"line":140,"column":18}},"loc":{"start":{"line":140,"column":189},"end":{"line":152,"column":1}},"line":140}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":38},"end":{"line":53,"column":93}},"type":"cond-expr","locations":[{"start":{"line":53,"column":71},"end":{"line":53,"column":73}},{"start":{"line":53,"column":76},"end":{"line":53,"column":93}}],"line":53},"1":{"loc":{"start":{"line":57,"column":27},"end":{"line":57,"column":57}},"type":"cond-expr","locations":[{"start":{"line":57,"column":38},"end":{"line":57,"column":52}},{"start":{"line":57,"column":55},"end":{"line":57,"column":57}}],"line":57},"2":{"loc":{"start":{"line":60,"column":8},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":114,"column":9}},{"start":{"line":60,"column":8},"end":{"line":114,"column":9}}],"line":60},"3":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":60}},"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":29}},{"start":{"line":60,"column":33},"end":{"line":60,"column":60}}],"line":60},"4":{"loc":{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},"type":"if","locations":[{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},{"start":{"line":66,"column":16},"end":{"line":68,"column":17}}],"line":66},"5":{"loc":{"start":{"line":71,"column":13},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":71,"column":13},"end":{"line":114,"column":9}},{"start":{"line":71,"column":13},"end":{"line":114,"column":9}}],"line":71},"6":{"loc":{"start":{"line":76,"column":75},"end":{"line":76,"column":196}},"type":"cond-expr","locations":[{"start":{"line":76,"column":101},"end":{"line":76,"column":149}},{"start":{"line":76,"column":152},"end":{"line":76,"column":196}}],"line":76},"7":{"loc":{"start":{"line":81,"column":16},"end":{"line":91,"column":17}},"type":"if","locations":[{"start":{"line":81,"column":16},"end":{"line":91,"column":17}},{"start":{"line":81,"column":16},"end":{"line":91,"column":17}}],"line":81},"8":{"loc":{"start":{"line":81,"column":20},"end":{"line":81,"column":58}},"type":"binary-expr","locations":[{"start":{"line":81,"column":20},"end":{"line":81,"column":32}},{"start":{"line":81,"column":36},"end":{"line":81,"column":58}}],"line":81},"9":{"loc":{"start":{"line":94,"column":40},"end":{"line":94,"column":101}},"type":"cond-expr","locations":[{"start":{"line":94,"column":55},"end":{"line":94,"column":82}},{"start":{"line":94,"column":85},"end":{"line":94,"column":101}}],"line":94},"10":{"loc":{"start":{"line":101,"column":12},"end":{"line":111,"column":13}},"type":"if","locations":[{"start":{"line":101,"column":12},"end":{"line":111,"column":13}},{"start":{"line":101,"column":12},"end":{"line":111,"column":13}}],"line":101},"11":{"loc":{"start":{"line":102,"column":46},"end":{"line":102,"column":98}},"type":"binary-expr","locations":[{"start":{"line":102,"column":46},"end":{"line":102,"column":67}},{"start":{"line":102,"column":71},"end":{"line":102,"column":98}}],"line":102},"12":{"loc":{"start":{"line":103,"column":16},"end":{"line":105,"column":17}},"type":"if","locations":[{"start":{"line":103,"column":16},"end":{"line":105,"column":17}},{"start":{"line":103,"column":16},"end":{"line":105,"column":17}}],"line":103},"13":{"loc":{"start":{"line":103,"column":20},"end":{"line":103,"column":135}},"type":"cond-expr","locations":[{"start":{"line":103,"column":44},"end":{"line":103,"column":99}},{"start":{"line":103,"column":102},"end":{"line":103,"column":135}}],"line":103},"14":{"loc":{"start":{"line":107,"column":17},"end":{"line":111,"column":13}},"type":"if","locations":[{"start":{"line":107,"column":17},"end":{"line":111,"column":13}},{"start":{"line":107,"column":17},"end":{"line":111,"column":13}}],"line":107},"15":{"loc":{"start":{"line":110,"column":21},"end":{"line":110,"column":116}},"type":"cond-expr","locations":[{"start":{"line":110,"column":51},"end":{"line":110,"column":111}},{"start":{"line":110,"column":114},"end":{"line":110,"column":116}}],"line":110},"16":{"loc":{"start":{"line":151,"column":48},"end":{"line":151,"column":65}},"type":"binary-expr","locations":[{"start":{"line":151,"column":48},"end":{"line":151,"column":59}},{"start":{"line":151,"column":63},"end":{"line":151,"column":65}}],"line":151},"17":{"loc":{"start":{"line":151,"column":67},"end":{"line":151,"column":89}},"type":"binary-expr","locations":[{"start":{"line":151,"column":67},"end":{"line":151,"column":80}},{"start":{"line":151,"column":84},"end":{"line":151,"column":89}}],"line":151}},"s":{"0":3,"1":3,"2":3,"3":21,"4":21,"5":3,"6":65,"7":65,"8":65,"9":372,"10":65,"11":372,"12":372,"13":372,"14":372,"15":372,"16":372,"17":33,"18":33,"19":33,"20":33,"21":66,"22":33,"23":339,"24":336,"25":336,"26":336,"27":336,"28":336,"29":336,"30":417,"31":417,"32":64,"33":64,"34":121,"35":64,"36":353,"37":417,"38":417,"39":336,"40":310,"41":310,"42":256,"43":26,"44":2,"45":336,"46":65,"47":3,"48":32},"f":{"0":21,"1":65,"2":372,"3":372,"4":66,"5":417,"6":121,"7":32},"b":{"0":[295,77],"1":[110,262],"2":[33,339],"3":[372,36],"4":[33,33],"5":[336,3],"6":[227,109],"7":[64,353],"8":[417,64],"9":[64,353],"10":[310,26],"11":[310,277],"12":[256,54],"13":[62,248],"14":[2,24],"15":[1,1],"16":[32,20],"17":[32,28]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"00fcd38e6b8d91d21cd28bc59c70c3dffa0a2e9c"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\arrays.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\arrays.ts","statementMap":{"0":{"start":{"line":19,"column":29},"end":{"line":19,"column":30}},"1":{"start":{"line":21,"column":4},"end":{"line":32,"column":5}},"2":{"start":{"line":22,"column":8},"end":{"line":25,"column":9}},"3":{"start":{"line":23,"column":12},"end":{"line":24,"column":22}},"4":{"start":{"line":24,"column":16},"end":{"line":24,"column":22}},"5":{"start":{"line":27,"column":9},"end":{"line":32,"column":5}},"6":{"start":{"line":28,"column":8},"end":{"line":31,"column":9}},"7":{"start":{"line":29,"column":12},"end":{"line":30,"column":22}},"8":{"start":{"line":30,"column":16},"end":{"line":30,"column":22}},"9":{"start":{"line":33,"column":4},"end":{"line":33,"column":18}},"10":{"start":{"line":42,"column":88},"end":{"line":44,"column":1}},"11":{"start":{"line":43,"column":4},"end":{"line":43,"column":40}}},"fnMap":{"0":{"name":"each","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":20}},"loc":{"start":{"line":18,"column":208},"end":{"line":34,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":88},"end":{"line":42,"column":89}},"loc":{"start":{"line":42,"column":114},"end":{"line":44,"column":1}},"line":42}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":32,"column":5}},{"start":{"line":21,"column":4},"end":{"line":32,"column":5}}],"line":21},"1":{"loc":{"start":{"line":23,"column":12},"end":{"line":24,"column":22}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":24,"column":22}},{"start":{"line":23,"column":12},"end":{"line":24,"column":22}}],"line":23},"2":{"loc":{"start":{"line":27,"column":9},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":9},"end":{"line":32,"column":5}},{"start":{"line":27,"column":9},"end":{"line":32,"column":5}}],"line":27},"3":{"loc":{"start":{"line":29,"column":12},"end":{"line":30,"column":22}},"type":"if","locations":[{"start":{"line":29,"column":12},"end":{"line":30,"column":22}},{"start":{"line":29,"column":12},"end":{"line":30,"column":22}}],"line":29}},"s":{"0":694,"1":694,"2":688,"3":2211,"4":320,"5":6,"6":5,"7":13,"8":1,"9":694,"10":9,"11":418},"f":{"0":694,"1":418},"b":{"0":[688,6],"1":[320,1891],"2":[5,1],"3":[1,12]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c003cb641a3c600d6cb1c3123b41f28dab4cdd20"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\extend.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\extend.ts","statementMap":{"0":{"start":{"line":11,"column":32},"end":{"line":11,"column":86}},"1":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"2":{"start":{"line":15,"column":8},"end":{"line":15,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":55,"column":7}},"4":{"start":{"line":20,"column":8},"end":{"line":54,"column":9}},"5":{"start":{"line":23,"column":12},"end":{"line":53,"column":13}},"6":{"start":{"line":24,"column":34},"end":{"line":24,"column":46}},"7":{"start":{"line":28,"column":16},"end":{"line":30,"column":17}},"8":{"start":{"line":29,"column":20},"end":{"line":29,"column":29}},"9":{"start":{"line":32,"column":36},"end":{"line":32,"column":49}},"10":{"start":{"line":35,"column":16},"end":{"line":52,"column":17}},"11":{"start":{"line":36,"column":32},"end":{"line":36,"column":44}},"12":{"start":{"line":37,"column":37},"end":{"line":37,"column":40}},"13":{"start":{"line":40,"column":20},"end":{"line":44,"column":21}},"14":{"start":{"line":41,"column":24},"end":{"line":41,"column":35}},"15":{"start":{"line":42,"column":27},"end":{"line":44,"column":21}},"16":{"start":{"line":43,"column":24},"end":{"line":43,"column":35}},"17":{"start":{"line":47,"column":20},"end":{"line":47,"column":62}},"18":{"start":{"line":50,"column":23},"end":{"line":52,"column":17}},"19":{"start":{"line":51,"column":20},"end":{"line":51,"column":40}},"20":{"start":{"line":58,"column":4},"end":{"line":58,"column":25}}},"fnMap":{"0":{"name":"extend","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":22}},"loc":{"start":{"line":10,"column":160},"end":{"line":59,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":18},"end":{"line":18,"column":19}},"loc":{"start":{"line":18,"column":30},"end":{"line":55,"column":5}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":16,"column":5}},{"start":{"line":14,"column":4},"end":{"line":16,"column":5}}],"line":14},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":77}},"type":"binary-expr","locations":[{"start":{"line":14,"column":9},"end":{"line":14,"column":35}},{"start":{"line":14,"column":39},"end":{"line":14,"column":53}},{"start":{"line":14,"column":58},"end":{"line":14,"column":77}}],"line":14},"2":{"loc":{"start":{"line":20,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":54,"column":9}},{"start":{"line":20,"column":8},"end":{"line":54,"column":9}}],"line":20},"3":{"loc":{"start":{"line":28,"column":16},"end":{"line":30,"column":17}},"type":"if","locations":[{"start":{"line":28,"column":16},"end":{"line":30,"column":17}},{"start":{"line":28,"column":16},"end":{"line":30,"column":17}}],"line":28},"4":{"loc":{"start":{"line":28,"column":20},"end":{"line":28,"column":59}},"type":"binary-expr","locations":[{"start":{"line":28,"column":20},"end":{"line":28,"column":40}},{"start":{"line":28,"column":44},"end":{"line":28,"column":59}}],"line":28},"5":{"loc":{"start":{"line":35,"column":16},"end":{"line":52,"column":17}},"type":"if","locations":[{"start":{"line":35,"column":16},"end":{"line":52,"column":17}},{"start":{"line":35,"column":16},"end":{"line":52,"column":17}}],"line":35},"6":{"loc":{"start":{"line":35,"column":20},"end":{"line":35,"column":64}},"type":"binary-expr","locations":[{"start":{"line":35,"column":20},"end":{"line":35,"column":24}},{"start":{"line":35,"column":29},"end":{"line":35,"column":48}},{"start":{"line":35,"column":52},"end":{"line":35,"column":63}}],"line":35},"7":{"loc":{"start":{"line":40,"column":20},"end":{"line":44,"column":21}},"type":"if","locations":[{"start":{"line":40,"column":20},"end":{"line":44,"column":21}},{"start":{"line":40,"column":20},"end":{"line":44,"column":21}}],"line":40},"8":{"loc":{"start":{"line":40,"column":24},"end":{"line":40,"column":52}},"type":"binary-expr","locations":[{"start":{"line":40,"column":24},"end":{"line":40,"column":35}},{"start":{"line":40,"column":39},"end":{"line":40,"column":52}}],"line":40},"9":{"loc":{"start":{"line":42,"column":27},"end":{"line":44,"column":21}},"type":"if","locations":[{"start":{"line":42,"column":27},"end":{"line":44,"column":21}},{"start":{"line":42,"column":27},"end":{"line":44,"column":21}}],"line":42},"10":{"loc":{"start":{"line":42,"column":31},"end":{"line":42,"column":66}},"type":"binary-expr","locations":[{"start":{"line":42,"column":31},"end":{"line":42,"column":43}},{"start":{"line":42,"column":47},"end":{"line":42,"column":66}}],"line":42},"11":{"loc":{"start":{"line":50,"column":23},"end":{"line":52,"column":17}},"type":"if","locations":[{"start":{"line":50,"column":23},"end":{"line":52,"column":17}},{"start":{"line":50,"column":23},"end":{"line":52,"column":17}}],"line":50}},"s":{"0":180,"1":180,"2":3,"3":180,"4":1080,"5":217,"6":632,"7":632,"8":1,"9":631,"10":631,"11":126,"12":126,"13":126,"14":33,"15":93,"16":76,"17":126,"18":505,"19":504,"20":180},"f":{"0":180,"1":1080},"b":{"0":[3,177],"1":[180,177,4],"2":[217,863],"3":[1,631],"4":[632,632],"5":[126,505],"6":[631,531,439],"7":[33,93],"8":[126,34],"9":[76,17],"10":[93,92],"11":[504,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"85369920b99e3105c24c641dd902e27cf21b47ed"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\index.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"139bc9fe01e072d1276787c72d1565679f7be6d7"} +,"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\types.ts": {"path":"D:\\Github\\OverlayScrollbars\\packages\\overlayscrollbars\\src\\core\\utils\\types.ts","statementMap":{"0":{"start":{"line":3,"column":42},"end":{"line":9,"column":1}},"1":{"start":{"line":4,"column":4},"end":{"line":5,"column":24}},"2":{"start":{"line":5,"column":8},"end":{"line":5,"column":24}},"3":{"start":{"line":6,"column":4},"end":{"line":7,"column":24}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":24}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":96}},"6":{"start":{"line":12,"column":4},"end":{"line":12,"column":35}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":35}},"8":{"start":{"line":20,"column":4},"end":{"line":20,"column":36}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":68}},"10":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"11":{"start":{"line":32,"column":4},"end":{"line":32,"column":29}},"12":{"start":{"line":36,"column":4},"end":{"line":36,"column":24}},"13":{"start":{"line":40,"column":4},"end":{"line":40,"column":30}},"14":{"start":{"line":49,"column":19},"end":{"line":49,"column":38}},"15":{"start":{"line":50,"column":4},"end":{"line":50,"column":100}},"16":{"start":{"line":58,"column":4},"end":{"line":59,"column":21}},"17":{"start":{"line":59,"column":8},"end":{"line":59,"column":21}},"18":{"start":{"line":62,"column":18},"end":{"line":62,"column":29}},"19":{"start":{"line":63,"column":27},"end":{"line":63,"column":55}},"20":{"start":{"line":64,"column":30},"end":{"line":64,"column":69}},"21":{"start":{"line":65,"column":29},"end":{"line":65,"column":134}},"22":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"23":{"start":{"line":68,"column":8},"end":{"line":68,"column":21}},"24":{"start":{"line":71,"column":4},"end":{"line":71,"column":29}},"25":{"start":{"line":73,"column":4},"end":{"line":73,"column":61}},"26":{"start":{"line":81,"column":35},"end":{"line":81,"column":53}},"27":{"start":{"line":82,"column":25},"end":{"line":82,"column":95}},"28":{"start":{"line":83,"column":4},"end":{"line":85,"column":6}},"29":{"start":{"line":93,"column":4},"end":{"line":94,"column":21}},"30":{"start":{"line":94,"column":8},"end":{"line":94,"column":21}},"31":{"start":{"line":95,"column":4},"end":{"line":95,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":42},"end":{"line":3,"column":43}},"loc":{"start":{"line":3,"column":51},"end":{"line":9,"column":1}},"line":3},"1":{"name":"isNumber","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":24}},"loc":{"start":{"line":11,"column":50},"end":{"line":13,"column":1}},"line":11},"2":{"name":"isString","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":24}},"loc":{"start":{"line":15,"column":50},"end":{"line":17,"column":1}},"line":15},"3":{"name":"isBoolean","decl":{"start":{"line":19,"column":16},"end":{"line":19,"column":25}},"loc":{"start":{"line":19,"column":52},"end":{"line":21,"column":1}},"line":19},"4":{"name":"isObject","decl":{"start":{"line":23,"column":16},"end":{"line":23,"column":24}},"loc":{"start":{"line":23,"column":44},"end":{"line":25,"column":1}},"line":23},"5":{"name":"isFunction","decl":{"start":{"line":27,"column":16},"end":{"line":27,"column":26}},"loc":{"start":{"line":27,"column":54},"end":{"line":29,"column":1}},"line":27},"6":{"name":"isUndefined","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":27}},"loc":{"start":{"line":31,"column":56},"end":{"line":33,"column":1}},"line":31},"7":{"name":"isNull","decl":{"start":{"line":35,"column":16},"end":{"line":35,"column":22}},"loc":{"start":{"line":35,"column":46},"end":{"line":37,"column":1}},"line":35},"8":{"name":"isArray","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":23}},"loc":{"start":{"line":39,"column":53},"end":{"line":41,"column":1}},"line":39},"9":{"name":"isArrayLike","decl":{"start":{"line":48,"column":16},"end":{"line":48,"column":27}},"loc":{"start":{"line":48,"column":88},"end":{"line":51,"column":1}},"line":48},"10":{"name":"isPlainObject","decl":{"start":{"line":57,"column":16},"end":{"line":57,"column":29}},"loc":{"start":{"line":57,"column":72},"end":{"line":74,"column":1}},"line":57},"11":{"name":"isHTMLElement","decl":{"start":{"line":80,"column":16},"end":{"line":80,"column":29}},"loc":{"start":{"line":80,"column":60},"end":{"line":86,"column":1}},"line":80},"12":{"name":"isEmptyObject","decl":{"start":{"line":92,"column":16},"end":{"line":92,"column":29}},"loc":{"start":{"line":92,"column":49},"end":{"line":96,"column":1}},"line":92}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":5,"column":24}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":5,"column":24}},{"start":{"line":4,"column":4},"end":{"line":5,"column":24}}],"line":4},"1":{"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":24}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":7,"column":24}},{"start":{"line":6,"column":4},"end":{"line":7,"column":24}}],"line":6},"2":{"loc":{"start":{"line":24,"column":11},"end":{"line":24,"column":67}},"type":"binary-expr","locations":[{"start":{"line":24,"column":11},"end":{"line":24,"column":34}},{"start":{"line":24,"column":38},"end":{"line":24,"column":51}},{"start":{"line":24,"column":55},"end":{"line":24,"column":67}}],"line":24},"3":{"loc":{"start":{"line":49,"column":19},"end":{"line":49,"column":38}},"type":"binary-expr","locations":[{"start":{"line":49,"column":19},"end":{"line":49,"column":24}},{"start":{"line":49,"column":28},"end":{"line":49,"column":38}}],"line":49},"4":{"loc":{"start":{"line":50,"column":11},"end":{"line":50,"column":99}},"type":"binary-expr","locations":[{"start":{"line":50,"column":11},"end":{"line":50,"column":23}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}},{"start":{"line":50,"column":48},"end":{"line":50,"column":64}},{"start":{"line":50,"column":68},"end":{"line":50,"column":79}},{"start":{"line":50,"column":83},"end":{"line":50,"column":98}}],"line":50},"5":{"loc":{"start":{"line":58,"column":4},"end":{"line":59,"column":21}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":59,"column":21}},{"start":{"line":58,"column":4},"end":{"line":59,"column":21}}],"line":58},"6":{"loc":{"start":{"line":58,"column":8},"end":{"line":58,"column":56}},"type":"binary-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":12}},{"start":{"line":58,"column":16},"end":{"line":58,"column":30}},{"start":{"line":58,"column":34},"end":{"line":58,"column":56}}],"line":58},"7":{"loc":{"start":{"line":65,"column":29},"end":{"line":65,"column":134}},"type":"binary-expr","locations":[{"start":{"line":65,"column":29},"end":{"line":65,"column":44}},{"start":{"line":65,"column":48},"end":{"line":65,"column":70}},{"start":{"line":65,"column":74},"end":{"line":65,"column":134}}],"line":65},"8":{"loc":{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":69,"column":5}},{"start":{"line":67,"column":4},"end":{"line":69,"column":5}}],"line":67},"9":{"loc":{"start":{"line":67,"column":8},"end":{"line":67,"column":66}},"type":"binary-expr","locations":[{"start":{"line":67,"column":8},"end":{"line":67,"column":23}},{"start":{"line":67,"column":27},"end":{"line":67,"column":45}},{"start":{"line":67,"column":49},"end":{"line":67,"column":66}}],"line":67},"10":{"loc":{"start":{"line":73,"column":11},"end":{"line":73,"column":60}},"type":"binary-expr","locations":[{"start":{"line":73,"column":11},"end":{"line":73,"column":27}},{"start":{"line":73,"column":31},"end":{"line":73,"column":60}}],"line":73},"11":{"loc":{"start":{"line":82,"column":25},"end":{"line":82,"column":95}},"type":"binary-expr","locations":[{"start":{"line":82,"column":25},"end":{"line":82,"column":57}},{"start":{"line":82,"column":61},"end":{"line":82,"column":95}}],"line":82},"12":{"loc":{"start":{"line":84,"column":8},"end":{"line":84,"column":133}},"type":"cond-expr","locations":[{"start":{"line":84,"column":23},"end":{"line":84,"column":60}},{"start":{"line":84,"column":64},"end":{"line":84,"column":132}}],"line":84},"13":{"loc":{"start":{"line":84,"column":64},"end":{"line":84,"column":132}},"type":"binary-expr","locations":[{"start":{"line":84,"column":64},"end":{"line":84,"column":67}},{"start":{"line":84,"column":71},"end":{"line":84,"column":84}},{"start":{"line":84,"column":88},"end":{"line":84,"column":106}},{"start":{"line":84,"column":110},"end":{"line":84,"column":132}}],"line":84}},"s":{"0":11,"1":576,"2":1,"3":575,"4":48,"5":527,"6":97,"7":114,"8":28,"9":1605,"10":464,"11":611,"12":500,"13":2666,"14":761,"15":761,"16":1337,"17":1123,"18":214,"19":214,"20":214,"21":214,"22":214,"23":3,"24":211,"25":211,"26":358,"27":358,"28":358,"29":105,"30":42,"31":63},"f":{"0":576,"1":97,"2":114,"3":28,"4":1605,"5":464,"6":611,"7":500,"8":2666,"9":761,"10":1337,"11":358,"12":105},"b":{"0":[1,575],"1":[48,527],"2":[1605,448,295],"3":[761,754],"4":[761,74,69,19,19],"5":[1123,214],"6":[1337,1181,224],"7":[214,213,213],"8":[3,211],"9":[214,213,213],"10":[211,205],"11":[358,358],"12":[327,31],"13":[31,26,15,4]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"773f412e8d74f1501fb3736183d9a6a8233d63df"} +} diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css new file mode 100644 index 0000000..f418035 --- /dev/null +++ b/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js new file mode 100644 index 0000000..c7ff5a5 --- /dev/null +++ b/coverage/lcov-report/block-navigation.js @@ -0,0 +1,79 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..6691817834a957c938e7f09640a37a645fb31457 GIT binary patch literal 540 zcmV+%0^|LOP)wSzy{h>9elhJ=8GnBQmf?)AI(^#wDA_`!QTxaXXE&bjxo zTGCc%V|W`}Lwz0rDO*qBbGY-M@aNENIZ1rK?nOAibaC*vb%CF;I_~lkJawax%_+1J zLn(#pv_v{f0`v`Cfp6()7MB(>IoTAiQdKxgxX?VyV&KVZ7b$vn<8|Z<9$35C+G_8SH0x6Y(xB&~bmn%r}ceRwbc0000 + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 94.91% + Statements + 317/334 +
+ + +
+ 94.12% + Branches + 192/204 +
+ + +
+ 91.14% + Functions + 72/79 +
+ + +
+ 94.75% + Lines + 307/324 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src +
+
100%33/33100%1/1100%6/6100%33/33
src/core/compatibility +
+
100%50/50100%14/14100%10/10100%49/49
src/core/dom +
+
87.02%114/13184.81%67/7980.56%29/3686.29%107/124
src/core/options +
+
100%55/55100%39/39100%10/10100%53/53
src/core/utils +
+
100%65/65100%71/71100%17/17100%65/65
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js new file mode 100644 index 0000000..b322523 --- /dev/null +++ b/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/src/core/compatibility/index.html b/coverage/lcov-report/src/core/compatibility/index.html new file mode 100644 index 0000000..53a105f --- /dev/null +++ b/coverage/lcov-report/src/core/compatibility/index.html @@ -0,0 +1,111 @@ + + + + + + Code coverage report for src/core/compatibility + + + + + + + + + +
+
+

All files src/core/compatibility

+
+ +
+ 100% + Statements + 50/50 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 100% + Lines + 49/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
vendors.ts +
+
100%50/50100%14/14100%10/10100%49/49
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/compatibility/vendors.ts.html b/coverage/lcov-report/src/core/compatibility/vendors.ts.html new file mode 100644 index 0000000..2b0f035 --- /dev/null +++ b/coverage/lcov-report/src/core/compatibility/vendors.ts.html @@ -0,0 +1,377 @@ + + + + + + Code coverage report for src/core/compatibility/vendors.ts + + + + + + + + + +
+
+

All files / src/core/compatibility vendors.ts

+
+ +
+ 100% + Statements + 50/50 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 100% + Lines + 49/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100  +  +  +1x +20x +  +1x +10x +  +  +  +  +1x +1x +  +1x +1x +  +  +  +  +  +1x +4x +  +4x +1x +  +3x +3x +  +3x +9x +9x +  +  +  +  +  +33x +9x +  +  +3x +3x +  +  +  +  +  +  +  +  +1x +11x +11x +  +11x +4x +  +7x +7x +7x +7x +  +7x +10x +42x +42x +42x +2x +2x +  +  +10x +  +  +7x +7x +  +  +  +  +  +  +1x +5x +  +5x +1x +  +4x +11x +11x +  +  +4x +4x +  + 
import { each } from 'core/utils';
+import { createDiv } from 'core/dom';
+ 
+const firstLetterToUpper: (str: string) => string = (str) => {
+    return str.charAt(0).toUpperCase() + str.slice(1);
+}
+const getDummyStyle: () => CSSStyleDeclaration = () => {
+    return createDiv().style;
+}
+ 
+//https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix
+ 
+export const cssPrefixes: ReadonlyArray<string> = ['-webkit-', '-moz-', '-o-', '-ms-'];
+export const jsPrefixes: ReadonlyArray<string> = ['WebKit', 'Moz', 'O', 'MS', 'webkit', 'moz', 'o', 'ms'];
+ 
+export const jsCache: { [key: string]: any } = {};
+export const cssCache: { [key: string]: string } = {};
+ 
+/**
+ * Gets the name of the given CSS property with vendor prefix if it isn't supported without, or undefined if unsupported.
+ * @param name The name of the CSS property which shall be get.
+ */
+export const cssProperty: (name: string) => string | undefined = (name) => {
+    let result: string | undefined = cssCache[name];
+ 
+    if (cssCache.hasOwnProperty(name))
+        return result;
+ 
+    const uppercasedName: string = firstLetterToUpper(name);
+    const elmStyle: CSSStyleDeclaration = getDummyStyle();
+ 
+    each(cssPrefixes, (prefix: string) => {
+        const prefixWithoutDashes: string = prefix.replace(/-/g, '');
+        const resultPossibilities: Array<string> = [
+            name, //transition
+            prefix + name, //-webkit-transition
+            prefixWithoutDashes + uppercasedName, //webkitTransition
+            firstLetterToUpper(prefixWithoutDashes) + uppercasedName //WebkitTransition
+        ];
+        result = resultPossibilities.find((resultPossibility: string) => elmStyle[resultPossibility] !== undefined);
+        return !result;
+    });
+ 
+    cssCache[name] = result;
+    return result;
+}
+ 
+/**
+ * Get the name of the given CSS property value(s), with vendor prefix if it isn't supported wuthout, or undefined if no value is supported. 
+ * @param property The CSS property to which the CSS property value(s) belong.
+ * @param values The value(s) separated by spaces which shall be get.
+ * @param suffix A suffix which is added to each value in case the value is a function or something else more advanced.
+ */
+export const cssPropertyValue: (property: string, values: string, suffix?: string) => string | undefined = (property, values, suffix) => {
+    const name: string = property + ' ' + values;
+    let result: string | undefined = cssCache[name];
+ 
+    if (cssCache.hasOwnProperty(name))
+        return result;
+ 
+    const dummyStyle: CSSStyleDeclaration = getDummyStyle();
+    const possbleValues: Array<string> = values.split(' ');
+    const preparedSuffix: string = suffix || '';
+    const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes);
+ 
+    each(possbleValues, (possibleValue: string) => {
+        each(cssPrefixesWithFirstEmpty, (prefix: string) => {
+            const prop = prefix + possibleValue;
+            dummyStyle.cssText = property + ':' + prop + preparedSuffix;
+            if (dummyStyle.length) {
+                result = prop;
+                return false;
+            }
+        });
+        return !result;
+    });
+ 
+    cssCache[name] = result;
+    return result;
+}
+ 
+/**
+ * Get the requested JS function, object or constructor with vendor prefix if it isn't supported without or undefined if unsupported.
+ * @param name The name of the JS function, object or constructor.
+ */
+export const jsAPI: (name: string) => any = (name) => {
+    let result: any = jsCache[name] || window[name];
+ 
+    if (jsCache.hasOwnProperty(name))
+        return result;
+ 
+    each(jsPrefixes, (prefix: string) => {
+        result = result || window[prefix + firstLetterToUpper(name)];
+        return !result;
+    });
+ 
+    jsCache[name] = result;
+    return result;
+}
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/attributes.ts.html b/coverage/lcov-report/src/core/dom/attributes.ts.html new file mode 100644 index 0000000..d02eef6 --- /dev/null +++ b/coverage/lcov-report/src/core/dom/attributes.ts.html @@ -0,0 +1,239 @@ + + + + + + Code coverage report for src/core/dom/attributes.ts + + + + + + + + + +
+
+

All files / src/core/dom attributes.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54  +  +  +  +  +  +  +4x +7x +5x +2x +  +  +  +  +  +  +  +4x +1x +  +  +  +  +  +  +  +4x +3x +2x +1x +  +  +  +  +  +  +  +4x +3x +2x +1x +  +  +  +  +  +  +  +4x +5x +3x +2x + 
/**
+ * Gets or sets a attribute with the given attribute of the given element depending whether the value attribute is given.
+ * Returns null if the element has no attribute with the given name.
+ * @param elm The element of which the attribute shall be get or set.
+ * @param attrName The attribute name which shall be get or set.
+ * @param value The value of the attribute which shall be set.
+ */
+export const attr: (elm: Element, attrName: string, value?: string) => string | null | void = (elm, attrName, value) => {
+    if (value === undefined)
+        return elm.getAttribute(attrName);
+    elm.setAttribute(attrName, value);
+}
+ 
+/**
+ * Removes the given attribute from the given element.
+ * @param elm The element of which the attribute shall be removed.
+ * @param attrName The attribute name.
+ */
+export const removeAttr: (elm: Element, attrName: string) => void = (elm, attrName) => {
+    elm.removeAttribute(attrName);
+}
+ 
+/**
+ * Gets or sets the scrollLeft value of the given element depending whether the value attribute is given.
+ * @param elm The element of which the scrollLeft value shall be get or set.
+ * @param value The scrollLeft value which shall be set.
+ */
+export const scrollLeft: (elm: HTMLElement, value?: number) => number | void = (elm, value) => {
+    if (value === undefined)
+        return elm.scrollLeft;
+    elm.scrollLeft = value;
+}
+ 
+/**
+ * Gets or sets the scrollTop value of the given element depending whether the value attribute is given.
+ * @param elm The element of which the scrollTop value shall be get or set.
+ * @param value The scrollTop value which shall be set.
+ */
+export const scrollTop: (elm: HTMLElement, value?: number) => number | void = (elm, value) => {
+    if (value === undefined)
+        return elm.scrollTop;
+    elm.scrollTop = value;
+}
+ 
+/**
+ * Gets or sets the value of the given input element depending whether the value attribute is given.
+ * @param elm The input element of which the value shall be get or set.
+ * @param value The value which shall be set.
+ */
+export const val: (elm: HTMLInputElement, value?: string) => string | void = (elm, value) => {
+    if (value === undefined)
+        return elm.value;
+    elm.value = value;
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/classes.ts.html b/coverage/lcov-report/src/core/dom/classes.ts.html new file mode 100644 index 0000000..490a644 --- /dev/null +++ b/coverage/lcov-report/src/core/dom/classes.ts.html @@ -0,0 +1,254 @@ + + + + + + Code coverage report for src/core/dom/classes.ts + + + + + + + + + +
+
+

All files / src/core/dom classes.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59  +  +4x +  +  +  +  +  +  +4x +7x +  +  +  +  +  +  +  +4x +  +11x +  +11x +9x +9x +11x +  +  +  +  +  +  +  +  +4x +  +7x +  +7x +5x +5x +6x +  +  +  +  +  +  +  +  +  +4x +4x +2x +  +  +2x +  + 
import { isString } from 'core/utils/types';
+ 
+const rnothtmlwhite: RegExp = (/[^\x20\t\r\n\f]+/g);
+ 
+/**
+ * Check whether the given element has the given class name.
+ * @param elm The element.
+ * @param className The class name.
+ */
+export const hasClass: (elm: Element, className: string) => boolean = (elm, className) => {
+    return elm.classList.contains(className);
+}
+ 
+/**
+ * Adds the given class name(s) to the given element.
+ * @param elm The element.
+ * @param className The class name(s) which shall be added. (separated by spaces)
+ */
+export const addClass: (elm: Element, className: string) => void = (elm, className) => {
+    let clazz: string;
+    let i: number = 0;
+ 
+    if (isString(className)) {
+        const classes: Array<string> = className.match(rnothtmlwhite) || [];
+        while ((clazz = classes[i++]))
+            elm.classList.add(clazz);
+    }
+}
+ 
+/**
+ * Removes the given class name(s) from the given element.
+ * @param elm The element.
+ * @param className The class name(s) which shall be removed. (separated by spaces)
+ */
+export const removeClass: (elm: Element, className: string) => void = (elm, className) => {
+    let clazz: string;
+    let i: number = 0;
+ 
+    if (isString(className)) {
+        const classes: Array<string> = className.match(rnothtmlwhite) || [];
+        while ((clazz = classes[i++]))
+            elm.classList.remove(clazz);
+    }
+}
+ 
+/**
+ * Adds or removes the given class name(s) from the given element depending on the given condition.
+ * Condition true means add class name(s), false means remove class name(s).
+ * @param elm The element.
+ * @param className The class name(s) which shall be added or removed. (separated by spaces)
+ */
+export const conditionalClass: (elm: Element, className: string, condition: boolean) => void = (elm, className, condition) => {
+    if (condition) {
+        addClass(elm, className);
+    }
+    else {
+        removeClass(elm, className);
+    }
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/create.ts.html b/coverage/lcov-report/src/core/dom/create.ts.html new file mode 100644 index 0000000..65ee841 --- /dev/null +++ b/coverage/lcov-report/src/core/dom/create.ts.html @@ -0,0 +1,119 @@ + + + + + + Code coverage report for src/core/dom/create.ts + + + + + + + + + +
+
+

All files / src/core/dom create.ts

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +4x +204x +  +  +4x +3x +3x +  +9x + 
import { each } from 'core/utils/arrays';
+import { contents } from 'core/dom/traversal';
+import { removeElements } from 'core/dom/manipulation';
+ 
+export const createDiv: () => HTMLDivElement = () => {
+    return document.createElement('div');
+}
+ 
+export const createDOM: (html: string) => ReadonlyArray<Node> = (html) => {
+    const elm = createDiv();
+    elm.innerHTML = html.trim();
+ 
+    return each(contents(elm), (elm) => removeElements(elm));
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/index.html b/coverage/lcov-report/src/core/dom/index.html new file mode 100644 index 0000000..e8feb05 --- /dev/null +++ b/coverage/lcov-report/src/core/dom/index.html @@ -0,0 +1,216 @@ + + + + + + Code coverage report for src/core/dom + + + + + + + + + +
+
+

All files src/core/dom

+
+ +
+ 87.02% + Statements + 114/131 +
+ + +
+ 84.81% + Branches + 67/79 +
+ + +
+ 80.56% + Functions + 29/36 +
+ + +
+ 86.29% + Lines + 107/124 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
attributes.ts +
+
100%18/18100%8/8100%5/5100%18/18
classes.ts +
+
100%19/19100%10/10100%4/4100%19/19
create.ts +
+
100%7/7100%0/0100%3/3100%6/6
index.ts +
+
0%0/00%0/00%0/00%0/0
manipulation.ts +
+
100%33/33100%24/24100%8/8100%28/28
offset.ts +
+
40%2/5100%0/00%0/240%2/5
style.ts +
+
26.32%5/190%0/120%0/526.32%5/19
traversal.ts +
+
100%30/30100%25/25100%9/9100%29/29
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/index.ts.html b/coverage/lcov-report/src/core/dom/index.ts.html new file mode 100644 index 0000000..a54f271 --- /dev/null +++ b/coverage/lcov-report/src/core/dom/index.ts.html @@ -0,0 +1,98 @@ + + + + + + Code coverage report for src/core/dom/index.ts + + + + + + + + + +
+
+

All files / src/core/dom index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7  +  +  +  +  +  + 
export * from 'core/dom/attributes';
+export * from 'core/dom/classes';
+export * from 'core/dom/create';
+export * from 'core/dom/style';
+export * from 'core/dom/manipulation';
+export * from 'core/dom/offset';
+export * from 'core/dom/traversal';
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/manipulation.ts.html b/coverage/lcov-report/src/core/dom/manipulation.ts.html new file mode 100644 index 0000000..528e55e --- /dev/null +++ b/coverage/lcov-report/src/core/dom/manipulation.ts.html @@ -0,0 +1,350 @@ + + + + + + Code coverage report for src/core/dom/manipulation.ts + + + + + + + + + +
+
+

All files / src/core/dom manipulation.ts

+
+ +
+ 100% + Statements + 33/33 +
+ + +
+ 100% + Branches + 24/24 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91  +  +  +  +  +  +  +  +  +  +  +  +4x +24x +20x +  +  +  +20x +16x +8x +  +  +8x +24x +3x +  +24x +  +  +  +8x +  +  +  +16x +12x +1x +  +11x +2x +  +  +  +16x +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +  +  +6x +  +  +  +  +  +  +6x +  +  +  +  +  +  +6x +  +  +  +  +  +4x +23x +9x +  +21x +20x +20x +15x +  + 
import { isArrayLike, isHTMLElement } from 'core/utils/types';
+import { each } from 'core/utils/arrays';
+import { parent } from 'core/dom/traversal';
+ 
+type NodeCollection = ArrayLike<Node> | Node | undefined | null;
+ 
+/**
+ * Inserts Nodes before the given preferredAnchor element.
+ * @param parent The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes.
+ * @param preferredAnchor The element before which the Nodes shall be inserted or null if the elements shall be appended at the end.
+ * @param insertedElms The Nodes which shall be inserted.
+ */
+const before: (parent: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (parent, preferredAnchor, insertedElms) => {
+    if (insertedElms) {
+        let anchor: Node | null = preferredAnchor;
+        let fragment: DocumentFragment | Node | undefined | null;
+ 
+        // parent must be defined
+        if (parent) {
+            if (isArrayLike(insertedElms)) {
+                fragment = document.createDocumentFragment();
+ 
+                // append all insertedElms to the fragment and if one of these is the anchor, change the anchor
+                each(insertedElms, (insertedElm) => {
+                    if (insertedElm === anchor) {
+                        anchor = insertedElm.previousSibling;
+                    }
+                    fragment!.appendChild(insertedElm);
+                });
+            }
+            else {
+                fragment = insertedElms;
+            }
+ 
+            // if the preferred anchor isn't null set it to a valid anchor
+            if (preferredAnchor) {
+                if (!anchor) {
+                    anchor = parent.firstChild;
+                }
+                else if (anchor !== preferredAnchor) {
+                    anchor = anchor.nextSibling;
+                }
+            }
+ 
+            parent.insertBefore(fragment, anchor);
+        }
+    }
+}
+ 
+/**
+ * Appends the given children at the end of the given Node.
+ * @param node The Node to which the children shall be appended.
+ * @param children The Nodes which shall be appended.
+ */
+export const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, null, children) };
+ 
+/**
+ * Prepends the given children at the start of the given Node.
+ * @param node The Node to which the children shall be prepended.
+ * @param children The Nodes which shall be prepended.
+ */
+export const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, node && node.firstChild, children) };
+ 
+/**
+ * Inserts the given Nodes before the given Node.
+ * @param node The Node before which the given Nodes shall be inserted.
+ * @param insertedNodes The Nodes which shall be inserted.
+ */
+export const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node, insertedNodes) };
+ 
+/**
+ * Inserts the given Nodes after the given Node.
+ * @param node The Node after which the given Nodes shall be inserted.
+ * @param insertedNodes The Nodes which shall be inserted.
+ */
+export const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node && node.nextSibling, insertedNodes) };
+ 
+/**
+ * Removes the given Nodes from their parent.
+ * @param nodes The Nodes which shall be removed.
+ */
+export const removeElements: (nodes: NodeCollection) => void = (nodes) => {
+    if (isArrayLike(nodes)) {
+        each(Array.from(nodes), (e) => removeElements(e));
+    }
+    else if (nodes) {
+        const parentNode = nodes.parentNode;
+        if (parentNode)
+            parentNode.removeChild(nodes);
+    }
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/offset.ts.html b/coverage/lcov-report/src/core/dom/offset.ts.html new file mode 100644 index 0000000..ed7710c --- /dev/null +++ b/coverage/lcov-report/src/core/dom/offset.ts.html @@ -0,0 +1,119 @@ + + + + + + Code coverage report for src/core/dom/offset.ts + + + + + + + + + +
+
+

All files / src/core/dom offset.ts

+
+ +
+ 40% + Statements + 2/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 40% + Lines + 2/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +143x +  +  +  +  +  +  +  +3x +  +  +  +  + 
export const offset = (elm: HTMLElement) => {
+    const rect = elm.getBoundingClientRect();
+    return {
+        top: rect.top + window.pageXOffset,
+        left: rect.left + window.pageYOffset
+    };
+}
+ 
+export const position = (elm: HTMLElement) => {
+    return {
+        top: elm.offsetTop,
+        left: elm.offsetLeft
+    };
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/style.ts.html b/coverage/lcov-report/src/core/dom/style.ts.html new file mode 100644 index 0000000..ebed1bd --- /dev/null +++ b/coverage/lcov-report/src/core/dom/style.ts.html @@ -0,0 +1,266 @@ + + + + + + Code coverage report for src/core/dom/style.ts + + + + + + + + + +
+
+

All files / src/core/dom style.ts

+
+ +
+ 26.32% + Statements + 5/19 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 26.32% + Lines + 5/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +3x +  +  +  + 
import { isString, isNumber, isUndefined } from 'core/utils/types';
+ 
+type cssStyleObj = { [key: string]: string | number };
+ 
+const cssNumber = {
+    animationIterationCount: true,
+    columnCount: true,
+    fillOpacity: true,
+    flexGrow: true,
+    flexShrink: true,
+    fontWeight: true,
+    lineHeight: true,
+    opacity: true,
+    order: true,
+    orphans: true,
+    widows: true,
+    zIndex: true,
+    zoom: true
+};
+ 
+const setCSSVal: (elm: HTMLElement, prop: string, val: string | number) => void = (elm, prop, val) => {
+    try {
+        if (elm.style[prop] !== undefined) {
+            elm.style[prop] = parseCSSVal(prop, val);
+        }
+    } catch (e) { }
+}
+ 
+const parseCSSVal: (prop: string, val: string | number) => string | number = (prop, val) => {
+    return !cssNumber[prop.toLowerCase()] && isNumber(val) ? val + 'px' : val;
+}
+ 
+export function style(elm: HTMLElement, styles: string | cssStyleObj): string;
+export function style(elm: HTMLElement, styles: string | cssStyleObj, val: string | number): void;
+export function style(elm: HTMLElement, styles: string | cssStyleObj, val?: string | number): string | void {
+    const getCptStyle: Function = window.getComputedStyle;
+ 
+    if (isString(styles)) {
+        if (isUndefined(val)) {
+            const cptStyle: CSSStyleDeclaration = getCptStyle(elm, null);
+ 
+            //https://bugzilla.mozilla.org/show_bug.cgi?id=548397 can be null sometimes if iframe with display: none (firefox only!)
+            return cptStyle != null ? cptStyle.getPropertyValue(styles) : elm.style[styles];
+        }
+        else {
+            setCSSVal(elm, styles, val);
+        }
+    }
+    else {
+        for (const key in styles)
+            setCSSVal(elm, key, styles[key]);
+    }
+}
+ 
+export const hide: (elm: HTMLElement) => void = (elm) => {
+    elm.style.display = 'none';
+}
+ 
+export const show: (elm: HTMLElement) => void = (elm) => {
+    elm.style.display = 'block';
+}
+ 
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/dom/traversal.ts.html b/coverage/lcov-report/src/core/dom/traversal.ts.html new file mode 100644 index 0000000..1223553 --- /dev/null +++ b/coverage/lcov-report/src/core/dom/traversal.ts.html @@ -0,0 +1,233 @@ + + + + + + Code coverage report for src/core/dom/traversal.ts + + + + + + + + + +
+
+

All files / src/core/dom traversal.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 25/25 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +4x +4x +  +  +4x +6x +  +6x +18x +  +  +6x +  +  +4x +19x +  +  +4x +31x +22x +2x +20x +2x +18x +6x +  +21x +  +  +4x +3x +  +3x +6x +3x +1x +  +  +3x +  +  +3x +  +  +4x +38x +  +  +14x
import { each } from 'core/utils/arrays';
+ 
+const elementIsVisible: (elm: HTMLElement) => boolean = (elm) => {
+    return !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);
+}
+ 
+export const find: (selector: string, elm?: Element | null) => ReadonlyArray<Element> = (selector, elm?) => {
+    const arr: Array<Element> = [];
+ 
+    each((elm || document).querySelectorAll(selector), (e: Element) => {
+        arr.push(e);
+    });
+ 
+    return arr;
+}
+ 
+export const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => {
+    return (elm || document).querySelector(selector);
+}
+ 
+export const is: (elm: Element | null, selector: string) => boolean = (elm, selector) => {
+    if (elm) {
+        if (selector === ':visible')
+            return elementIsVisible(elm as HTMLElement);
+        if (selector === ':hidden')
+            return !elementIsVisible(elm as HTMLElement);
+        if (elm.matches(selector))
+            return true;
+    }
+    return false;
+}
+ 
+export const children: (elm: Element | null, selector?: string) => ReadonlyArray<Element> = (elm, selector?) => {
+    const children: Array<Element> = [];
+ 
+    each(elm && elm.children, (child: Element) => {
+        if (selector) {
+            if (child.matches(selector))
+                children.push(child);
+        }
+        else
+            children.push(child);
+    });
+ 
+    return children;
+}
+ 
+export const contents: (elm: Element | null) => ReadonlyArray<ChildNode> = (elm) => {
+    return elm ? Array.from<ChildNode>(elm.childNodes) : [];
+}
+ 
+export const parent: (elm: Node | null) => Node | null = (elm) => elm ? elm.parentElement : null;
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/options/index.html b/coverage/lcov-report/src/core/options/index.html new file mode 100644 index 0000000..2a417aa --- /dev/null +++ b/coverage/lcov-report/src/core/options/index.html @@ -0,0 +1,141 @@ + + + + + + Code coverage report for src/core/options + + + + + + + + + +
+
+

All files src/core/options

+
+ +
+ 100% + Statements + 55/55 +
+ + +
+ 100% + Branches + 39/39 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 100% + Lines + 53/53 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
transformation.ts +
+
100%6/6100%3/3100%2/2100%6/6
validation.ts +
+
100%49/49100%36/36100%8/8100%47/47
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/options/index.ts.html b/coverage/lcov-report/src/core/options/index.ts.html new file mode 100644 index 0000000..8fc1c1d --- /dev/null +++ b/coverage/lcov-report/src/core/options/index.ts.html @@ -0,0 +1,83 @@ + + + + + + Code coverage report for src/core/options/index.ts + + + + + + + + + +
+
+

All files / src/core/options index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2  + 
export * from 'core/options/validation';
+export * from 'core/options/transformation';
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/options/transformation.ts.html b/coverage/lcov-report/src/core/options/transformation.ts.html new file mode 100644 index 0000000..9800df1 --- /dev/null +++ b/coverage/lcov-report/src/core/options/transformation.ts.html @@ -0,0 +1,158 @@ + + + + + + Code coverage report for src/core/options/transformation.ts + + + + + + + + + +
+
+

All files / src/core/options transformation.ts

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27  +  +  +  +  +  +  +  +  +  +  +  +16x +  +16x +102x +  +  +102x +90x +  +  +  +  +16x +  + 
import { OptionsTemplate, OptionsAndOptionsTemplate, PlainObject, OptionsTemplateTypes } from "core/typings";
+import { isArray, isObject } from "core/utils/types";
+import { each } from "core/utils/arrays";
+ 
+/**
+ * Transforms the given OptionsAndOptionsTemplate<T> object to its corresponding generic (T) Object or its corresponding Template object.
+ * @param optionsWithOptionsTemplate The OptionsAndOptionsTemplate<T> object which shall be converted.
+ * @param toTemplate True if the given OptionsAndOptionsTemplate<T> shall be converted to its corresponding Template object.
+ */
+export function transform<T extends Required<T>>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>): T;
+export function transform<T extends Required<T>>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>, toTemplate: true | void): OptionsTemplate<T>;
+export function transform<T extends Required<T>>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate<T>, toTemplate?: true | void): OptionsTemplate<T> | T {
+    const result: any = {};
+ 
+    each(Object.keys(optionsWithOptionsTemplate), (key: Extract<keyof T, string>) => {
+        const val: PlainObject | OptionsTemplateTypes | Array<OptionsTemplateTypes> = optionsWithOptionsTemplate[key];
+ 
+        /* istanbul ignore else */
+        if (isArray(val))
+            result[key] = val[toTemplate ? 1 : 0];
+        else if (isObject(val))
+            result[key] = transform(val as OptionsAndOptionsTemplate<typeof val>, toTemplate);
+    });
+ 
+    return result;
+};
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/options/validation.ts.html b/coverage/lcov-report/src/core/options/validation.ts.html new file mode 100644 index 0000000..2f273f0 --- /dev/null +++ b/coverage/lcov-report/src/core/options/validation.ts.html @@ -0,0 +1,572 @@ + + + + + + Code coverage report for src/core/options/validation.ts + + + + + + + + + +
+
+

All files / src/core/options validation.ts

+
+ +
+ 100% + Statements + 49/49 +
+ + +
+ 100% + Branches + 36/36 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 47/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165  +  +  +  +3x +  +  +  +  +3x +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +21x +21x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +65x +65x +372x +  +65x +372x +372x +372x +372x +372x +  +  +372x +33x +33x +33x +  +33x +66x +33x +  +  +  +339x +336x +336x +336x +336x +336x +  +336x +  +417x +417x +  +64x +121x +  +  +64x +  +  +353x +  +  +  +417x +  +  +417x +  +  +  +336x +310x +310x +256x +  +  +26x +2x +  +  +  +  +336x +  +  +  +65x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +32x +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { each, indexOf } from 'core/utils/arrays';
+import { type, isArray, isUndefined, isEmptyObject, isPlainObject, isString } from 'core/utils/types';
+import { PlainObject, OptionsTemplate, OptionsTemplateTypes, OptionsTemplateType, OptionsValidated, Func, OptionsValidatedResult } from 'core/typings';
+ 
+const stringify = JSON.stringify;
+ 
+/**
+ * A prefix and suffix tuple which serves as recognition pattern for template types.
+ */
+const templateTypePrefixSuffix: readonly [string, string] = ['__TPL_', '_TYPE__'];
+/**
+ * A object which serves as a mapping for "normal" types and template types.
+ * Key   = normal type string
+ * value = template type string
+ */
+const optionsTemplateTypes: OptionsTemplateTypesDictionary = [
+    'boolean',
+    'number',
+    'string',
+    'array',
+    'object',
+    'function',
+    'null'
+].reduce((result, item) => {
+    result[item] = templateTypePrefixSuffix[0] + item + templateTypePrefixSuffix[1];
+    return result;
+}, {} as OptionsTemplateTypesDictionary);
+ 
+/**
+ * Validates the given options object according to the given template object and returns a object which looks like:
+ * {
+ *  foreign   : a object which consists of properties which aren't defined inside the template. (foreign properties)
+ *  validated : a object which consists only of valid properties. (property name is inside the template and value has a correct type)
+ * }
+ * @param options The options object which shall be validated.
+ * @param template The template according to which the options object shall be validated.
+ * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.
+ * Example (assume all properties are valid to the template): 
+ * Options object            : { a: 'a', b: 'b', c: 'c' }
+ * optionsDiff object        : { a: 'a', b: 'b', c: undefined }
+ * Returned validated object : { c: 'c' }
+ * Because the value of the properties a and b didn't change, they aren't included in the returned object.
+ * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' }
+ * @param doWriteErrors True if errors shall be logged into the console, false otherwise.
+ * @param propPath The propertyPath which lead to this object. (used for error logging)
+ */
+const validateRecursive = function <T extends PlainObject>(options: T, template: OptionsTemplate<Required<T>>, optionsDiff: OptionsValidated<T>, doWriteErrors?: boolean, propPath?: string): OptionsValidatedResult<T> {
+    const validatedOptions: OptionsValidated<T> = {};
+    const optionsCopy: T = Object.assign({}, options);
+    const props = Object.keys(template).filter(prop => options.hasOwnProperty(prop));
+ 
+    each(props, (prop: Extract<keyof T, string>) => {
+        const optionsDiffValue: any = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop];
+        const optionsValue: any = options[prop];
+        const templateValue: PlainObject | string | OptionsTemplateTypes | Array<OptionsTemplateTypes> = template[prop];
+        const templateIsComplex = isPlainObject(templateValue);
+        const propPrefix = propPath ? propPath + '.' : '';
+ 
+        //if the template has a object as value, it means that the options are complex (verschachtelt)
+        if (templateIsComplex && isPlainObject(optionsValue)) {
+            const validatedResult = validateRecursive(optionsValue, templateValue as PlainObject, optionsDiffValue, doWriteErrors, propPrefix + prop);
+            validatedOptions[prop] = validatedResult.validated;
+            optionsCopy[prop] = validatedResult.foreign as any;
+ 
+            each([optionsCopy, validatedOptions], (value) => {
+                if (isEmptyObject(value[prop])) {
+                    delete value[prop];
+                }
+            });
+        }
+        else if (!templateIsComplex) {
+            let isValid = false;
+            const errorEnumStrings: Array<string> = [];
+            const errorPossibleTypes: Array<string> = [];
+            const optionsValueType = type(optionsValue);
+            const templateValueArr: Array<string | OptionsTemplateTypes> = !isArray(templateValue) ? [templateValue as string | OptionsTemplateTypes] : templateValue as Array<OptionsTemplateTypes>;
+ 
+            each(templateValueArr, (currTemplateType) => {
+                //if currType value isn't inside possibleTemplateTypes we assume its a enum string value
+                const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0;
+                if (isEnumString && isString(optionsValue)) {
+                    //split it into a array which contains all possible values for example: ["yes", "no", "maybe"]
+                    const enumStringSplit = currTemplateType.split(' ');
+                    isValid = !!enumStringSplit.find(possibility => possibility === optionsValue);
+ 
+                    // build error message
+                    errorEnumStrings.push(...enumStringSplit);
+                }
+                else {
+                    isValid = optionsTemplateTypes[optionsValueType] === currTemplateType;
+                }
+ 
+                // build error message
+                errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType);
+ 
+                // continue if invalid, break if valid
+                return !isValid;
+            });
+ 
+ 
+            if (isValid) {
+                const doStringifyComparison = isArray(optionsValue) || isPlainObject(optionsValue);
+                if (doStringifyComparison ? stringify(optionsValue) !== stringify(optionsDiffValue) : optionsValue !== optionsDiffValue) {
+                    validatedOptions[prop] = optionsValue;
+                }
+            }
+            else if (doWriteErrors) {
+                console.warn(`The option "${propPrefix}${prop}" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of "${optionsValue}".\r\n` +
+                    `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\r\n` +
+                    (errorEnumStrings.length > 0 ? `\r\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : ''))
+            }
+ 
+            delete optionsCopy[prop];
+        }
+    });
+ 
+    return {
+        foreign: optionsCopy,
+        validated: validatedOptions
+    };
+};
+ 
+/**
+ * Validates the given options object according to the given template object and returns a object which looks like:
+ * {
+ *  foreign   : a object which consists of properties which aren't defined inside the template. (foreign properties)
+ *  validated : a object which consists only of valid properties. (property name is inside the template and value has a correct type)
+ * }
+ * @param options The options object which shall be validated.
+ * @param template The template according to which the options object shall be validated.
+ * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.
+ * Example (assume all properties are valid to the template): 
+ * Options object            : { a: 'a', b: 'b', c: 'c' }
+ * optionsDiff object        : { a: 'a', b: 'b', c: undefined }
+ * Returned validated object : { c: 'c' }
+ * Because the value of the properties a and b didn't change, they aren't included in the returned object.
+ * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' }
+ * @param doWriteErrors True if errors shall be logged into the console, false otherwise.
+ */
+const validate = function <T extends PlainObject>(options: T, template: OptionsTemplate<Required<T>>, optionsDiff?: OptionsValidated<T>, doWriteErrors?: boolean): OptionsValidatedResult<T> {
+    /*
+    if (!isEmptyObject(foreign) && doWriteErrors)
+        console.warn(`The following options are discarded due to invalidity:\r\n ${window.JSON.stringify(foreign, null, 2)}`);
+ 
+    
+    //add values, which aren't specified in the template, to the finished validated object to prevent them from being discarded
+    if (keepForeignProps) {
+        Object.assign(result.validated, foreign);
+    }
+    */
+    return validateRecursive(options, template, optionsDiff || {}, doWriteErrors || false);
+};
+ 
+export { validate, optionsTemplateTypes };
+ 
+type OptionsTemplateTypesDictionary = {
+    readonly boolean: OptionsTemplateType<boolean>;
+    readonly number: OptionsTemplateType<number>;
+    readonly string: OptionsTemplateType<string>;
+    readonly array: OptionsTemplateType<Array<any>>;
+    readonly object: OptionsTemplateType<object>;
+    readonly function: OptionsTemplateType<Func>;
+    readonly null: OptionsTemplateType<null>;
+}
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/utils/arrays.ts.html b/coverage/lcov-report/src/core/utils/arrays.ts.html new file mode 100644 index 0000000..dcb47df --- /dev/null +++ b/coverage/lcov-report/src/core/utils/arrays.ts.html @@ -0,0 +1,209 @@ + + + + + + Code coverage report for src/core/utils/arrays.ts + + + + + + + + + +
+
+

All files / src/core/utils arrays.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +694x +  +694x +688x +2211x +320x +  +  +6x +5x +13x +1x +  +  +694x +  +  +  +  +  +  +  +  +9x +418x + 
import { isArrayLike } from 'core/utils/types';
+import { PlainObject } from 'core/typings';
+ 
+ 
+/**
+ * Iterates through a array or object
+ * @param arrayLikeOrObject The array or object through which shall be iterated.
+ * @param callback The function which is responsible for the iteration. 
+ * If the function returns true its treated like a "continue" statement.
+ * If the function returns false its treated like a "break" statement.
+ */
+export function each<T>(array: Array<T> | ReadonlyArray<T>, callback: (value: T, indexOrKey: number, source: Array<T>) => boolean | void): Array<T> | ReadonlyArray<T>;
+export function each<T>(array: Array<T> | ReadonlyArray<T> | null, callback: (value: T, indexOrKey: number, source: Array<T>) => boolean | void): Array<T> | ReadonlyArray<T> | null;
+export function each<T>(arrayLikeObject: ArrayLike<T>, callback: (value: T, indexOrKey: number, source: ArrayLike<T>) => boolean | void): ArrayLike<T>;
+export function each<T>(arrayLikeObject: ArrayLike<T> | null, callback: (value: T, indexOrKey: number, source: ArrayLike<T>) => boolean | void): ArrayLike<T> | null;
+export function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject;
+export function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null;
+export function each<T>(source: ArrayLike<T> | PlainObject | null, callback: (value: T | any, indexOrKey: any, source: any) => boolean | void): Array<T> | ReadonlyArray<T> | ArrayLike<T> | PlainObject | null {
+    let i: number | string = 0;
+ 
+    if (isArrayLike(source)) {
+        for (; i < source.length; i++) {
+            if (callback(source[i], i, source) === false)
+                break;
+        }
+    }
+    else if (source) {
+        for (i in source) {
+            if (callback(source[i], i, source) === false)
+                break;
+        }
+    }
+    return source;
+};
+ 
+/**
+ * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array.
+ * @param arr The array.
+ * @param item The item.
+ * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
+ */
+export const indexOf: <T = any>(arr: Array<T>, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => {
+    return arr.indexOf(item, fromIndex);
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/utils/extend.ts.html b/coverage/lcov-report/src/core/utils/extend.ts.html new file mode 100644 index 0000000..c9f86ce --- /dev/null +++ b/coverage/lcov-report/src/core/utils/extend.ts.html @@ -0,0 +1,254 @@ + + + + + + Code coverage report for src/core/utils/extend.ts + + + + + + + + + +
+
+

All files / src/core/utils extend.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 26/26 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59  +  +  +  +  +  +  +  +  +  +180x +  +  +180x +3x +  +  +180x +  +1080x +  +  +217x +632x +  +  +  +632x +1x +  +  +631x +  +  +631x +126x +126x +  +  +126x +33x +93x +76x +  +  +  +126x +  +  +505x +504x +  +  +  +  +  +  +180x + 
import { isArray, isFunction, isPlainObject, isNull } from 'core/utils/types';
+import { each } from 'core/utils/arrays';
+ 
+// https://github.com/jquery/jquery/blob/master/src/core.js#L116
+export function extend<T, U>(target: T, object1: U): T & U;
+export function extend<T, U, V>(target: T, object1: U, object2: V): T & U & V;
+export function extend<T, U, V, W>(target: T, object1: U, object2: V, object3: W): T & U & V & W;
+export function extend<T, U, V, W, X>(target: T, object1: U, object2: V, object3: W, object4: X): T & U & V & W & X;
+export function extend<T, U, V, W, X, Y>(target: T, object1: U, object2: V, object3: W, object4: X, object5: Y): T & U & V & W & X & Y;
+export function extend<T, U, V, W, X, Y, Z>(target: T, object1?: U, object2?: V, object3?: W, object4?: X, object5?: Y, object6?: Z): T & U & V & W & X & Y & Z {
+    const sources: Array<any> = [object1, object2, object3, object4, object5, object6];
+ 
+    // Handle case when target is a string or something (possible in deep copy)
+    if ((typeof target !== "object" || isNull(target)) && !isFunction(target)) {
+        target = {} as T;
+    }
+ 
+    each(sources, (source) => {
+        // Only deal with non-null/undefined values
+        if (source != null) {
+ 
+            // Extend the base object
+            for (const name in source) {
+                const copy: any = source[name];
+ 
+                // Prevent Object.prototype pollution
+                // Prevent never-ending loop
+                if (name === "__proto__" || target === copy) {
+                    continue;
+                }
+ 
+                const copyIsArray = isArray(copy);
+ 
+                // Recurse if we're merging plain objects or arrays
+                if (copy && (isPlainObject(copy) || copyIsArray)) {
+                    const src = target[name];
+                    let clone: any = src;
+ 
+                    // Ensure proper type for the source value
+                    if (copyIsArray && !isArray(src)) {
+                        clone = [];
+                    } else if (!copyIsArray && !isPlainObject(src)) {
+                        clone = {};
+                    }
+ 
+                    // Never move original objects, clone them
+                    target[name] = extend(clone, copy) as any;
+ 
+                    // Don't bring in undefined values
+                } else if (copy !== undefined) {
+                    target[name] = copy;
+                }
+            }
+        }
+    });
+ 
+    // Return the modified object
+    return target as any;
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/utils/index.html b/coverage/lcov-report/src/core/utils/index.html new file mode 100644 index 0000000..0fcfed3 --- /dev/null +++ b/coverage/lcov-report/src/core/utils/index.html @@ -0,0 +1,156 @@ + + + + + + Code coverage report for src/core/utils + + + + + + + + + +
+
+

All files src/core/utils

+
+ +
+ 100% + Statements + 65/65 +
+ + +
+ 100% + Branches + 71/71 +
+ + +
+ 100% + Functions + 17/17 +
+ + +
+ 100% + Lines + 65/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
arrays.ts +
+
100%12/12100%8/8100%2/2100%12/12
extend.ts +
+
100%21/21100%26/26100%2/2100%21/21
index.ts +
+
0%0/00%0/00%0/00%0/0
types.ts +
+
100%32/32100%37/37100%13/13100%32/32
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/utils/index.ts.html b/coverage/lcov-report/src/core/utils/index.ts.html new file mode 100644 index 0000000..c9173e6 --- /dev/null +++ b/coverage/lcov-report/src/core/utils/index.ts.html @@ -0,0 +1,86 @@ + + + + + + Code coverage report for src/core/utils/index.ts + + + + + + + + + +
+
+

All files / src/core/utils index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3  +  + 
export * from 'core/utils/arrays';
+export * from 'core/utils/extend';
+export * from 'core/utils/types';
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/core/utils/types.ts.html b/coverage/lcov-report/src/core/utils/types.ts.html new file mode 100644 index 0000000..3cb4ffb --- /dev/null +++ b/coverage/lcov-report/src/core/utils/types.ts.html @@ -0,0 +1,365 @@ + + + + + + Code coverage report for src/core/utils/types.ts + + + + + + + + + +
+
+

All files / src/core/utils types.ts

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 100% + Branches + 37/37 +
+ + +
+ 100% + Functions + 13/13 +
+ + +
+ 100% + Lines + 32/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96  +  +11x +576x +1x +575x +48x +527x +  +  +  +97x +  +  +  +114x +  +  +  +28x +  +  +  +1605x +  +  +  +464x +  +  +  +611x +  +  +  +500x +  +  +  +2666x +  +  +  +  +  +  +  +  +761x +761x +  +  +  +  +  +  +  +1337x +1123x +  +  +214x +214x +214x +214x +  +214x +3x +  +  +211x +  +211x +  +  +  +  +  +  +  +358x +358x +358x +  +  +  +  +  +  +  +  +  +105x +42x +63x + 
import { PlainObject } from 'core/typings';
+ 
+export const type: (obj: any) => string = (obj) => {
+    if (obj === undefined)
+        return obj + '';
+    if (obj === null)
+        return obj + '';
+    return Object.prototype.toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase();
+}
+ 
+export function isNumber(obj: any): obj is number {
+    return typeof obj === 'number';
+};
+ 
+export function isString(obj: any): obj is string {
+    return typeof obj === 'string';
+}
+ 
+export function isBoolean(obj: any): obj is boolean {
+    return typeof obj === 'boolean';
+}
+ 
+export function isObject(obj: any): boolean {
+    return typeof obj === 'object' && !isArray(obj) && !isNull(obj);
+}
+ 
+export function isFunction(obj: any): obj is Function {
+    return typeof obj === 'function';
+}
+ 
+export function isUndefined(obj: any): obj is undefined {
+    return obj === undefined;
+}
+ 
+export function isNull(obj: any): obj is null {
+    return obj === null;
+}
+ 
+export function isArray(obj: any): obj is Array<any> {
+    return Array.isArray(obj);
+}
+ 
+ 
+/**
+ * Returns true if the given object is array like, false otherwise.
+ * @param obj The Object
+ */
+export function isArrayLike<T extends PlainObject = any>(obj: any): obj is ArrayLike<T> {
+    const length = !!obj && obj.length;
+    return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0);
+}
+ 
+/**
+ * Returns true if the given object is a "plain" (e.g. { key: value }) object, false otherwise. 
+ * @param obj The Object.
+ */
+export function isPlainObject<T = any>(obj: any): obj is PlainObject<T> {
+    if (!obj || !isObject(obj) || type(obj) !== 'object')
+        return false;
+ 
+    let key;
+    const proto = 'prototype';
+    const hasOwnProperty = Object[proto].hasOwnProperty;
+    const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');
+    const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');
+ 
+    if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
+        return false;
+    }
+ 
+    for (key in obj) { /**/ }
+ 
+    return isUndefined(key) || hasOwnProperty.call(obj, key);
+};
+ 
+/**
+ * Checks whether the given object is a HTMLElement.
+ * @param obj The object which shall be checked.
+ */
+export function isHTMLElement(obj: any): obj is HTMLElement {
+    const instaceOfRightHandSide = window.HTMLElement;
+    const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide);
+    return !!(
+        doInstanceOf ? obj instanceof instaceOfRightHandSide : (obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName))
+    );
+}
+ 
+/**
+ * Returns true if the given object is empty, false otherwise.
+ * @param obj The Object.
+ */
+export function isEmptyObject(obj: any): boolean {
+    for (let name in obj)
+        return false;
+    return true;
+};
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/index.html b/coverage/lcov-report/src/index.html new file mode 100644 index 0000000..b55f383 --- /dev/null +++ b/coverage/lcov-report/src/index.html @@ -0,0 +1,126 @@ + + + + + + Code coverage report for src + + + + + + + + + +
+
+

All files src

+
+ +
+ 100% + Statements + 33/33 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 33/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
instances.ts +
+
100%19/19100%1/1100%6/6100%19/19
options.ts +
+
100%14/14100%0/0100%0/0100%14/14
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/instances.ts.html b/coverage/lcov-report/src/instances.ts.html new file mode 100644 index 0000000..30dd5e2 --- /dev/null +++ b/coverage/lcov-report/src/instances.ts.html @@ -0,0 +1,233 @@ + + + + + + Code coverage report for src/instances.ts + + + + + + + + + +
+
+

All files / src instances.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +521x +1x +  +  +  +  +  +  +1x +3x +3x +  +  +  +  +  +  +1x +4x +4x +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +1x +2x +  +2x +  +1x +1x +  +  +  +2x +  +2x +1x +  +  +2x + 
const targets: Set<Element> = new Set();
+const targetInstanceMap: WeakMap<Element, any> = new WeakMap();
+ 
+/**
+ * Adds the given OverlayScrollbars instance to the given element.
+ * @param target The element which is the target of the OverlayScrollbars instance.
+ * @param osInstance The OverlayScrollbars instance.
+ */
+export const addInstance: (target: Element, osInstance: any) => void = (target, osInstance) => {
+    targetInstanceMap.set(target, osInstance);
+    targets.add(target);
+}
+ 
+/**
+ * Removes a OverlayScrollbars instance from the given element.
+ * @param target The element from which its OverlayScrollbars instance shall be removed.
+ */
+export const removeInstance: (target: Element) => void = (target) => {
+    targetInstanceMap.delete(target);
+    targets.delete(target);
+}
+ 
+/**
+ * Gets the OverlayScrollbars from the given element or undefined if it doesn't have one.
+ * @param target The element of which its OverlayScrollbars instance shall be get.
+ */
+export const getInstance: (target: Element) => any = (target) => {
+    return targetInstanceMap.get(target);
+}
+ 
+/**
+ * Gets a Map which represents all active OverayScrollbars instances. 
+ * The Key is the ekement and the value is the instance.
+ */
+export const allInstances: () => ReadonlyMap<Element, any> = () => {
+    const validTargetInstanceMap: Map<Element, any> = new Map();
+ 
+    targets.forEach((target: Element) => {
+        /* istanbul ignore else */
+        if (targetInstanceMap.has(target)) {
+            validTargetInstanceMap.set(target, targetInstanceMap.get(target))
+        }
+    });
+ 
+    targets.clear();
+ 
+    validTargetInstanceMap.forEach((instance: any, validTarget: Element) => {
+        targets.add(validTarget);
+    });
+ 
+    return validTargetInstanceMap;
+}
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/options.ts.html b/coverage/lcov-report/src/options.ts.html new file mode 100644 index 0000000..76a3be7 --- /dev/null +++ b/coverage/lcov-report/src/options.ts.html @@ -0,0 +1,326 @@ + + + + + + Code coverage report for src/options.ts + + + + + + + + + +
+
+

All files / src options.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  + 
import { OptionsTemplate, OptionsTemplateValue, OptionsAndOptionsTemplateValue, OptionsAndOptionsTemplate, Func } from "core/typings";
+import { optionsTemplateTypes as oTypes, transform } from "core/options";
+import { OverlayScrollbars } from "typings";
+ 
+const classNameAllowedValues: OptionsTemplateValue<string | null> = [oTypes.string, oTypes.null];
+const numberAllowedValues: OptionsTemplateValue<number> = oTypes.number;
+const booleanNullAllowedValues: OptionsTemplateValue<boolean | null> = [oTypes.boolean, oTypes.null];
+const stringArrayNullAllowedValues: OptionsTemplateValue<string | Array<string> | null> = [oTypes.string, oTypes.array, oTypes.null];
+const booleanTrueTemplate: OptionsAndOptionsTemplateValue<boolean> = [true, oTypes.boolean];
+const booleanFalseTemplate: OptionsAndOptionsTemplateValue<boolean> = [false, oTypes.boolean];
+const callbackTemplate: OptionsAndOptionsTemplateValue<Func | null> = [null, [oTypes.function, oTypes.null]];
+const resizeAllowedValues: OptionsTemplateValue<OverlayScrollbars.ResizeBehavior> = 'none both horizontal vertical';
+const overflowBehaviorAllowedValues: OptionsTemplateValue<OverlayScrollbars.OverflowBehavior> = 'visible-hidden visible-scroll scroll hidden';
+const scrollbarsVisibilityAllowedValues: OptionsTemplateValue<OverlayScrollbars.VisibilityBehavior> = 'visible hidden auto';
+const scrollbarsAutoHideAllowedValues: OptionsTemplateValue<OverlayScrollbars.AutoHideBehavior> = 'never scroll leavemove';
+ 
+/**
+ * A object which serves as "default options object" and "options template object".
+ * I combined these two into one object so that I don't have to define two separate big objects, instead I define one big object.
+ * 
+ * The property value is a tuple:
+ * the first value is the default value
+ * the second value is the template value
+ * Example:
+ * {
+ *  a: ['default', [Type.string, Type.null]],
+ *  b: [250, Type.number]
+ * }
+ * Property "a" has a default value of 'default' and it can be a string or null
+ * Property "b" has a default value of 250 and it can be number
+ */
+const defaultOptionsWithTemplate: OptionsAndOptionsTemplate<Required<OverlayScrollbars.Options>> = {
+    className: ['os-theme-dark', classNameAllowedValues],                   //null || string
+    resize: ['none', resizeAllowedValues],                                  //none || both  || horizontal || vertical || n || b || h || v
+    sizeAutoCapable: booleanTrueTemplate,                                   //true || false
+    clipAlways: booleanTrueTemplate,                                        //true || false
+    normalizeRTL: booleanTrueTemplate,                                      //true || false
+    paddingAbsolute: booleanFalseTemplate,                                  //true || false
+    autoUpdate: [null, booleanNullAllowedValues],                           //true || false || null
+    autoUpdateInterval: [33, numberAllowedValues],                          //number
+    updateOnLoad: [['img'], stringArrayNullAllowedValues],                  //string || array || null
+    nativeScrollbarsOverlaid: {
+        showNativeScrollbars: booleanFalseTemplate,                         //true || false
+        initialize: booleanFalseTemplate                                    //true || false
+    },
+    overflowBehavior: {
+        x: ['scroll', overflowBehaviorAllowedValues],                       //visible-hidden  || visible-scroll || hidden || scroll || v-h || v-s || h || s
+        y: ['scroll', overflowBehaviorAllowedValues]                        //visible-hidden  || visible-scroll || hidden || scroll || v-h || v-s || h || s
+    },
+    scrollbars: {
+        visibility: ['auto', scrollbarsVisibilityAllowedValues],            //visible || hidden || auto || v || h || a
+        autoHide: ['never', scrollbarsAutoHideAllowedValues],               //never || scroll || leave || move || n || s || l || m
+        autoHideDelay: [800, numberAllowedValues],                          //number
+        dragScrolling: booleanTrueTemplate,                                 //true || false
+        clickScrolling: booleanFalseTemplate,                               //true || false
+        touchSupport: booleanTrueTemplate,                                  //true || false
+        snapHandle: booleanFalseTemplate                                    //true || false
+    },
+    textarea: {
+        dynWidth: booleanFalseTemplate,                                     //true || false
+        dynHeight: booleanFalseTemplate,                                    //true || false
+        inheritedAttrs: [['style', 'class'], stringArrayNullAllowedValues], //string || array || null
+    },
+    callbacks: {
+        onInitialized: callbackTemplate,                                    //null || function
+        onInitializationWithdrawn: callbackTemplate,                        //null || function
+        onDestroyed: callbackTemplate,                                      //null || function
+        onScrollStart: callbackTemplate,                                    //null || function
+        onScroll: callbackTemplate,                                         //null || function
+        onScrollStop: callbackTemplate,                                     //null || function
+        onOverflowChanged: callbackTemplate,                                //null || function
+        onOverflowAmountChanged: callbackTemplate,                          //null || function
+        onDirectionChanged: callbackTemplate,                               //null || function
+        onContentSizeChanged: callbackTemplate,                             //null || function
+        onHostSizeChanged: callbackTemplate,                                //null || function
+        onUpdated: callbackTemplate                                         //null || function
+    }
+}
+ 
+export const optionsTemplate: OptionsTemplate<Required<OverlayScrollbars.Options>> = transform(defaultOptionsWithTemplate, true);
+export const defaultOptions: OverlayScrollbars.Options = transform(defaultOptionsWithTemplate);
+ 
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info new file mode 100644 index 0000000..2f07452 --- /dev/null +++ b/coverage/lcov.info @@ -0,0 +1,848 @@ +TN: +SF:packages\overlayscrollbars\src\instances.ts +FN:9,(anonymous_0) +FN:18,(anonymous_1) +FN:27,(anonymous_2) +FN:35,(anonymous_3) +FN:38,(anonymous_4) +FN:47,(anonymous_5) +FNF:6 +FNH:6 +FNDA:3,(anonymous_0) +FNDA:4,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:2,(anonymous_3) +FNDA:1,(anonymous_4) +FNDA:1,(anonymous_5) +DA:1,1 +DA:2,1 +DA:9,1 +DA:10,3 +DA:11,3 +DA:18,1 +DA:19,4 +DA:20,4 +DA:27,1 +DA:28,1 +DA:35,1 +DA:36,2 +DA:38,2 +DA:40,1 +DA:41,1 +DA:45,2 +DA:47,2 +DA:48,1 +DA:51,2 +LF:19 +LH:19 +BRDA:40,0,0,1 +BRF:1 +BRH:1 +end_of_record +TN: +SF:packages\overlayscrollbars\src\options.ts +FNF:0 +FNH:0 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:32,1 +DA:80,1 +DA:81,1 +LF:14 +LH:14 +BRF:0 +BRH:0 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\compatibility\vendors.ts +FN:4,(anonymous_0) +FN:7,(anonymous_1) +FN:23,(anonymous_2) +FN:32,(anonymous_3) +FN:40,(anonymous_4) +FN:54,(anonymous_5) +FN:66,(anonymous_6) +FN:67,(anonymous_7) +FN:86,(anonymous_8) +FN:92,(anonymous_9) +FNF:10 +FNH:10 +FNDA:20,(anonymous_0) +FNDA:10,(anonymous_1) +FNDA:4,(anonymous_2) +FNDA:9,(anonymous_3) +FNDA:33,(anonymous_4) +FNDA:11,(anonymous_5) +FNDA:10,(anonymous_6) +FNDA:42,(anonymous_7) +FNDA:5,(anonymous_8) +FNDA:11,(anonymous_9) +DA:4,1 +DA:5,20 +DA:7,1 +DA:8,10 +DA:13,1 +DA:14,1 +DA:16,1 +DA:17,1 +DA:23,1 +DA:24,4 +DA:26,4 +DA:27,1 +DA:29,3 +DA:30,3 +DA:32,3 +DA:33,9 +DA:34,9 +DA:40,33 +DA:41,9 +DA:44,3 +DA:45,3 +DA:54,1 +DA:55,11 +DA:56,11 +DA:58,11 +DA:59,4 +DA:61,7 +DA:62,7 +DA:63,7 +DA:64,7 +DA:66,7 +DA:67,10 +DA:68,42 +DA:69,42 +DA:70,42 +DA:71,2 +DA:72,2 +DA:75,10 +DA:78,7 +DA:79,7 +DA:86,1 +DA:87,5 +DA:89,5 +DA:90,1 +DA:92,4 +DA:93,11 +DA:94,11 +DA:97,4 +DA:98,4 +LF:49 +LH:49 +BRDA:26,0,0,1 +BRDA:26,0,1,3 +BRDA:58,1,0,4 +BRDA:58,1,1,7 +BRDA:63,2,0,7 +BRDA:63,2,1,5 +BRDA:70,3,0,2 +BRDA:70,3,1,40 +BRDA:87,4,0,5 +BRDA:87,4,1,4 +BRDA:89,5,0,1 +BRDA:89,5,1,4 +BRDA:93,6,0,11 +BRDA:93,6,1,8 +BRF:14 +BRH:14 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\attributes.ts +FN:8,(anonymous_0) +FN:19,(anonymous_1) +FN:28,(anonymous_2) +FN:39,(anonymous_3) +FN:50,(anonymous_4) +FNF:5 +FNH:5 +FNDA:7,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:3,(anonymous_2) +FNDA:3,(anonymous_3) +FNDA:5,(anonymous_4) +DA:8,4 +DA:9,7 +DA:10,5 +DA:11,2 +DA:19,4 +DA:20,1 +DA:28,4 +DA:29,3 +DA:30,2 +DA:31,1 +DA:39,4 +DA:40,3 +DA:41,2 +DA:42,1 +DA:50,4 +DA:51,5 +DA:52,3 +DA:53,2 +LF:18 +LH:18 +BRDA:9,0,0,5 +BRDA:9,0,1,2 +BRDA:29,1,0,2 +BRDA:29,1,1,1 +BRDA:40,2,0,2 +BRDA:40,2,1,1 +BRDA:51,3,0,3 +BRDA:51,3,1,2 +BRF:8 +BRH:8 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\classes.ts +FN:10,(anonymous_0) +FN:19,(anonymous_1) +FN:35,(anonymous_2) +FN:52,(anonymous_3) +FNF:4 +FNH:4 +FNDA:7,(anonymous_0) +FNDA:11,(anonymous_1) +FNDA:7,(anonymous_2) +FNDA:4,(anonymous_3) +DA:3,4 +DA:10,4 +DA:11,7 +DA:19,4 +DA:21,11 +DA:23,11 +DA:24,9 +DA:25,9 +DA:26,11 +DA:35,4 +DA:37,7 +DA:39,7 +DA:40,5 +DA:41,5 +DA:42,6 +DA:52,4 +DA:53,4 +DA:54,2 +DA:57,2 +LF:19 +LH:19 +BRDA:23,0,0,9 +BRDA:23,0,1,2 +BRDA:24,1,0,9 +BRDA:24,1,1,1 +BRDA:39,2,0,5 +BRDA:39,2,1,2 +BRDA:40,3,0,5 +BRDA:40,3,1,1 +BRDA:53,4,0,2 +BRDA:53,4,1,2 +BRF:10 +BRH:10 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\create.ts +FN:5,(anonymous_0) +FN:9,(anonymous_1) +FN:13,(anonymous_2) +FNF:3 +FNH:3 +FNDA:204,(anonymous_0) +FNDA:3,(anonymous_1) +FNDA:9,(anonymous_2) +DA:5,4 +DA:6,204 +DA:9,4 +DA:10,3 +DA:11,3 +DA:13,9 +LF:6 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\manipulation.ts +FN:13,(anonymous_0) +FN:24,(anonymous_1) +FN:55,(anonymous_2) +FN:62,(anonymous_3) +FN:69,(anonymous_4) +FN:76,(anonymous_5) +FN:82,(anonymous_6) +FN:84,(anonymous_7) +FNF:8 +FNH:8 +FNDA:24,(anonymous_0) +FNDA:24,(anonymous_1) +FNDA:6,(anonymous_2) +FNDA:6,(anonymous_3) +FNDA:6,(anonymous_4) +FNDA:6,(anonymous_5) +FNDA:23,(anonymous_6) +FNDA:9,(anonymous_7) +DA:13,4 +DA:14,24 +DA:15,20 +DA:19,20 +DA:20,16 +DA:21,8 +DA:24,8 +DA:25,24 +DA:26,3 +DA:28,24 +DA:32,8 +DA:36,16 +DA:37,12 +DA:38,1 +DA:40,11 +DA:41,2 +DA:45,16 +DA:55,6 +DA:62,6 +DA:69,6 +DA:76,6 +DA:82,4 +DA:83,23 +DA:84,9 +DA:86,21 +DA:87,20 +DA:88,20 +DA:89,15 +LF:28 +LH:28 +BRDA:14,0,0,20 +BRDA:14,0,1,4 +BRDA:19,1,0,16 +BRDA:19,1,1,4 +BRDA:20,2,0,8 +BRDA:20,2,1,8 +BRDA:25,3,0,3 +BRDA:25,3,1,21 +BRDA:36,4,0,12 +BRDA:36,4,1,4 +BRDA:37,5,0,1 +BRDA:37,5,1,11 +BRDA:40,6,0,2 +BRDA:40,6,1,9 +BRDA:62,7,0,6 +BRDA:62,7,1,5 +BRDA:76,8,0,6 +BRDA:76,8,1,5 +BRDA:83,9,0,2 +BRDA:83,9,1,21 +BRDA:86,10,0,20 +BRDA:86,10,1,1 +BRDA:88,11,0,15 +BRDA:88,11,1,5 +BRF:24 +BRH:24 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\offset.ts +FN:1,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:1,3 +DA:2,0 +DA:3,0 +DA:9,3 +DA:10,0 +LF:5 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\style.ts +FN:21,(anonymous_0) +FN:29,(anonymous_1) +FN:35,style +FN:55,(anonymous_3) +FN:59,(anonymous_4) +FNF:5 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,style +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:5,3 +DA:21,3 +DA:22,0 +DA:23,0 +DA:24,0 +DA:29,3 +DA:30,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:43,0 +DA:46,0 +DA:50,0 +DA:51,0 +DA:55,3 +DA:56,0 +DA:59,3 +DA:60,0 +LF:19 +LH:5 +BRDA:23,0,0,0 +BRDA:23,0,1,0 +BRDA:30,1,0,0 +BRDA:30,1,1,0 +BRDA:30,2,0,0 +BRDA:30,2,1,0 +BRDA:38,3,0,0 +BRDA:38,3,1,0 +BRDA:39,4,0,0 +BRDA:39,4,1,0 +BRDA:43,5,0,0 +BRDA:43,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\dom\traversal.ts +FN:3,(anonymous_0) +FN:7,(anonymous_1) +FN:10,(anonymous_2) +FN:17,(anonymous_3) +FN:21,(anonymous_4) +FN:33,(anonymous_5) +FN:36,(anonymous_6) +FN:48,(anonymous_7) +FN:52,(anonymous_8) +FNF:9 +FNH:9 +FNDA:4,(anonymous_0) +FNDA:6,(anonymous_1) +FNDA:18,(anonymous_2) +FNDA:19,(anonymous_3) +FNDA:31,(anonymous_4) +FNDA:3,(anonymous_5) +FNDA:6,(anonymous_6) +FNDA:38,(anonymous_7) +FNDA:14,(anonymous_8) +DA:3,4 +DA:4,4 +DA:7,4 +DA:8,6 +DA:10,6 +DA:11,18 +DA:14,6 +DA:17,4 +DA:18,19 +DA:21,4 +DA:22,31 +DA:23,22 +DA:24,2 +DA:25,20 +DA:26,2 +DA:27,18 +DA:28,6 +DA:30,21 +DA:33,4 +DA:34,3 +DA:36,3 +DA:37,6 +DA:38,3 +DA:39,1 +DA:42,3 +DA:45,3 +DA:48,4 +DA:49,38 +DA:52,14 +LF:29 +LH:29 +BRDA:4,0,0,4 +BRDA:4,0,1,4 +BRDA:4,0,2,4 +BRDA:10,1,0,6 +BRDA:10,1,1,5 +BRDA:18,2,0,19 +BRDA:18,2,1,18 +BRDA:22,3,0,22 +BRDA:22,3,1,9 +BRDA:23,4,0,2 +BRDA:23,4,1,20 +BRDA:25,5,0,2 +BRDA:25,5,1,18 +BRDA:27,6,0,6 +BRDA:27,6,1,12 +BRDA:36,7,0,3 +BRDA:36,7,1,2 +BRDA:37,8,0,3 +BRDA:37,8,1,3 +BRDA:38,9,0,1 +BRDA:38,9,1,2 +BRDA:49,10,0,37 +BRDA:49,10,1,1 +BRDA:52,11,0,11 +BRDA:52,11,1,3 +BRF:25 +BRH:25 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\options\index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\options\transformation.ts +FN:12,transform +FN:15,(anonymous_1) +FNF:2 +FNH:2 +FNDA:16,transform +FNDA:102,(anonymous_1) +DA:13,16 +DA:15,16 +DA:16,102 +DA:19,102 +DA:20,90 +DA:25,16 +LF:6 +LH:6 +BRDA:19,0,0,90 +BRDA:20,1,0,45 +BRDA:20,1,1,45 +BRF:3 +BRH:3 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\options\validation.ts +FN:24,(anonymous_0) +FN:47,(anonymous_1) +FN:50,(anonymous_2) +FN:52,(anonymous_3) +FN:65,(anonymous_4) +FN:78,(anonymous_5) +FN:84,(anonymous_6) +FN:140,(anonymous_7) +FNF:8 +FNH:8 +FNDA:21,(anonymous_0) +FNDA:65,(anonymous_1) +FNDA:372,(anonymous_2) +FNDA:372,(anonymous_3) +FNDA:66,(anonymous_4) +FNDA:417,(anonymous_5) +FNDA:121,(anonymous_6) +FNDA:32,(anonymous_7) +DA:5,3 +DA:10,3 +DA:16,3 +DA:25,21 +DA:26,21 +DA:47,3 +DA:48,65 +DA:49,65 +DA:50,372 +DA:52,65 +DA:53,372 +DA:54,372 +DA:55,372 +DA:56,372 +DA:57,372 +DA:60,372 +DA:61,33 +DA:62,33 +DA:63,33 +DA:65,33 +DA:66,66 +DA:67,33 +DA:71,339 +DA:72,336 +DA:73,336 +DA:74,336 +DA:75,336 +DA:76,336 +DA:78,336 +DA:80,417 +DA:81,417 +DA:83,64 +DA:84,121 +DA:87,64 +DA:90,353 +DA:94,417 +DA:97,417 +DA:101,336 +DA:102,310 +DA:103,310 +DA:104,256 +DA:107,26 +DA:108,2 +DA:113,336 +DA:117,65 +DA:140,3 +DA:151,32 +LF:47 +LH:47 +BRDA:53,0,0,295 +BRDA:53,0,1,77 +BRDA:57,1,0,110 +BRDA:57,1,1,262 +BRDA:60,2,0,33 +BRDA:60,2,1,339 +BRDA:60,3,0,372 +BRDA:60,3,1,36 +BRDA:66,4,0,33 +BRDA:66,4,1,33 +BRDA:71,5,0,336 +BRDA:71,5,1,3 +BRDA:76,6,0,227 +BRDA:76,6,1,109 +BRDA:81,7,0,64 +BRDA:81,7,1,353 +BRDA:81,8,0,417 +BRDA:81,8,1,64 +BRDA:94,9,0,64 +BRDA:94,9,1,353 +BRDA:101,10,0,310 +BRDA:101,10,1,26 +BRDA:102,11,0,310 +BRDA:102,11,1,277 +BRDA:103,12,0,256 +BRDA:103,12,1,54 +BRDA:103,13,0,62 +BRDA:103,13,1,248 +BRDA:107,14,0,2 +BRDA:107,14,1,24 +BRDA:110,15,0,1 +BRDA:110,15,1,1 +BRDA:151,16,0,32 +BRDA:151,16,1,20 +BRDA:151,17,0,32 +BRDA:151,17,1,28 +BRF:36 +BRH:36 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\utils\arrays.ts +FN:18,each +FN:42,(anonymous_1) +FNF:2 +FNH:2 +FNDA:694,each +FNDA:418,(anonymous_1) +DA:19,694 +DA:21,694 +DA:22,688 +DA:23,2211 +DA:24,320 +DA:27,6 +DA:28,5 +DA:29,13 +DA:30,1 +DA:33,694 +DA:42,9 +DA:43,418 +LF:12 +LH:12 +BRDA:21,0,0,688 +BRDA:21,0,1,6 +BRDA:23,1,0,320 +BRDA:23,1,1,1891 +BRDA:27,2,0,5 +BRDA:27,2,1,1 +BRDA:29,3,0,1 +BRDA:29,3,1,12 +BRF:8 +BRH:8 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\utils\extend.ts +FN:10,extend +FN:18,(anonymous_1) +FNF:2 +FNH:2 +FNDA:180,extend +FNDA:1080,(anonymous_1) +DA:11,180 +DA:14,180 +DA:15,3 +DA:18,180 +DA:20,1080 +DA:23,217 +DA:24,632 +DA:28,632 +DA:29,1 +DA:32,631 +DA:35,631 +DA:36,126 +DA:37,126 +DA:40,126 +DA:41,33 +DA:42,93 +DA:43,76 +DA:47,126 +DA:50,505 +DA:51,504 +DA:58,180 +LF:21 +LH:21 +BRDA:14,0,0,3 +BRDA:14,0,1,177 +BRDA:14,1,0,180 +BRDA:14,1,1,177 +BRDA:14,1,2,4 +BRDA:20,2,0,217 +BRDA:20,2,1,863 +BRDA:28,3,0,1 +BRDA:28,3,1,631 +BRDA:28,4,0,632 +BRDA:28,4,1,632 +BRDA:35,5,0,126 +BRDA:35,5,1,505 +BRDA:35,6,0,631 +BRDA:35,6,1,531 +BRDA:35,6,2,439 +BRDA:40,7,0,33 +BRDA:40,7,1,93 +BRDA:40,8,0,126 +BRDA:40,8,1,34 +BRDA:42,9,0,76 +BRDA:42,9,1,17 +BRDA:42,10,0,93 +BRDA:42,10,1,92 +BRDA:50,11,0,504 +BRDA:50,11,1,1 +BRF:26 +BRH:26 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\utils\index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:packages\overlayscrollbars\src\core\utils\types.ts +FN:3,(anonymous_0) +FN:11,isNumber +FN:15,isString +FN:19,isBoolean +FN:23,isObject +FN:27,isFunction +FN:31,isUndefined +FN:35,isNull +FN:39,isArray +FN:48,isArrayLike +FN:57,isPlainObject +FN:80,isHTMLElement +FN:92,isEmptyObject +FNF:13 +FNH:13 +FNDA:576,(anonymous_0) +FNDA:97,isNumber +FNDA:114,isString +FNDA:28,isBoolean +FNDA:1605,isObject +FNDA:464,isFunction +FNDA:611,isUndefined +FNDA:500,isNull +FNDA:2666,isArray +FNDA:761,isArrayLike +FNDA:1337,isPlainObject +FNDA:358,isHTMLElement +FNDA:105,isEmptyObject +DA:3,11 +DA:4,576 +DA:5,1 +DA:6,575 +DA:7,48 +DA:8,527 +DA:12,97 +DA:16,114 +DA:20,28 +DA:24,1605 +DA:28,464 +DA:32,611 +DA:36,500 +DA:40,2666 +DA:49,761 +DA:50,761 +DA:58,1337 +DA:59,1123 +DA:62,214 +DA:63,214 +DA:64,214 +DA:65,214 +DA:67,214 +DA:68,3 +DA:71,211 +DA:73,211 +DA:81,358 +DA:82,358 +DA:83,358 +DA:93,105 +DA:94,42 +DA:95,63 +LF:32 +LH:32 +BRDA:4,0,0,1 +BRDA:4,0,1,575 +BRDA:6,1,0,48 +BRDA:6,1,1,527 +BRDA:24,2,0,1605 +BRDA:24,2,1,448 +BRDA:24,2,2,295 +BRDA:49,3,0,761 +BRDA:49,3,1,754 +BRDA:50,4,0,761 +BRDA:50,4,1,74 +BRDA:50,4,2,69 +BRDA:50,4,3,19 +BRDA:50,4,4,19 +BRDA:58,5,0,1123 +BRDA:58,5,1,214 +BRDA:58,6,0,1337 +BRDA:58,6,1,1181 +BRDA:58,6,2,224 +BRDA:65,7,0,214 +BRDA:65,7,1,213 +BRDA:65,7,2,213 +BRDA:67,8,0,3 +BRDA:67,8,1,211 +BRDA:67,9,0,214 +BRDA:67,9,1,213 +BRDA:67,9,2,213 +BRDA:73,10,0,211 +BRDA:73,10,1,205 +BRDA:82,11,0,358 +BRDA:82,11,1,358 +BRDA:84,12,0,327 +BRDA:84,12,1,31 +BRDA:84,13,0,31 +BRDA:84,13,1,26 +BRDA:84,13,2,15 +BRDA:84,13,3,4 +BRF:37 +BRH:37 +end_of_record diff --git a/index.bundle.js b/index.bundle.js deleted file mode 100644 index 1c18f57..0000000 --- a/index.bundle.js +++ /dev/null @@ -1,694 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = global || self, factory(global.OverlayScrollbars = {})); -}(this, (function (exports) { 'use strict'; - - const attr = (elm, attrName, value) => { - if (value === undefined) - return elm.getAttribute(attrName); - elm.setAttribute(attrName, value); - }; - const removeAttr = (elm, attrName) => { - elm.removeAttribute(attrName); - }; - const scrollLeft = (elm, value) => { - if (value === undefined) - return elm.scrollLeft; - elm.scrollLeft = value; - }; - const scrollTop = (elm, value) => { - if (value === undefined) - return elm.scrollTop; - elm.scrollTop = value; - }; - const val = (elm, value) => { - if (value === undefined) - return elm.value; - elm.value = value; - }; - - const rnothtmlwhite = (/[^\x20\t\r\n\f]+/g); - const hasClass = (elm, className) => { - return elm.classList.contains(className); - }; - const addClass = (elm, className) => { - let clazz; - let i = 0; - if (className) { - const classes = className.match(rnothtmlwhite) || []; - while ((clazz = classes[i++])) - elm.classList.add(clazz); - } - }; - const removeClass = (elm, className) => { - let clazz; - let i = 0; - if (className) { - const classes = className.match(rnothtmlwhite) || []; - while ((clazz = classes[i++])) - elm.classList.remove(clazz); - } - }; - const conditionalClass = (elm, className, condition) => { - if (condition) { - addClass(elm, className); - } - else { - removeClass(elm, className); - } - }; - - const type = (obj) => { - if (obj === undefined) - return obj + ''; - if (obj === null) - return obj + ''; - return Object.prototype.toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase(); - }; - function isNumber(obj) { - return typeof obj === 'number'; - } - function isString(obj) { - return typeof obj === 'string'; - } - function isBoolean(obj) { - return typeof obj === 'boolean'; - } - function isObject(obj) { - return typeof obj === 'object' && !isArray(obj) && !isNull(obj); - } - function isFunction(obj) { - return typeof obj === 'function'; - } - function isUndefined(obj) { - return obj === undefined; - } - function isNull(obj) { - return obj === null; - } - function isArray(obj) { - return Array.isArray(obj); - } - function isArrayLike(obj) { - const length = !!obj && obj.length; - return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0); - } - function isPlainObject(obj) { - if (!obj || !isObject(obj) || type(obj) !== 'object') - return false; - let key; - const proto = 'prototype'; - const hasOwnProperty = Object[proto].hasOwnProperty; - const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor'); - const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf'); - if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { - return false; - } - for (key in obj) { } - return isUndefined(key) || hasOwnProperty.call(obj, key); - } - function isHTMLElement(obj) { - const strOwnerDocument = 'ownerDocument'; - const strHTMLElement = 'HTMLElement'; - const wnd = obj && obj[strOwnerDocument] ? (obj[strOwnerDocument].parentWindow || window) : window; - return !!(isObject(wnd[strHTMLElement]) ? obj instanceof wnd[strHTMLElement] : - obj && isObject(obj) && obj !== null && obj.nodeType === 1 && isString(obj.nodeName)); - } - function isEmptyObject(obj) { - for (let name in obj) - return false; - return true; - } - - function each(source, callback) { - let i = 0; - if (isArrayLike(source)) { - for (; i < source.length; i++) { - if (callback(source[i], i, source) === false) - break; - } - } - else if (source) { - for (i in source) { - if (callback(source[i], i, source) === false) - break; - } - } - return source; - } - const indexOf = (arr, item, fromIndex) => { - return arr.indexOf(item, fromIndex); - }; - - const extend = (target, ...sources) => { - if (typeof target !== "object" && !isFunction(target)) { - target = {}; - } - each(sources, (source) => { - if (source != null) { - for (const name in source) { - const copy = source[name]; - if (name === "__proto__" || target === copy) { - continue; - } - const copyIsArray = isArray(copy); - if (copy && (isPlainObject(copy) || copyIsArray)) { - const src = target[name]; - let clone = src; - if (copyIsArray && !isArray(src)) { - clone = []; - } - else if (!copyIsArray && !isPlainObject(src)) { - clone = {}; - } - target[name] = extend(clone, copy); - } - else if (copy !== undefined) { - target[name] = copy; - } - } - } - }); - return target; - }; - - const matchesFallback = (elm, selector) => { - var nodeList = (elm.parentNode || document).querySelectorAll(selector) || []; - var i = nodeList.length; - while (i--) - if (nodeList[i] == elm) - return true; - return false; - }; - const matches = (elm, selector) => { - return (elm.matches && elm.matches(selector)) || matchesFallback(elm, selector); - }; - const elementIsVisible = (elm) => { - return !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length); - }; - const find = (selector, elm) => { - const arr = []; - each((elm || document).querySelectorAll(selector), (e) => { - arr.push(e); - }); - return arr; - }; - const findFirst = (selector, elm) => { - return (elm || document).querySelector(selector); - }; - const is = (elm, selector) => { - if (elm) { - if (selector === ':visible') - return elementIsVisible(elm); - if (selector === ':hidden') - return !elementIsVisible(elm); - if (matches(elm, selector)) - return true; - } - return false; - }; - const children = (elm, selector) => { - const children = []; - each(elm && elm.children, (child) => { - if (selector) { - if (matches(child, selector)) - children.push(child); - } - else - children.push(child); - }); - return children; - }; - const contents = (elm) => { - return elm ? Array.from(elm.childNodes) : []; - }; - const parent = (elm) => elm ? elm.parentElement : null; - - const before = (parent, preferredAnchor, insertedElms) => { - if (insertedElms) { - let anchor = preferredAnchor; - let fragment; - if (!parent) - return; - if (isArrayLike(insertedElms)) { - fragment = document.createDocumentFragment(); - each(insertedElms, (insertedElm) => { - if (insertedElm === anchor) { - anchor = insertedElm.previousSibling; - } - fragment.appendChild(insertedElm); - }); - } - else { - fragment = insertedElms; - } - if (preferredAnchor) { - if (!anchor) { - anchor = parent.firstChild; - } - else if (anchor !== preferredAnchor) { - anchor = anchor.nextSibling; - } - } - parent.insertBefore(fragment, anchor); - } - }; - const appendChildren = (node, children) => { before(node, null, children); }; - const prependChildren = (node, children) => { before(node, node.firstChild, children); }; - const insertBefore = (node, insertedNodes) => { before(parent(node), node, insertedNodes); }; - const insertAfter = (node, insertedNodes) => { before(parent(node), node.nextSibling, insertedNodes); }; - const removeElements = (nodes) => { - if (isArrayLike(nodes)) { - each(Array.from(nodes), (e) => removeElements(e)); - } - else if (nodes) { - const parentNode = nodes.parentNode; - if (parentNode) - parentNode.removeChild(nodes); - } - }; - - const createDiv = () => { - return document.createElement('div'); - }; - const createDOM = (html) => { - const elm = createDiv(); - elm.innerHTML = html.trim(); - return each(contents(elm), (elm) => removeElements(elm)); - }; - - const cssNumber = { - animationIterationCount: true, - columnCount: true, - fillOpacity: true, - flexGrow: true, - flexShrink: true, - fontWeight: true, - lineHeight: true, - opacity: true, - order: true, - orphans: true, - widows: true, - zIndex: true, - zoom: true - }; - const setCSSVal = (elm, prop, val) => { - try { - if (elm.style[prop] !== undefined) { - elm.style[prop] = parseCSSVal(prop, val); - } - } - catch (e) { } - }; - const parseCSSVal = (prop, val) => { - return !cssNumber[prop.toLowerCase()] && isNumber(val) ? val + 'px' : val; - }; - function style(elm, styles, val) { - const getCptStyle = window.getComputedStyle; - if (isString(styles)) { - if (isUndefined(val)) { - const cptStyle = getCptStyle(elm, null); - return cptStyle != null ? cptStyle.getPropertyValue(styles) : elm.style[styles]; - } - else { - setCSSVal(elm, styles, val); - } - } - else { - for (const key in styles) - setCSSVal(elm, key, styles[key]); - } - } - const hide = (elm) => { - elm.style.display = 'none'; - }; - const show = (elm) => { - elm.style.display = 'block'; - }; - - const offset = (elm) => { - const rect = elm.getBoundingClientRect(); - return { - top: rect.top + window.pageXOffset, - left: rect.left + window.pageYOffset - }; - }; - const position = (elm) => { - return { - top: elm.offsetTop, - left: elm.offsetLeft - }; - }; - - const jsCache = {}; - const cssCache = {}; - const firstLetterToUpper = (str) => { - return str.charAt(0).toUpperCase() + str.slice(1); - }; - const getDummyStyle = () => { - return createDiv().style; - }; - const cssPrefixes = ['-webkit-', '-moz-', '-o-', '-ms-']; - const jsPrefixes = ['WebKit', 'Moz', 'O', 'MS', 'webkit', 'moz', 'o', 'ms']; - const cssProperty = (name) => { - let result = cssCache[name]; - if (cssCache.hasOwnProperty(name)) - return result; - const uppercasedName = firstLetterToUpper(name); - const elmStyle = getDummyStyle(); - each(cssPrefixes, (prefix) => { - const prefixWithoutDashes = prefix.replace(/-/g, ''); - const resultPossibilities = [ - name, - prefix + name, - prefixWithoutDashes + uppercasedName, - firstLetterToUpper(prefixWithoutDashes) + uppercasedName - ]; - each(resultPossibilities, (resultPossibility) => { - if (elmStyle[resultPossibility] !== undefined) { - result = resultPossibility; - return false; - } - }); - if (result) { - return false; - } - }); - cssCache[name] = result; - return result; - }; - const cssPropertyValue = (property, values, suffix) => { - const name = property + ' ' + values; - let result = cssCache[name]; - if (cssCache.hasOwnProperty(name)) - return result; - const dummyStyle = getDummyStyle(); - const possbleValues = values.split(' '); - const preparedSuffix = suffix || ''; - const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes); - each(possbleValues, (possibleValue) => { - each(cssPrefixesWithFirstEmpty, (prefix) => { - const prop = prefix + possibleValue; - dummyStyle.cssText = property + ':' + prop + preparedSuffix; - if (dummyStyle.length) { - result = prop; - return false; - } - }); - if (result) { - return false; - } - }); - cssCache[name] = result; - return result; - }; - const jsAPI = (name) => { - let result = jsCache[name]; - if (!jsCache.hasOwnProperty(name)) { - result = window[name]; - each(jsPrefixes, (prefix) => { - result = result || window[prefix + firstLetterToUpper(name)]; - if (result) { - return false; - } - }); - } - return result; - }; - - const resizeObserver = jsAPI('ResizeObserver'); - const mouseButton = (event) => { - const button = event.button; - if (!event.which && button !== undefined) - return (button & 1 ? 1 : (button & 2 ? 3 : (button & 4 ? 2 : 0))); - else - return event.which; - }; - - const templateTypePrefixSuffix = ['__TPL_', '_TYPE__']; - const optionsTemplateTypes = [ - 'boolean', - 'number', - 'string', - 'array', - 'object', - 'function', - 'null' - ].reduce((result, item) => { - result[item] = templateTypePrefixSuffix[0] + item + templateTypePrefixSuffix[1]; - return result; - }, {}); - const validateInternal = function (options, template, optionsDiff, doWriteErrors, propPath) { - const validatedOptions = {}; - const optionsCopy = Object.assign({}, options); - for (const prop in template) { - if (template.hasOwnProperty(prop) && options.hasOwnProperty(prop)) { - const optionsDiffValue = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop]; - const optionsValue = optionsCopy[prop]; - const templateValue = template[prop]; - const templateIsComplex = isPlainObject(templateValue); - const propPrefix = propPath ? propPath + '.' : ''; - if (templateIsComplex && isPlainObject(optionsValue)) { - const validatedInternal = validateInternal(optionsValue, templateValue, optionsDiffValue, doWriteErrors, propPrefix + prop); - validatedOptions[prop] = validatedInternal.validated; - optionsCopy[prop] = validatedInternal.foreign; - each([optionsCopy, validatedOptions], (value) => { - if (isEmptyObject(value[prop])) { - delete value[prop]; - } - }); - } - else if (!templateIsComplex) { - let isValid = false; - const errorEnumStrings = []; - const errorPossibleTypes = []; - const optionsValueType = type(optionsValue); - const templateValueArr = !isArray(templateValue) ? [templateValue] : templateValue; - each(templateValueArr, (currTemplateType) => { - const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0; - if (isEnumString && isString(optionsValue)) { - const enumStringSplit = currTemplateType.split(' '); - isValid = !!enumStringSplit.find(possibility => possibility === optionsValue); - errorEnumStrings.push(...enumStringSplit); - } - else { - isValid = optionsTemplateTypes[optionsValueType] === currTemplateType; - } - errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType); - return !isValid; - }); - if (isValid) { - if (optionsValue !== optionsDiffValue) { - validatedOptions[prop] = optionsValue; - } - } - else if (doWriteErrors) { - console.warn(`The option "${propPrefix}${prop}" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of "${optionsValue}".\r\n` + - `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\r\n` + - (errorEnumStrings.length > 0 ? `\r\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : '')); - } - } - delete optionsCopy[prop]; - } - } - return { - foreign: optionsCopy, - validated: validatedOptions - }; - }; - const validate = function (options, template, optionsDiff, doWriteErrors) { - const result = validateInternal(options, template, optionsDiff || {}, doWriteErrors || false); - const foreign = result.foreign; - if (!isEmptyObject(foreign) && doWriteErrors) - console.warn(`The following options are discarded due to invalidity:\r\n ${window.JSON.stringify(foreign, null, 2)}`); - return result.validated; - }; - - const classNameAllowedValues = [optionsTemplateTypes.string, optionsTemplateTypes.null]; - const numberAllowedValues = optionsTemplateTypes.number; - const booleanNullAllowedValues = [optionsTemplateTypes.boolean, optionsTemplateTypes.null]; - const stringArrayNullAllowedValues = [optionsTemplateTypes.string, optionsTemplateTypes.array, optionsTemplateTypes.null]; - const booleanTrueTemplate = [true, optionsTemplateTypes.boolean]; - const booleanFalseTemplate = [false, optionsTemplateTypes.boolean]; - const callbackTemplate = [null, [optionsTemplateTypes.function, optionsTemplateTypes.null]]; - const resizeAllowedValues = 'none both horizontal vertical'; - const overflowBehaviorAllowedValues = 'visible-hidden visible-scroll scroll hidden'; - const scrollbarsVisibilityAllowedValues = 'visible hidden auto'; - const scrollbarsAutoHideAllowedValues = 'never scroll leavemove'; - const defaultOptionsWithTemplate = { - className: ['os-theme-dark', classNameAllowedValues], - resize: ['none', resizeAllowedValues], - sizeAutoCapable: booleanTrueTemplate, - clipAlways: booleanTrueTemplate, - normalizeRTL: booleanTrueTemplate, - paddingAbsolute: booleanFalseTemplate, - autoUpdate: [null, booleanNullAllowedValues], - autoUpdateInterval: [33, numberAllowedValues], - updateOnLoad: [['img'], stringArrayNullAllowedValues], - nativeScrollbarsOverlaid: { - showNativeScrollbars: booleanFalseTemplate, - initialize: booleanFalseTemplate - }, - overflowBehavior: { - x: ['scroll', overflowBehaviorAllowedValues], - y: ['scroll', overflowBehaviorAllowedValues] - }, - scrollbars: { - visibility: ['auto', scrollbarsVisibilityAllowedValues], - autoHide: ['never', scrollbarsAutoHideAllowedValues], - autoHideDelay: [800, numberAllowedValues], - dragScrolling: booleanTrueTemplate, - clickScrolling: booleanFalseTemplate, - touchSupport: booleanTrueTemplate, - snapHandle: booleanFalseTemplate - }, - textarea: { - dynWidth: booleanFalseTemplate, - dynHeight: booleanFalseTemplate, - inheritedAttrs: [['style', 'class'], stringArrayNullAllowedValues], - }, - callbacks: { - onInitialized: callbackTemplate, - onInitializationWithdrawn: callbackTemplate, - onDestroyed: callbackTemplate, - onScrollStart: callbackTemplate, - onScroll: callbackTemplate, - onScrollStop: callbackTemplate, - onOverflowChanged: callbackTemplate, - onOverflowAmountChanged: callbackTemplate, - onDirectionChanged: callbackTemplate, - onContentSizeChanged: callbackTemplate, - onHostSizeChanged: callbackTemplate, - onUpdated: callbackTemplate - } - }; - function convert(optionsWithTemplateObj, toTemplate) { - const result = {}; - for (const key in optionsWithTemplateObj) { - if (optionsWithTemplateObj.hasOwnProperty(key)) { - const val = optionsWithTemplateObj[key]; - if (isArray(val)) - result[key] = val[toTemplate ? 1 : 0]; - else if (isObject(val)) - result[key] = convert(val, toTemplate); - } - } - return result; - } - const optionsTemplate = convert(defaultOptionsWithTemplate, true); - const defaultOptions = convert(defaultOptionsWithTemplate); - - const targets = new Set(); - const targetInstanceMap = new WeakMap(); - const addInstance = (target, osInstance) => { - targetInstanceMap.set(target, osInstance); - targets.add(target); - }; - const removeInstance = (target) => { - targetInstanceMap.delete(target); - targets.delete(target); - }; - const getInstance = (target) => { - return targetInstanceMap.get(target); - }; - const allInstances = () => { - const validTargetInstanceMap = new Map(); - targets.forEach((target) => { - if (targetInstanceMap.has(target)) { - validTargetInstanceMap.set(target, targetInstanceMap.get(target)); - } - }); - targets.clear(); - validTargetInstanceMap.forEach((instance, validTarget) => { - targets.add(validTarget); - }); - return validTargetInstanceMap; - }; - - window['hi'] = createDOM(`\ -
\ -
\ -
\ -
\ -
\ - fdfhdfgh\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
\ -
`); - - exports.addClass = addClass; - exports.addInstance = addInstance; - exports.allInstances = allInstances; - exports.appendChildren = appendChildren; - exports.attr = attr; - exports.children = children; - exports.conditionalClass = conditionalClass; - exports.contents = contents; - exports.createDOM = createDOM; - exports.createDiv = createDiv; - exports.cssPrefixes = cssPrefixes; - exports.cssProperty = cssProperty; - exports.cssPropertyValue = cssPropertyValue; - exports.defaultOptions = defaultOptions; - exports.each = each; - exports.extend = extend; - exports.find = find; - exports.findFirst = findFirst; - exports.getInstance = getInstance; - exports.hasClass = hasClass; - exports.hide = hide; - exports.indexOf = indexOf; - exports.insertAfter = insertAfter; - exports.insertBefore = insertBefore; - exports.is = is; - exports.isArray = isArray; - exports.isArrayLike = isArrayLike; - exports.isBoolean = isBoolean; - exports.isEmptyObject = isEmptyObject; - exports.isFunction = isFunction; - exports.isHTMLElement = isHTMLElement; - exports.isNull = isNull; - exports.isNumber = isNumber; - exports.isObject = isObject; - exports.isPlainObject = isPlainObject; - exports.isString = isString; - exports.isUndefined = isUndefined; - exports.jsAPI = jsAPI; - exports.jsPrefixes = jsPrefixes; - exports.mouseButton = mouseButton; - exports.offset = offset; - exports.optionsTemplate = optionsTemplate; - exports.optionsTemplateTypes = optionsTemplateTypes; - exports.parent = parent; - exports.position = position; - exports.prependChildren = prependChildren; - exports.removeAttr = removeAttr; - exports.removeClass = removeClass; - exports.removeElements = removeElements; - exports.removeInstance = removeInstance; - exports.resizeObserver = resizeObserver; - exports.scrollLeft = scrollLeft; - exports.scrollTop = scrollTop; - exports.show = show; - exports.style = style; - exports.type = type; - exports.val = val; - exports.validate = validate; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}))); -//# sourceMappingURL=index.bundle.js.map diff --git a/index.bundle.js.map b/index.bundle.js.map deleted file mode 100644 index 453ee38..0000000 --- a/index.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.bundle.js","sources":["dist/src/dom/attributes.js","dist/src/dom/classes.js","dist/src/utils/types.js","dist/src/utils/arrays.js","dist/src/utils/extend.js","dist/src/dom/traversal.js","dist/src/dom/manipulation.js","dist/src/dom/create.js","dist/src/dom/style.js","dist/src/dom/offset.js","dist/src/vendors.js","dist/src/compatibility.js","dist/src/options/validation.js","dist/src/options/template.js","dist/src/instances.js","dist/src/index.js"],"sourcesContent":["export const attr = (elm, attrName, value) => {\r\n if (value === undefined)\r\n return elm.getAttribute(attrName);\r\n elm.setAttribute(attrName, value);\r\n};\r\nexport const removeAttr = (elm, attrName) => {\r\n elm.removeAttribute(attrName);\r\n};\r\nexport const scrollLeft = (elm, value) => {\r\n if (value === undefined)\r\n return elm.scrollLeft;\r\n elm.scrollLeft = value;\r\n};\r\nexport const scrollTop = (elm, value) => {\r\n if (value === undefined)\r\n return elm.scrollTop;\r\n elm.scrollTop = value;\r\n};\r\nexport const val = (elm, value) => {\r\n if (value === undefined)\r\n return elm.value;\r\n elm.value = value;\r\n};\r\n//# sourceMappingURL=attributes.js.map","const rnothtmlwhite = (/[^\\x20\\t\\r\\n\\f]+/g);\r\nexport const hasClass = (elm, className) => {\r\n return elm.classList.contains(className);\r\n};\r\nexport const addClass = (elm, className) => {\r\n let clazz;\r\n let i = 0;\r\n if (className) {\r\n const classes = className.match(rnothtmlwhite) || [];\r\n while ((clazz = classes[i++]))\r\n elm.classList.add(clazz);\r\n }\r\n};\r\nexport const removeClass = (elm, className) => {\r\n let clazz;\r\n let i = 0;\r\n if (className) {\r\n const classes = className.match(rnothtmlwhite) || [];\r\n while ((clazz = classes[i++]))\r\n elm.classList.remove(clazz);\r\n }\r\n};\r\nexport const conditionalClass = (elm, className, condition) => {\r\n if (condition) {\r\n addClass(elm, className);\r\n }\r\n else {\r\n removeClass(elm, className);\r\n }\r\n};\r\n//# sourceMappingURL=classes.js.map","export const type = (obj) => {\r\n if (obj === undefined)\r\n return obj + '';\r\n if (obj === null)\r\n return obj + '';\r\n return Object.prototype.toString.call(obj).replace(/^\\[object (.+)\\]$/, '$1').toLowerCase();\r\n};\r\nexport function isNumber(obj) {\r\n return typeof obj === 'number';\r\n}\r\n;\r\nexport function isString(obj) {\r\n return typeof obj === 'string';\r\n}\r\nexport function isBoolean(obj) {\r\n return typeof obj === 'boolean';\r\n}\r\nexport function isObject(obj) {\r\n return typeof obj === 'object' && !isArray(obj) && !isNull(obj);\r\n}\r\nexport function isFunction(obj) {\r\n return typeof obj === 'function';\r\n}\r\nexport function isUndefined(obj) {\r\n return obj === undefined;\r\n}\r\nexport function isNull(obj) {\r\n return obj === null;\r\n}\r\nexport function isArray(obj) {\r\n return Array.isArray(obj);\r\n}\r\nexport function isArrayLike(obj) {\r\n const length = !!obj && obj.length;\r\n return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0);\r\n}\r\nexport function isPlainObject(obj) {\r\n if (!obj || !isObject(obj) || type(obj) !== 'object')\r\n return false;\r\n let key;\r\n const proto = 'prototype';\r\n const hasOwnProperty = Object[proto].hasOwnProperty;\r\n const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');\r\n const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');\r\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\r\n return false;\r\n }\r\n for (key in obj) { }\r\n return isUndefined(key) || hasOwnProperty.call(obj, key);\r\n}\r\n;\r\nexport function isHTMLElement(obj) {\r\n const strOwnerDocument = 'ownerDocument';\r\n const strHTMLElement = 'HTMLElement';\r\n const wnd = obj && obj[strOwnerDocument] ? (obj[strOwnerDocument].parentWindow || window) : window;\r\n return !!(isObject(wnd[strHTMLElement]) ? obj instanceof wnd[strHTMLElement] :\r\n obj && isObject(obj) && obj !== null && obj.nodeType === 1 && isString(obj.nodeName));\r\n}\r\nexport function isEmptyObject(obj) {\r\n for (let name in obj)\r\n return false;\r\n return true;\r\n}\r\n;\r\n//# sourceMappingURL=types.js.map","import { isArrayLike } from 'utils/types';\r\nexport function each(source, callback) {\r\n let i = 0;\r\n if (isArrayLike(source)) {\r\n for (; i < source.length; i++) {\r\n if (callback(source[i], i, source) === false)\r\n break;\r\n }\r\n }\r\n else if (source) {\r\n for (i in source) {\r\n if (callback(source[i], i, source) === false)\r\n break;\r\n }\r\n }\r\n return source;\r\n}\r\n;\r\nexport const indexOf = (arr, item, fromIndex) => {\r\n return arr.indexOf(item, fromIndex);\r\n};\r\n//# sourceMappingURL=arrays.js.map","import { isArray, isFunction, isPlainObject } from 'utils/types';\r\nimport { each } from 'utils/arrays';\r\nexport const extend = (target, ...sources) => {\r\n if (typeof target !== \"object\" && !isFunction(target)) {\r\n target = {};\r\n }\r\n each(sources, (source) => {\r\n if (source != null) {\r\n for (const name in source) {\r\n const copy = source[name];\r\n if (name === \"__proto__\" || target === copy) {\r\n continue;\r\n }\r\n const copyIsArray = isArray(copy);\r\n if (copy && (isPlainObject(copy) || copyIsArray)) {\r\n const src = target[name];\r\n let clone = src;\r\n if (copyIsArray && !isArray(src)) {\r\n clone = [];\r\n }\r\n else if (!copyIsArray && !isPlainObject(src)) {\r\n clone = {};\r\n }\r\n target[name] = extend(clone, copy);\r\n }\r\n else if (copy !== undefined) {\r\n target[name] = copy;\r\n }\r\n }\r\n }\r\n });\r\n return target;\r\n};\r\n//# sourceMappingURL=extend.js.map","import { each } from 'utils/arrays';\r\nconst matchesFallback = (elm, selector) => {\r\n var nodeList = (elm.parentNode || document).querySelectorAll(selector) || [];\r\n var i = nodeList.length;\r\n while (i--)\r\n if (nodeList[i] == elm)\r\n return true;\r\n return false;\r\n};\r\nconst matches = (elm, selector) => {\r\n return (elm.matches && elm.matches(selector)) || matchesFallback(elm, selector);\r\n};\r\nconst elementIsVisible = (elm) => {\r\n return !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);\r\n};\r\nexport const find = (selector, elm) => {\r\n const arr = [];\r\n each((elm || document).querySelectorAll(selector), (e) => {\r\n arr.push(e);\r\n });\r\n return arr;\r\n};\r\nexport const findFirst = (selector, elm) => {\r\n return (elm || document).querySelector(selector);\r\n};\r\nexport const is = (elm, selector) => {\r\n if (elm) {\r\n if (selector === ':visible')\r\n return elementIsVisible(elm);\r\n if (selector === ':hidden')\r\n return !elementIsVisible(elm);\r\n if (matches(elm, selector))\r\n return true;\r\n }\r\n return false;\r\n};\r\nexport const children = (elm, selector) => {\r\n const children = [];\r\n each(elm && elm.children, (child) => {\r\n if (selector) {\r\n if (matches(child, selector))\r\n children.push(child);\r\n }\r\n else\r\n children.push(child);\r\n });\r\n return children;\r\n};\r\nexport const contents = (elm) => {\r\n return elm ? Array.from(elm.childNodes) : [];\r\n};\r\nexport const parent = (elm) => elm ? elm.parentElement : null;\r\n//# sourceMappingURL=traversal.js.map","import { isArrayLike } from 'utils/types';\r\nimport { each } from 'utils/arrays';\r\nimport { parent } from 'dom/traversal';\r\nconst before = (parent, preferredAnchor, insertedElms) => {\r\n if (insertedElms) {\r\n let anchor = preferredAnchor;\r\n let fragment;\r\n if (!parent)\r\n return;\r\n if (isArrayLike(insertedElms)) {\r\n fragment = document.createDocumentFragment();\r\n each(insertedElms, (insertedElm) => {\r\n if (insertedElm === anchor) {\r\n anchor = insertedElm.previousSibling;\r\n }\r\n fragment.appendChild(insertedElm);\r\n });\r\n }\r\n else {\r\n fragment = insertedElms;\r\n }\r\n if (preferredAnchor) {\r\n if (!anchor) {\r\n anchor = parent.firstChild;\r\n }\r\n else if (anchor !== preferredAnchor) {\r\n anchor = anchor.nextSibling;\r\n }\r\n }\r\n parent.insertBefore(fragment, anchor);\r\n }\r\n};\r\nexport const appendChildren = (node, children) => { before(node, null, children); };\r\nexport const prependChildren = (node, children) => { before(node, node.firstChild, children); };\r\nexport const insertBefore = (node, insertedNodes) => { before(parent(node), node, insertedNodes); };\r\nexport const insertAfter = (node, insertedNodes) => { before(parent(node), node.nextSibling, insertedNodes); };\r\nexport const removeElements = (nodes) => {\r\n if (isArrayLike(nodes)) {\r\n each(Array.from(nodes), (e) => removeElements(e));\r\n }\r\n else if (nodes) {\r\n const parentNode = nodes.parentNode;\r\n if (parentNode)\r\n parentNode.removeChild(nodes);\r\n }\r\n};\r\n//# sourceMappingURL=manipulation.js.map","import { each } from 'utils';\r\nimport { contents } from 'dom/traversal';\r\nimport { removeElements } from 'dom/manipulation';\r\nexport const createDiv = () => {\r\n return document.createElement('div');\r\n};\r\nexport const createDOM = (html) => {\r\n const elm = createDiv();\r\n elm.innerHTML = html.trim();\r\n return each(contents(elm), (elm) => removeElements(elm));\r\n};\r\n//# sourceMappingURL=create.js.map","import { isString, isNumber, isUndefined } from 'utils/types';\r\nconst cssNumber = {\r\n animationIterationCount: true,\r\n columnCount: true,\r\n fillOpacity: true,\r\n flexGrow: true,\r\n flexShrink: true,\r\n fontWeight: true,\r\n lineHeight: true,\r\n opacity: true,\r\n order: true,\r\n orphans: true,\r\n widows: true,\r\n zIndex: true,\r\n zoom: true\r\n};\r\nconst setCSSVal = (elm, prop, val) => {\r\n try {\r\n if (elm.style[prop] !== undefined) {\r\n elm.style[prop] = parseCSSVal(prop, val);\r\n }\r\n }\r\n catch (e) { }\r\n};\r\nconst parseCSSVal = (prop, val) => {\r\n return !cssNumber[prop.toLowerCase()] && isNumber(val) ? val + 'px' : val;\r\n};\r\nexport function style(elm, styles, val) {\r\n const getCptStyle = window.getComputedStyle;\r\n if (isString(styles)) {\r\n if (isUndefined(val)) {\r\n const cptStyle = getCptStyle(elm, null);\r\n return cptStyle != null ? cptStyle.getPropertyValue(styles) : elm.style[styles];\r\n }\r\n else {\r\n setCSSVal(elm, styles, val);\r\n }\r\n }\r\n else {\r\n for (const key in styles)\r\n setCSSVal(elm, key, styles[key]);\r\n }\r\n}\r\nexport const hide = (elm) => {\r\n elm.style.display = 'none';\r\n};\r\nexport const show = (elm) => {\r\n elm.style.display = 'block';\r\n};\r\n//# sourceMappingURL=style.js.map","export const offset = (elm) => {\r\n const rect = elm.getBoundingClientRect();\r\n return {\r\n top: rect.top + window.pageXOffset,\r\n left: rect.left + window.pageYOffset\r\n };\r\n};\r\nexport const position = (elm) => {\r\n return {\r\n top: elm.offsetTop,\r\n left: elm.offsetLeft\r\n };\r\n};\r\n//# sourceMappingURL=offset.js.map","import { each } from 'utils';\r\nimport { createDiv } from 'dom';\r\nconst jsCache = {};\r\nconst cssCache = {};\r\nconst firstLetterToUpper = (str) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n};\r\nconst getDummyStyle = () => {\r\n return createDiv().style;\r\n};\r\nexport const cssPrefixes = ['-webkit-', '-moz-', '-o-', '-ms-'];\r\nexport const jsPrefixes = ['WebKit', 'Moz', 'O', 'MS', 'webkit', 'moz', 'o', 'ms'];\r\nexport const cssProperty = (name) => {\r\n let result = cssCache[name];\r\n if (cssCache.hasOwnProperty(name))\r\n return result;\r\n const uppercasedName = firstLetterToUpper(name);\r\n const elmStyle = getDummyStyle();\r\n each(cssPrefixes, (prefix) => {\r\n const prefixWithoutDashes = prefix.replace(/-/g, '');\r\n const resultPossibilities = [\r\n name,\r\n prefix + name,\r\n prefixWithoutDashes + uppercasedName,\r\n firstLetterToUpper(prefixWithoutDashes) + uppercasedName\r\n ];\r\n each(resultPossibilities, (resultPossibility) => {\r\n if (elmStyle[resultPossibility] !== undefined) {\r\n result = resultPossibility;\r\n return false;\r\n }\r\n });\r\n if (result) {\r\n return false;\r\n }\r\n });\r\n cssCache[name] = result;\r\n return result;\r\n};\r\nexport const cssPropertyValue = (property, values, suffix) => {\r\n const name = property + ' ' + values;\r\n let result = cssCache[name];\r\n if (cssCache.hasOwnProperty(name))\r\n return result;\r\n const dummyStyle = getDummyStyle();\r\n const possbleValues = values.split(' ');\r\n const preparedSuffix = suffix || '';\r\n const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes);\r\n each(possbleValues, (possibleValue) => {\r\n each(cssPrefixesWithFirstEmpty, (prefix) => {\r\n const prop = prefix + possibleValue;\r\n dummyStyle.cssText = property + ':' + prop + preparedSuffix;\r\n if (dummyStyle.length) {\r\n result = prop;\r\n return false;\r\n }\r\n });\r\n if (result) {\r\n return false;\r\n }\r\n });\r\n cssCache[name] = result;\r\n return result;\r\n};\r\nexport const jsAPI = (name) => {\r\n let result = jsCache[name];\r\n if (!jsCache.hasOwnProperty(name)) {\r\n result = window[name];\r\n each(jsPrefixes, (prefix) => {\r\n result = result || window[prefix + firstLetterToUpper(name)];\r\n if (result) {\r\n return false;\r\n }\r\n });\r\n }\r\n return result;\r\n};\r\n//# sourceMappingURL=vendors.js.map","import { jsAPI } from 'vendors';\r\nexport const resizeObserver = jsAPI('ResizeObserver');\r\nexport const mouseButton = (event) => {\r\n const button = event.button;\r\n if (!event.which && button !== undefined)\r\n return (button & 1 ? 1 : (button & 2 ? 3 : (button & 4 ? 2 : 0)));\r\n else\r\n return event.which;\r\n};\r\n//# sourceMappingURL=compatibility.js.map","import { each, indexOf } from 'utils/arrays';\r\nimport { type, isArray, isUndefined, isEmptyObject, isPlainObject, isString } from 'utils/types';\r\nconst templateTypePrefixSuffix = ['__TPL_', '_TYPE__'];\r\nconst optionsTemplateTypes = [\r\n 'boolean',\r\n 'number',\r\n 'string',\r\n 'array',\r\n 'object',\r\n 'function',\r\n 'null'\r\n].reduce((result, item) => {\r\n result[item] = templateTypePrefixSuffix[0] + item + templateTypePrefixSuffix[1];\r\n return result;\r\n}, {});\r\nconst validateInternal = function (options, template, optionsDiff, doWriteErrors, propPath) {\r\n const validatedOptions = {};\r\n const optionsCopy = Object.assign({}, options);\r\n for (const prop in template) {\r\n if (template.hasOwnProperty(prop) && options.hasOwnProperty(prop)) {\r\n const optionsDiffValue = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop];\r\n const optionsValue = optionsCopy[prop];\r\n const templateValue = template[prop];\r\n const templateIsComplex = isPlainObject(templateValue);\r\n const propPrefix = propPath ? propPath + '.' : '';\r\n if (templateIsComplex && isPlainObject(optionsValue)) {\r\n const validatedInternal = validateInternal(optionsValue, templateValue, optionsDiffValue, doWriteErrors, propPrefix + prop);\r\n validatedOptions[prop] = validatedInternal.validated;\r\n optionsCopy[prop] = validatedInternal.foreign;\r\n each([optionsCopy, validatedOptions], (value) => {\r\n if (isEmptyObject(value[prop])) {\r\n delete value[prop];\r\n }\r\n });\r\n }\r\n else if (!templateIsComplex) {\r\n let isValid = false;\r\n const errorEnumStrings = [];\r\n const errorPossibleTypes = [];\r\n const optionsValueType = type(optionsValue);\r\n const templateValueArr = !isArray(templateValue) ? [templateValue] : templateValue;\r\n each(templateValueArr, (currTemplateType) => {\r\n const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0;\r\n if (isEnumString && isString(optionsValue)) {\r\n const enumStringSplit = currTemplateType.split(' ');\r\n isValid = !!enumStringSplit.find(possibility => possibility === optionsValue);\r\n errorEnumStrings.push(...enumStringSplit);\r\n }\r\n else {\r\n isValid = optionsTemplateTypes[optionsValueType] === currTemplateType;\r\n }\r\n errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType);\r\n return !isValid;\r\n });\r\n if (isValid) {\r\n if (optionsValue !== optionsDiffValue) {\r\n validatedOptions[prop] = optionsValue;\r\n }\r\n }\r\n else if (doWriteErrors) {\r\n console.warn(`The option \"${propPrefix}${prop}\" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of \"${optionsValue}\".\\r\\n` +\r\n `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\\r\\n` +\r\n (errorEnumStrings.length > 0 ? `\\r\\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : ''));\r\n }\r\n }\r\n delete optionsCopy[prop];\r\n }\r\n }\r\n return {\r\n foreign: optionsCopy,\r\n validated: validatedOptions\r\n };\r\n};\r\nconst validate = function (options, template, optionsDiff, doWriteErrors) {\r\n const result = validateInternal(options, template, optionsDiff || {}, doWriteErrors || false);\r\n const foreign = result.foreign;\r\n if (!isEmptyObject(foreign) && doWriteErrors)\r\n console.warn(`The following options are discarded due to invalidity:\\r\\n ${window.JSON.stringify(foreign, null, 2)}`);\r\n return result.validated;\r\n};\r\nexport { validate, optionsTemplateTypes };\r\n//# sourceMappingURL=validation.js.map","import { optionsTemplateTypes as oTypes } from \"options/validation\";\r\nimport { isArray, isObject } from \"utils/types\";\r\nconst classNameAllowedValues = [oTypes.string, oTypes.null];\r\nconst numberAllowedValues = oTypes.number;\r\nconst booleanNullAllowedValues = [oTypes.boolean, oTypes.null];\r\nconst stringArrayNullAllowedValues = [oTypes.string, oTypes.array, oTypes.null];\r\nconst booleanTrueTemplate = [true, oTypes.boolean];\r\nconst booleanFalseTemplate = [false, oTypes.boolean];\r\nconst callbackTemplate = [null, [oTypes.function, oTypes.null]];\r\nconst resizeAllowedValues = 'none both horizontal vertical';\r\nconst overflowBehaviorAllowedValues = 'visible-hidden visible-scroll scroll hidden';\r\nconst scrollbarsVisibilityAllowedValues = 'visible hidden auto';\r\nconst scrollbarsAutoHideAllowedValues = 'never scroll leavemove';\r\nconst defaultOptionsWithTemplate = {\r\n className: ['os-theme-dark', classNameAllowedValues],\r\n resize: ['none', resizeAllowedValues],\r\n sizeAutoCapable: booleanTrueTemplate,\r\n clipAlways: booleanTrueTemplate,\r\n normalizeRTL: booleanTrueTemplate,\r\n paddingAbsolute: booleanFalseTemplate,\r\n autoUpdate: [null, booleanNullAllowedValues],\r\n autoUpdateInterval: [33, numberAllowedValues],\r\n updateOnLoad: [['img'], stringArrayNullAllowedValues],\r\n nativeScrollbarsOverlaid: {\r\n showNativeScrollbars: booleanFalseTemplate,\r\n initialize: booleanFalseTemplate\r\n },\r\n overflowBehavior: {\r\n x: ['scroll', overflowBehaviorAllowedValues],\r\n y: ['scroll', overflowBehaviorAllowedValues]\r\n },\r\n scrollbars: {\r\n visibility: ['auto', scrollbarsVisibilityAllowedValues],\r\n autoHide: ['never', scrollbarsAutoHideAllowedValues],\r\n autoHideDelay: [800, numberAllowedValues],\r\n dragScrolling: booleanTrueTemplate,\r\n clickScrolling: booleanFalseTemplate,\r\n touchSupport: booleanTrueTemplate,\r\n snapHandle: booleanFalseTemplate\r\n },\r\n textarea: {\r\n dynWidth: booleanFalseTemplate,\r\n dynHeight: booleanFalseTemplate,\r\n inheritedAttrs: [['style', 'class'], stringArrayNullAllowedValues],\r\n },\r\n callbacks: {\r\n onInitialized: callbackTemplate,\r\n onInitializationWithdrawn: callbackTemplate,\r\n onDestroyed: callbackTemplate,\r\n onScrollStart: callbackTemplate,\r\n onScroll: callbackTemplate,\r\n onScrollStop: callbackTemplate,\r\n onOverflowChanged: callbackTemplate,\r\n onOverflowAmountChanged: callbackTemplate,\r\n onDirectionChanged: callbackTemplate,\r\n onContentSizeChanged: callbackTemplate,\r\n onHostSizeChanged: callbackTemplate,\r\n onUpdated: callbackTemplate\r\n }\r\n};\r\nfunction convert(optionsWithTemplateObj, toTemplate) {\r\n const result = {};\r\n for (const key in optionsWithTemplateObj) {\r\n if (optionsWithTemplateObj.hasOwnProperty(key)) {\r\n const val = optionsWithTemplateObj[key];\r\n if (isArray(val))\r\n result[key] = val[toTemplate ? 1 : 0];\r\n else if (isObject(val))\r\n result[key] = convert(val, toTemplate);\r\n }\r\n }\r\n return result;\r\n}\r\n;\r\nexport const optionsTemplate = convert(defaultOptionsWithTemplate, true);\r\nexport const defaultOptions = convert(defaultOptionsWithTemplate);\r\n//# sourceMappingURL=template.js.map","const targets = new Set();\r\nconst targetInstanceMap = new WeakMap();\r\nexport const addInstance = (target, osInstance) => {\r\n targetInstanceMap.set(target, osInstance);\r\n targets.add(target);\r\n};\r\nexport const removeInstance = (target) => {\r\n targetInstanceMap.delete(target);\r\n targets.delete(target);\r\n};\r\nexport const getInstance = (target) => {\r\n return targetInstanceMap.get(target);\r\n};\r\nexport const allInstances = () => {\r\n const validTargetInstanceMap = new Map();\r\n targets.forEach((target) => {\r\n if (targetInstanceMap.has(target)) {\r\n validTargetInstanceMap.set(target, targetInstanceMap.get(target));\r\n }\r\n });\r\n targets.clear();\r\n validTargetInstanceMap.forEach((instance, validTarget) => {\r\n targets.add(validTarget);\r\n });\r\n return validTargetInstanceMap;\r\n};\r\n//# sourceMappingURL=instances.js.map","import { createDOM } from 'dom';\r\nexport * from 'compatibility';\r\nexport * from 'utils';\r\nexport * from 'dom';\r\nexport * from 'options';\r\nexport * from 'instances';\r\nexport * from 'vendors';\r\nwindow['hi'] = createDOM(`\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n fdfhdfgh\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
`);\r\n//# sourceMappingURL=index.js.map"],"names":["oTypes"],"mappings":";;;;;;AAAY,UAAC,IAAI,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,KAAK;IAC9C,IAAI,IAAI,KAAK,KAAK,SAAS;IAC3B,QAAQ,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtC,EAAE;AACU,UAAC,UAAU,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;IAC7C,IAAI,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,EAAE;AACU,UAAC,UAAU,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK;IAC1C,IAAI,IAAI,KAAK,KAAK,SAAS;IAC3B,QAAQ,OAAO,GAAG,CAAC,UAAU,CAAC;IAC9B,IAAI,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;IAC3B,EAAE;AACU,UAAC,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK;IACzC,IAAI,IAAI,KAAK,KAAK,SAAS;IAC3B,QAAQ,OAAO,GAAG,CAAC,SAAS,CAAC;IAC7B,IAAI,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;IAC1B,EAAE;AACU,UAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK;IACnC,IAAI,IAAI,KAAK,KAAK,SAAS;IAC3B,QAAQ,OAAO,GAAG,CAAC,KAAK,CAAC;IACzB,IAAI,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB;;ICtBA,MAAM,aAAa,IAAI,mBAAmB,CAAC,CAAC;AAC5C,AAAY,UAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK;IAC5C,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC;AACF,AAAY,UAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK;IAC5C,IAAI,IAAI,KAAK,CAAC;IACd,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,SAAS,EAAE;IACnB,QAAQ,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC7D,QAAQ,QAAQ,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACpC,YAAY,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,KAAK;IACL,CAAC,CAAC;AACF,AAAY,UAAC,WAAW,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK;IAC/C,IAAI,IAAI,KAAK,CAAC;IACd,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,SAAS,EAAE;IACnB,QAAQ,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC7D,QAAQ,QAAQ,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACpC,YAAY,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,KAAK;IACL,CAAC,CAAC;AACF,AAAY,UAAC,gBAAgB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,KAAK;IAC/D,IAAI,IAAI,SAAS,EAAE;IACnB,QAAQ,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjC,KAAK;IACL,SAAS;IACT,QAAQ,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpC,KAAK;IACL,CAAC;;AC7BW,UAAC,IAAI,GAAG,CAAC,GAAG,KAAK;IAC7B,IAAI,IAAI,GAAG,KAAK,SAAS;IACzB,QAAQ,OAAO,GAAG,GAAG,EAAE,CAAC;IACxB,IAAI,IAAI,GAAG,KAAK,IAAI;IACpB,QAAQ,OAAO,GAAG,GAAG,EAAE,CAAC;IACxB,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAChG,CAAC,CAAC;AACF,IAAO,SAAS,QAAQ,CAAC,GAAG,EAAE;IAC9B,IAAI,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;IACnC,CAAC;AACD,IACO,SAAS,QAAQ,CAAC,GAAG,EAAE;IAC9B,IAAI,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;IACnC,CAAC;AACD,IAAO,SAAS,SAAS,CAAC,GAAG,EAAE;IAC/B,IAAI,OAAO,OAAO,GAAG,KAAK,SAAS,CAAC;IACpC,CAAC;AACD,IAAO,SAAS,QAAQ,CAAC,GAAG,EAAE;IAC9B,IAAI,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;AACD,IAAO,SAAS,UAAU,CAAC,GAAG,EAAE;IAChC,IAAI,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC;IACrC,CAAC;AACD,IAAO,SAAS,WAAW,CAAC,GAAG,EAAE;IACjC,IAAI,OAAO,GAAG,KAAK,SAAS,CAAC;IAC7B,CAAC;AACD,IAAO,SAAS,MAAM,CAAC,GAAG,EAAE;IAC5B,IAAI,OAAO,GAAG,KAAK,IAAI,CAAC;IACxB,CAAC;AACD,IAAO,SAAS,OAAO,CAAC,GAAG,EAAE;IAC7B,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;AACD,IAAO,SAAS,WAAW,CAAC,GAAG,EAAE;IACjC,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;IACvC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,CAAC;AACD,IAAO,SAAS,aAAa,CAAC,GAAG,EAAE;IACnC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;IACxD,QAAQ,OAAO,KAAK,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC;IACZ,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC;IAC9B,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;IACxD,IAAI,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;IACvI,IAAI,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,EAAE;IACpE,QAAQ,OAAO,KAAK,CAAC;IACrB,KAAK;IACL,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG;IACxB,IAAI,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;AACD,IACO,SAAS,aAAa,CAAC,GAAG,EAAE;IACnC,IAAI,MAAM,gBAAgB,GAAG,eAAe,CAAC;IAC7C,IAAI,MAAM,cAAc,GAAG,aAAa,CAAC;IACzC,IAAI,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC;IACvG,IAAI,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,CAAC,cAAc,CAAC;IAChF,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9F,CAAC;AACD,IAAO,SAAS,aAAa,CAAC,GAAG,EAAE;IACnC,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG;IACxB,QAAQ,OAAO,KAAK,CAAC;IACrB,IAAI,OAAO,IAAI,CAAC;IAChB,CAAC;;IC7DM,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;IACvC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;IAC7B,QAAQ,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACvC,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK;IACxD,gBAAgB,MAAM;IACtB,SAAS;IACT,KAAK;IACL,SAAS,IAAI,MAAM,EAAE;IACrB,QAAQ,KAAK,CAAC,IAAI,MAAM,EAAE;IAC1B,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK;IACxD,gBAAgB,MAAM;IACtB,SAAS;IACT,KAAK;IACL,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;AACD,AACY,UAAC,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,KAAK;IACjD,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;;AClBW,UAAC,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,OAAO,KAAK;IAC9C,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;IAC3D,QAAQ,MAAM,GAAG,EAAE,CAAC;IACpB,KAAK;IACL,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK;IAC9B,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;IAC5B,YAAY,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;IACvC,gBAAgB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,gBAAgB,IAAI,IAAI,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI,EAAE;IAC7D,oBAAoB,SAAS;IAC7B,iBAAiB;IACjB,gBAAgB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,gBAAgB,IAAI,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE;IAClE,oBAAoB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,oBAAoB,IAAI,KAAK,GAAG,GAAG,CAAC;IACpC,oBAAoB,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IACtD,wBAAwB,KAAK,GAAG,EAAE,CAAC;IACnC,qBAAqB;IACrB,yBAAyB,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;IAClE,wBAAwB,KAAK,GAAG,EAAE,CAAC;IACnC,qBAAqB;IACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,iBAAiB;IACjB,qBAAqB,IAAI,IAAI,KAAK,SAAS,EAAE;IAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;IC/BD,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;IAC3C,IAAI,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjF,IAAI,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5B,IAAI,OAAO,CAAC,EAAE;IACd,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG;IAC9B,YAAY,OAAO,IAAI,CAAC;IACxB,IAAI,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpF,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,GAAG,KAAK;IAClC,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC,CAAC;AACF,AAAY,UAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK;IACvC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;IACnB,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK;IAC9D,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;AACF,AAAY,UAAC,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK;IAC5C,IAAI,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC;AACF,AAAY,UAAC,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;IACrC,IAAI,IAAI,GAAG,EAAE;IACb,QAAQ,IAAI,QAAQ,KAAK,UAAU;IACnC,YAAY,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,QAAQ,IAAI,QAAQ,KAAK,SAAS;IAClC,YAAY,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1C,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;IAClC,YAAY,OAAO,IAAI,CAAC;IACxB,KAAK;IACL,IAAI,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;AACF,AAAY,UAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;IAC3C,IAAI,MAAM,QAAQ,GAAG,EAAE,CAAC;IACxB,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK;IACzC,QAAQ,IAAI,QAAQ,EAAE;IACtB,YAAY,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;IACxC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,SAAS;IACT;IACA,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACF,AAAY,UAAC,QAAQ,GAAG,CAAC,GAAG,KAAK;IACjC,IAAI,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IACjD,CAAC,CAAC;AACF,AAAY,UAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,aAAa,GAAG,IAAI;;IChD7D,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,KAAK;IAC1D,IAAI,IAAI,YAAY,EAAE;IACtB,QAAQ,IAAI,MAAM,GAAG,eAAe,CAAC;IACrC,QAAQ,IAAI,QAAQ,CAAC;IACrB,QAAQ,IAAI,CAAC,MAAM;IACnB,YAAY,OAAO;IACnB,QAAQ,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE;IACvC,YAAY,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IACzD,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,KAAK;IAChD,gBAAgB,IAAI,WAAW,KAAK,MAAM,EAAE;IAC5C,oBAAoB,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC;IACzD,iBAAiB;IACjB,gBAAgB,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClD,aAAa,CAAC,CAAC;IACf,SAAS;IACT,aAAa;IACb,YAAY,QAAQ,GAAG,YAAY,CAAC;IACpC,SAAS;IACT,QAAQ,IAAI,eAAe,EAAE;IAC7B,YAAY,IAAI,CAAC,MAAM,EAAE;IACzB,gBAAgB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC3C,aAAa;IACb,iBAAiB,IAAI,MAAM,KAAK,eAAe,EAAE;IACjD,gBAAgB,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5C,aAAa;IACb,SAAS;IACT,QAAQ,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK;IACL,CAAC,CAAC;AACF,AAAY,UAAC,cAAc,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AACpF,AAAY,UAAC,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AAChG,AAAY,UAAC,YAAY,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;AACpG,AAAY,UAAC,WAAW,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;AAC/G,AAAY,UAAC,cAAc,GAAG,CAAC,KAAK,KAAK;IACzC,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;IAC5B,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,KAAK;IACL,SAAS,IAAI,KAAK,EAAE;IACpB,QAAQ,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC5C,QAAQ,IAAI,UAAU;IACtB,YAAY,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK;IACL,CAAC;;AC1CW,UAAC,SAAS,GAAG,MAAM;IAC/B,IAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC;AACF,AAAY,UAAC,SAAS,GAAG,CAAC,IAAI,KAAK;IACnC,IAAI,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAC5B,IAAI,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;;ICTD,MAAM,SAAS,GAAG;IAClB,IAAI,uBAAuB,EAAE,IAAI;IACjC,IAAI,WAAW,EAAE,IAAI;IACrB,IAAI,WAAW,EAAE,IAAI;IACrB,IAAI,QAAQ,EAAE,IAAI;IAClB,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,OAAO,EAAE,IAAI;IACjB,IAAI,KAAK,EAAE,IAAI;IACf,IAAI,OAAO,EAAE,IAAI;IACjB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI,IAAI,EAAE,IAAI;IACd,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK;IACtC,IAAI,IAAI;IACR,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;IAC3C,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrD,SAAS;IACT,KAAK;IACL,IAAI,OAAO,CAAC,EAAE,GAAG;IACjB,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK;IACnC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;IAC9E,CAAC,CAAC;AACF,IAAO,SAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACxC,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAChD,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;IAC1B,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE;IAC9B,YAAY,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpD,YAAY,OAAO,QAAQ,IAAI,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5F,SAAS;IACT,aAAa;IACb,YAAY,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,SAAS;IACT,KAAK;IACL,SAAS;IACT,QAAQ,KAAK,MAAM,GAAG,IAAI,MAAM;IAChC,YAAY,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK;IACL,CAAC;AACD,AAAY,UAAC,IAAI,GAAG,CAAC,GAAG,KAAK;IAC7B,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC/B,CAAC,CAAC;AACF,AAAY,UAAC,IAAI,GAAG,CAAC,GAAG,KAAK;IAC7B,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAChC,CAAC;;AChDW,UAAC,MAAM,GAAG,CAAC,GAAG,KAAK;IAC/B,IAAI,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAC7C,IAAI,OAAO;IACX,QAAQ,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW;IAC1C,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW;IAC5C,KAAK,CAAC;IACN,CAAC,CAAC;AACF,AAAY,UAAC,QAAQ,GAAG,CAAC,GAAG,KAAK;IACjC,IAAI,OAAO;IACX,QAAQ,GAAG,EAAE,GAAG,CAAC,SAAS;IAC1B,QAAQ,IAAI,EAAE,GAAG,CAAC,UAAU;IAC5B,KAAK,CAAC;IACN,CAAC;;ICVD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK;IACpC,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,MAAM;IAC5B,IAAI,OAAO,SAAS,EAAE,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC;AACF,AAAY,UAAC,WAAW,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAChE,AAAY,UAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACnF,AAAY,UAAC,WAAW,GAAG,CAAC,IAAI,KAAK;IACrC,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;IACrC,QAAQ,OAAO,MAAM,CAAC;IACtB,IAAI,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK;IAClC,QAAQ,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7D,QAAQ,MAAM,mBAAmB,GAAG;IACpC,YAAY,IAAI;IAChB,YAAY,MAAM,GAAG,IAAI;IACzB,YAAY,mBAAmB,GAAG,cAAc;IAChD,YAAY,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,cAAc;IACpE,SAAS,CAAC;IACV,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,KAAK;IACzD,YAAY,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,SAAS,EAAE;IAC3D,gBAAgB,MAAM,GAAG,iBAAiB,CAAC;IAC3C,gBAAgB,OAAO,KAAK,CAAC;IAC7B,aAAa;IACb,SAAS,CAAC,CAAC;IACX,QAAQ,IAAI,MAAM,EAAE;IACpB,YAAY,OAAO,KAAK,CAAC;IACzB,SAAS;IACT,KAAK,CAAC,CAAC;IACP,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC5B,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACF,AAAY,UAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK;IAC9D,IAAI,MAAM,IAAI,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC;IACzC,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;IACrC,QAAQ,OAAO,MAAM,CAAC;IACtB,IAAI,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACvC,IAAI,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,MAAM,cAAc,GAAG,MAAM,IAAI,EAAE,CAAC;IACxC,IAAI,MAAM,yBAAyB,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,KAAK;IAC3C,QAAQ,IAAI,CAAC,yBAAyB,EAAE,CAAC,MAAM,KAAK;IACpD,YAAY,MAAM,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC;IAChD,YAAY,UAAU,CAAC,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,cAAc,CAAC;IACxE,YAAY,IAAI,UAAU,CAAC,MAAM,EAAE;IACnC,gBAAgB,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,OAAO,KAAK,CAAC;IAC7B,aAAa;IACb,SAAS,CAAC,CAAC;IACX,QAAQ,IAAI,MAAM,EAAE;IACpB,YAAY,OAAO,KAAK,CAAC;IACzB,SAAS;IACT,KAAK,CAAC,CAAC;IACP,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC5B,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACF,AAAY,UAAC,KAAK,GAAG,CAAC,IAAI,KAAK;IAC/B,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;IACvC,QAAQ,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,KAAK;IACrC,YAAY,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,YAAY,IAAI,MAAM,EAAE;IACxB,gBAAgB,OAAO,KAAK,CAAC;IAC7B,aAAa;IACb,SAAS,CAAC,CAAC;IACX,KAAK;IACL,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AC3EW,UAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtD,AAAY,UAAC,WAAW,GAAG,CAAC,KAAK,KAAK;IACtC,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,KAAK,SAAS;IAC5C,QAAQ,QAAQ,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;IAC1E;IACA,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC;IAC3B,CAAC;;ICND,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,AAAK,UAAC,oBAAoB,GAAG;IAC7B,IAAI,SAAS;IACb,IAAI,QAAQ;IACZ,IAAI,QAAQ;IACZ,IAAI,OAAO;IACX,IAAI,QAAQ;IACZ,IAAI,UAAU;IACd,IAAI,MAAM;IACV,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK;IAC3B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;IACpF,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,gBAAgB,GAAG,UAAU,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC5F,IAAI,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAChC,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;IACjC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;IAC3E,YAAY,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7F,YAAY,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,YAAY,MAAM,iBAAiB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACnE,YAAY,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC;IAC9D,YAAY,IAAI,iBAAiB,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;IAClE,gBAAgB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;IAC5I,gBAAgB,gBAAgB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC;IACrE,gBAAgB,WAAW,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC;IAC9D,gBAAgB,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,KAAK,KAAK;IACjE,oBAAoB,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;IACpD,wBAAwB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,qBAAqB;IACrB,iBAAiB,CAAC,CAAC;IACnB,aAAa;IACb,iBAAiB,IAAI,CAAC,iBAAiB,EAAE;IACzC,gBAAgB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpC,gBAAgB,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5C,gBAAgB,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9C,gBAAgB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5D,gBAAgB,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;IACnG,gBAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,KAAK;IAC7D,oBAAoB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC5G,oBAAoB,IAAI,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE;IAChE,wBAAwB,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5E,wBAAwB,OAAO,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,YAAY,CAAC,CAAC;IACtG,wBAAwB,gBAAgB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAClE,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,OAAO,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,gBAAgB,CAAC;IAC9F,qBAAqB;IACrB,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;IAC3G,oBAAoB,OAAO,CAAC,OAAO,CAAC;IACpC,iBAAiB,CAAC,CAAC;IACnB,gBAAgB,IAAI,OAAO,EAAE;IAC7B,oBAAoB,IAAI,YAAY,KAAK,gBAAgB,EAAE;IAC3D,wBAAwB,gBAAgB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;IAC9D,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB,IAAI,aAAa,EAAE;IACxC,oBAAoB,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,mDAAmD,EAAE,gBAAgB,CAAC,WAAW,EAAE,CAAC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC;IAClM,wBAAwB,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;IACrG,yBAAyB,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3H,iBAAiB;IACjB,aAAa;IACb,YAAY,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS;IACT,KAAK;IACL,IAAI,OAAO;IACX,QAAQ,OAAO,EAAE,WAAW;IAC5B,QAAQ,SAAS,EAAE,gBAAgB;IACnC,KAAK,CAAC;IACN,CAAC,CAAC;AACF,AAAK,UAAC,QAAQ,GAAG,UAAU,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;IAC1E,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE,EAAE,aAAa,IAAI,KAAK,CAAC,CAAC;IAClG,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACnC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa;IAChD,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,2DAA2D,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC;IAC5B,CAAC;;IC7ED,MAAM,sBAAsB,GAAG,CAACA,oBAAM,CAAC,MAAM,EAAEA,oBAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAGA,oBAAM,CAAC,MAAM,CAAC;IAC1C,MAAM,wBAAwB,GAAG,CAACA,oBAAM,CAAC,OAAO,EAAEA,oBAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,4BAA4B,GAAG,CAACA,oBAAM,CAAC,MAAM,EAAEA,oBAAM,CAAC,KAAK,EAAEA,oBAAM,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAEA,oBAAM,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAEA,oBAAM,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAACA,oBAAM,CAAC,QAAQ,EAAEA,oBAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;IAC5D,MAAM,6BAA6B,GAAG,6CAA6C,CAAC;IACpF,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;IAChE,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;IACjE,MAAM,0BAA0B,GAAG;IACnC,IAAI,SAAS,EAAE,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACxD,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACzC,IAAI,eAAe,EAAE,mBAAmB;IACxC,IAAI,UAAU,EAAE,mBAAmB;IACnC,IAAI,YAAY,EAAE,mBAAmB;IACrC,IAAI,eAAe,EAAE,oBAAoB;IACzC,IAAI,UAAU,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC;IAChD,IAAI,kBAAkB,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC;IACjD,IAAI,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,4BAA4B,CAAC;IACzD,IAAI,wBAAwB,EAAE;IAC9B,QAAQ,oBAAoB,EAAE,oBAAoB;IAClD,QAAQ,UAAU,EAAE,oBAAoB;IACxC,KAAK;IACL,IAAI,gBAAgB,EAAE;IACtB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACpD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACpD,KAAK;IACL,IAAI,UAAU,EAAE;IAChB,QAAQ,UAAU,EAAE,CAAC,MAAM,EAAE,iCAAiC,CAAC;IAC/D,QAAQ,QAAQ,EAAE,CAAC,OAAO,EAAE,+BAA+B,CAAC;IAC5D,QAAQ,aAAa,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC;IACjD,QAAQ,aAAa,EAAE,mBAAmB;IAC1C,QAAQ,cAAc,EAAE,oBAAoB;IAC5C,QAAQ,YAAY,EAAE,mBAAmB;IACzC,QAAQ,UAAU,EAAE,oBAAoB;IACxC,KAAK;IACL,IAAI,QAAQ,EAAE;IACd,QAAQ,QAAQ,EAAE,oBAAoB;IACtC,QAAQ,SAAS,EAAE,oBAAoB;IACvC,QAAQ,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,4BAA4B,CAAC;IAC1E,KAAK;IACL,IAAI,SAAS,EAAE;IACf,QAAQ,aAAa,EAAE,gBAAgB;IACvC,QAAQ,yBAAyB,EAAE,gBAAgB;IACnD,QAAQ,WAAW,EAAE,gBAAgB;IACrC,QAAQ,aAAa,EAAE,gBAAgB;IACvC,QAAQ,QAAQ,EAAE,gBAAgB;IAClC,QAAQ,YAAY,EAAE,gBAAgB;IACtC,QAAQ,iBAAiB,EAAE,gBAAgB;IAC3C,QAAQ,uBAAuB,EAAE,gBAAgB;IACjD,QAAQ,kBAAkB,EAAE,gBAAgB;IAC5C,QAAQ,oBAAoB,EAAE,gBAAgB;IAC9C,QAAQ,iBAAiB,EAAE,gBAAgB;IAC3C,QAAQ,SAAS,EAAE,gBAAgB;IACnC,KAAK;IACL,CAAC,CAAC;IACF,SAAS,OAAO,CAAC,sBAAsB,EAAE,UAAU,EAAE;IACrD,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;IACtB,IAAI,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE;IAC9C,QAAQ,IAAI,sBAAsB,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;IACxD,YAAY,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACpD,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC;IAC5B,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,iBAAiB,IAAI,QAAQ,CAAC,GAAG,CAAC;IAClC,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACvD,SAAS;IACT,KAAK;IACL,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;AACD,AACY,UAAC,eAAe,GAAG,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;AACzE,AAAY,UAAC,cAAc,GAAG,OAAO,CAAC,0BAA0B,CAAC;;IC3EjE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAE,CAAC;AACxC,AAAY,UAAC,WAAW,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK;IACnD,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;AACF,AAAY,UAAC,cAAc,GAAG,CAAC,MAAM,KAAK;IAC1C,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC;AACF,AAAY,UAAC,WAAW,GAAG,CAAC,MAAM,KAAK;IACvC,IAAI,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC;AACF,AAAY,UAAC,YAAY,GAAG,MAAM;IAClC,IAAI,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;IAChC,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;IAC3C,YAAY,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,SAAS;IACT,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IACpB,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK;IAC9D,QAAQ,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,sBAAsB,CAAC;IAClC,CAAC;;IClBD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index e7ff12f..257f6ab 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,70 +2,13 @@ // https://jestjs.io/docs/en/configuration.html module.exports = { - // All imported modules in your tests should be mocked automatically - // automock: false, - - // Stop running tests after `n` failures - // bail: 0, - - // The directory where Jest should store its cached dependency information - // cacheDirectory: "C:\\Users\\Rene\\AppData\\Local\\Temp\\jest", - - // Automatically clear mock calls and instances between every test clearMocks: true, - - // Indicates whether the coverage information should be collected while executing the test collectCoverage: true, - - // An array of glob patterns indicating a set of files for which coverage information should be collected - // collectCoverageFrom: undefined, - - // The directory where Jest should output its coverage files coverageDirectory: "coverage", - - // An array of regexp pattern strings used to skip coverage collection - // coveragePathIgnorePatterns: [ - // "\\\\node_modules\\\\" - // ], - - // A list of reporter names that Jest uses when writing coverage reports - // coverageReporters: [ - // "json", - // "text", - // "lcov", - // "clover" - // ], - - // An object that configures minimum threshold enforcement for coverage results - // coverageThreshold: undefined, - - // A path to a custom dependency extractor - // dependencyExtractor: undefined, - - // Make calling deprecated APIs throw helpful error messages - // errorOnDeprecated: false, - - // Force coverage collection from ignored files using an array of glob patterns - // forceCoverageMatch: [], - - // A path to a module which exports an async function that is triggered once before all test suites - // globalSetup: undefined, - - // A path to a module which exports an async function that is triggered once after all test suites - // globalTeardown: undefined, - - // A set of global variables that need to be available in all test environments - // globals: {}, - - // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. - // maxWorkers: "50%", - - // An array of directory names to be searched recursively up from the requiring module's location moduleDirectories: [ - "node_modules", "./src" + "src", + "node_modules", ], - - // An array of file extensions your modules use moduleFileExtensions: [ "js", "json", @@ -74,112 +17,8 @@ module.exports = { "tsx", "node" ], - - // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module - // moduleNameMapper: {}, - - // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader - // modulePathIgnorePatterns: [], - - // Activates notifications for test results - // notify: false, - - // An enum that specifies notification mode. Requires { notify: true } - // notifyMode: "failure-change", - - // A preset that is used as a base for Jest's configuration - // preset: undefined, - - // Run tests from one or more projects - // projects: undefined, - - // Use this configuration option to add custom reporters to Jest - // reporters: undefined, - - // Automatically reset mock state between every test - // resetMocks: false, - - // Reset the module registry before running each individual test - // resetModules: false, - - // A path to a custom resolver - // resolver: undefined, - - // Automatically restore mock state between every test - // restoreMocks: false, - - // The root directory that Jest should scan for tests and modules within - // rootDir: undefined, - - // A list of paths to directories that Jest should use to search for files in - // roots: [ - // "" - // ], - - // Allows you to use a custom runner instead of Jest's default test runner - // runner: "jest-runner", - - // The paths to modules that run some code to configure or set up the testing environment before each test - // setupFiles: [], - - // A list of paths to modules that run some code to configure or set up the testing framework before each test - // setupFilesAfterEnv: [], - - // A list of paths to snapshot serializer modules Jest should use for snapshot testing - // snapshotSerializers: [], - - // The test environment that will be used for testing - // testEnvironment: "jest-environment-jsdom", - - // Options that will be passed to the testEnvironment - // testEnvironmentOptions: {}, - - // Adds a location field to test results - // testLocationInResults: false, - - // The glob patterns Jest uses to detect test files - // testMatch: [ - // "**/__tests__/**/*.[jt]s?(x)", - // "**/?(*.)+(spec|test).[tj]s?(x)" - // ], - - // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped testPathIgnorePatterns: [ "\\\\node_modules\\\\", "./dist" ], - - // The regexp pattern or array of patterns that Jest uses to detect test files - // testRegex: [], - - // This option allows the use of a custom results processor - // testResultsProcessor: undefined, - - // This option allows use of a custom test runner - // testRunner: "jasmine2", - - // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href - // testURL: "http://localhost", - - // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout" - // timers: "real", - - // A map from regular expressions to paths to transformers - // transform: undefined, - - // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation - // transformIgnorePatterns: [ - // "\\\\node_modules\\\\" - // ], - - // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them - // unmockedModulePathPatterns: undefined, - - // Indicates whether each individual test should be reported during the run verbose: true, - - // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode - // watchPathIgnorePatterns: [], - - // Whether to use watchman for file crawling - // watchman: true, -}; +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..031bf66 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9690 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.5.tgz", + "integrity": "sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" + } + }, + "@babel/core": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", + "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz", + "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==", + "dev": true, + "requires": { + "@babel/types": "^7.10.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", + "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", + "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", + "dev": true, + "requires": { + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz", + "integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz", + "integrity": "sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", + "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", + "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", + "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/node": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.10.5.tgz", + "integrity": "sha512-suosS7zZ2roj+fYVCnDuVezUbRc0sdoyF0Gj/1FzWxD4ebbGiBGtL5qyqHH4NO34B5m4vWWYWgyNhSsrqS8vwA==", + "dev": true, + "requires": { + "@babel/register": "^7.10.5", + "commander": "^4.0.1", + "core-js": "^3.2.1", + "lodash": "^4.17.19", + "node-environment-flags": "^1.0.5", + "regenerator-runtime": "^0.13.4", + "resolve": "^1.13.1", + "v8flags": "^3.1.1" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz", + "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz", + "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", + "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", + "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", + "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", + "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", + "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", + "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", + "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", + "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", + "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz", + "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", + "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", + "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz", + "integrity": "sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", + "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", + "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", + "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", + "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz", + "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz", + "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", + "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", + "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", + "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", + "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", + "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", + "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", + "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", + "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", + "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", + "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.10.5.tgz", + "integrity": "sha512-YCyYsFrrRMZ3qR7wRwtSSJovPG5vGyG4ZdcSAivGwTfoasMp3VOB/AKhohu3dFtmB4cCDcsndCSxGtrdliCsZQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", + "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz", + "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-async-generator-functions": "^7.10.4", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-dynamic-import": "^7.10.4", + "@babel/plugin-proposal-json-strings": "^7.10.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-numeric-separator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.10.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", + "@babel/plugin-proposal-optional-chaining": "^7.10.4", + "@babel/plugin-proposal-private-methods": "^7.10.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.10.4", + "@babel/plugin-transform-arrow-functions": "^7.10.4", + "@babel/plugin-transform-async-to-generator": "^7.10.4", + "@babel/plugin-transform-block-scoped-functions": "^7.10.4", + "@babel/plugin-transform-block-scoping": "^7.10.4", + "@babel/plugin-transform-classes": "^7.10.4", + "@babel/plugin-transform-computed-properties": "^7.10.4", + "@babel/plugin-transform-destructuring": "^7.10.4", + "@babel/plugin-transform-dotall-regex": "^7.10.4", + "@babel/plugin-transform-duplicate-keys": "^7.10.4", + "@babel/plugin-transform-exponentiation-operator": "^7.10.4", + "@babel/plugin-transform-for-of": "^7.10.4", + "@babel/plugin-transform-function-name": "^7.10.4", + "@babel/plugin-transform-literals": "^7.10.4", + "@babel/plugin-transform-member-expression-literals": "^7.10.4", + "@babel/plugin-transform-modules-amd": "^7.10.4", + "@babel/plugin-transform-modules-commonjs": "^7.10.4", + "@babel/plugin-transform-modules-systemjs": "^7.10.4", + "@babel/plugin-transform-modules-umd": "^7.10.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", + "@babel/plugin-transform-new-target": "^7.10.4", + "@babel/plugin-transform-object-super": "^7.10.4", + "@babel/plugin-transform-parameters": "^7.10.4", + "@babel/plugin-transform-property-literals": "^7.10.4", + "@babel/plugin-transform-regenerator": "^7.10.4", + "@babel/plugin-transform-reserved-words": "^7.10.4", + "@babel/plugin-transform-shorthand-properties": "^7.10.4", + "@babel/plugin-transform-spread": "^7.10.4", + "@babel/plugin-transform-sticky-regex": "^7.10.4", + "@babel/plugin-transform-template-literals": "^7.10.4", + "@babel/plugin-transform-typeof-symbol": "^7.10.4", + "@babel/plugin-transform-unicode-escapes": "^7.10.4", + "@babel/plugin-transform-unicode-regex": "^7.10.4", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.4", + "browserslist": "^4.12.0", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.10.4.tgz", + "integrity": "sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.10.4" + } + }, + "@babel/register": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.10.5.tgz", + "integrity": "sha512-eYHdLv43nyvmPn9bfNfrcC4+iYNwdQ8Pxk1MFJuU/U5LpSYl/PH4dFMazCYZDFVi8ueG3shvO+AQfLrxpYulQw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.19", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz", + "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz", + "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz", + "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, + "@jest/console": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.1.0.tgz", + "integrity": "sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "jest-message-util": "^26.1.0", + "jest-util": "^26.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.1.0.tgz", + "integrity": "sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/reporters": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.1.0", + "jest-config": "^26.1.0", + "jest-haste-map": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.1.0", + "jest-resolve-dependencies": "^26.1.0", + "jest-runner": "^26.1.0", + "jest-runtime": "^26.1.0", + "jest-snapshot": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "jest-watcher": "^26.1.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.1.0.tgz", + "integrity": "sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.1.0", + "@jest/types": "^26.1.0", + "jest-mock": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/fake-timers": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.1.0.tgz", + "integrity": "sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "@sinonjs/fake-timers": "^6.0.1", + "jest-message-util": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-util": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/globals": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.1.0.tgz", + "integrity": "sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw==", + "dev": true, + "requires": { + "@jest/environment": "^26.1.0", + "@jest/types": "^26.1.0", + "expect": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/reporters": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.1.0.tgz", + "integrity": "sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.1.0", + "jest-resolve": "^26.1.0", + "jest-util": "^26.1.0", + "jest-worker": "^26.1.0", + "node-notifier": "^7.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.1.0.tgz", + "integrity": "sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/test-result": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.1.0.tgz", + "integrity": "sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/types": "^26.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/test-sequencer": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz", + "integrity": "sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q==", + "dev": true, + "requires": { + "@jest/test-result": "^26.1.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.1.0", + "jest-runner": "^26.1.0", + "jest-runtime": "^26.1.0" + } + }, + "@jest/transform": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.1.0.tgz", + "integrity": "sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.1.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.1.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@npmcli/move-file": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", + "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4" + } + }, + "@rollup/plugin-node-resolve": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz", + "integrity": "sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deep-freeze": "^0.0.1", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-typescript": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-4.1.2.tgz", + "integrity": "sha512-+7UlGat/99e2JbmGNnIauxwEhYLwrL7adO/tSJxUN57xrrS3Ps+ZzYpLCDGPZJ57j+ZJTZLLN89KXW9JMEB+jg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.1", + "resolve": "^1.14.1" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", + "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz", + "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", + "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", + "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "dev": true, + "requires": { + "jest-diff": "^25.2.1", + "pretty-format": "^25.2.1" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/prettier": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.0.2.tgz", + "integrity": "sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA==", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", + "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.3.tgz", + "integrity": "sha512-KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack": { + "version": "4.41.21", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.21.tgz", + "integrity": "sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA==", + "dev": true, + "requires": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack-sources": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-1.4.0.tgz", + "integrity": "sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "dev": true + }, + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.1.tgz", + "integrity": "sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", + "dev": true + }, + "babel-jest": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.1.0.tgz", + "integrity": "sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg==", + "dev": true, + "requires": { + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.1.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz", + "integrity": "sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", + "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz", + "integrity": "sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.1.0", + "babel-preset-current-node-syntax": "^0.1.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "dev": true + }, + "cacache": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001102", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001102.tgz", + "integrity": "sha512-fOjqRmHjRXv1H1YD6QVLb96iKqnu17TjcLSaX64TwhGYed0P1E1CCWZ9OujbbK4Z/7zax7zAzvQidzdtjx8RcA==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + } + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "clean-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", + "dev": true, + "requires": { + "@types/webpack": "^4.4.31", + "del": "^4.1.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "dev": true + }, + "core-js-compat": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decimal.js": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz", + "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-freeze": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz", + "integrity": "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.3.500", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.500.tgz", + "integrity": "sha512-Zz8BZh4Ssb/rZBaicqpi+GOQ0uu3y+24+MxBLCk0UYt8EGoZRP4cYzYHHwXGZfrSbCU4VDjbWN+Tg+TPgOUX6Q==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz", + "integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "expect": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.1.0.tgz", + "integrity": "sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.0.0", + "jest-matcher-utils": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "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.0.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" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "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.0.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" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.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" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.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" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true, + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.1.0.tgz", + "integrity": "sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw==", + "dev": true, + "requires": { + "@jest/core": "^26.1.0", + "import-local": "^3.0.2", + "jest-cli": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-cli": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.1.0.tgz", + "integrity": "sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw==", + "dev": true, + "requires": { + "@jest/core": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "prompts": "^2.0.1", + "yargs": "^15.3.1" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-changed-files": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.1.0.tgz", + "integrity": "sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", + "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.1.0.tgz", + "integrity": "sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.1.0", + "@jest/types": "^26.1.0", + "babel-jest": "^26.1.0", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.1.0", + "jest-environment-node": "^26.1.0", + "jest-get-type": "^26.0.0", + "jest-jasmine2": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "micromatch": "^4.0.2", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.1.0.tgz", + "integrity": "sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.0.0", + "jest-util": "^26.1.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz", + "integrity": "sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw==", + "dev": true, + "requires": { + "@jest/environment": "^26.1.0", + "@jest/fake-timers": "^26.1.0", + "@jest/types": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-util": "^26.1.0", + "jsdom": "^16.2.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-node": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.1.0.tgz", + "integrity": "sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg==", + "dev": true, + "requires": { + "@jest/environment": "^26.1.0", + "@jest/fake-timers": "^26.1.0", + "@jest/types": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-util": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.1.0.tgz", + "integrity": "sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-serializer": "^26.1.0", + "jest-util": "^26.1.0", + "jest-worker": "^26.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-jasmine2": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz", + "integrity": "sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.1.0", + "@jest/source-map": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.1.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.1.0", + "jest-matcher-utils": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-runtime": "^26.1.0", + "jest-snapshot": "^26.1.0", + "jest-util": "^26.1.0", + "pretty-format": "^26.1.0", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz", + "integrity": "sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw==", + "dev": true, + "requires": { + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-matcher-utils": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz", + "integrity": "sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.1.0", + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "diff-sequences": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz", + "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-diff": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz", + "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.0.0", + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + } + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.1.0.tgz", + "integrity": "sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.1.0.tgz", + "integrity": "sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.1.0.tgz", + "integrity": "sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "jest-util": "^26.1.0", + "read-pkg-up": "^7.0.1", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz", + "integrity": "sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runner": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.1.0.tgz", + "integrity": "sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/environment": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.1.0", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.1.0", + "jest-jasmine2": "^26.1.0", + "jest-leak-detector": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-resolve": "^26.1.0", + "jest-runtime": "^26.1.0", + "jest-util": "^26.1.0", + "jest-worker": "^26.1.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.1.0.tgz", + "integrity": "sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA==", + "dev": true, + "requires": { + "@jest/console": "^26.1.0", + "@jest/environment": "^26.1.0", + "@jest/fake-timers": "^26.1.0", + "@jest/globals": "^26.1.0", + "@jest/source-map": "^26.1.0", + "@jest/test-result": "^26.1.0", + "@jest/transform": "^26.1.0", + "@jest/types": "^26.1.0", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.1.0", + "jest-haste-map": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-mock": "^26.1.0", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.1.0", + "jest-snapshot": "^26.1.0", + "jest-util": "^26.1.0", + "jest-validate": "^26.1.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.1.0.tgz", + "integrity": "sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.1.0.tgz", + "integrity": "sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.1.0", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.1.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.1.0", + "jest-get-type": "^26.0.0", + "jest-haste-map": "^26.1.0", + "jest-matcher-utils": "^26.1.0", + "jest-message-util": "^26.1.0", + "jest-resolve": "^26.1.0", + "natural-compare": "^1.4.0", + "pretty-format": "^26.1.0", + "semver": "^7.3.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "diff-sequences": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz", + "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-diff": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz", + "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.0.0", + "jest-get-type": "^26.0.0", + "pretty-format": "^26.1.0" + } + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.1.0.tgz", + "integrity": "sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.1.0.tgz", + "integrity": "sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.0.0", + "leven": "^3.1.0", + "pretty-format": "^26.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz", + "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz", + "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==", + "dev": true + }, + "pretty-format": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz", + "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==", + "dev": true, + "requires": { + "@jest/types": "^26.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.1.0.tgz", + "integrity": "sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.1.0", + "@jest/types": "^26.1.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.1.0", + "string-length": "^4.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz", + "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz", + "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.3.0.tgz", + "integrity": "sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-runner": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.0.0.tgz", + "integrity": "sha512-Rqf48ufrr48gFjnaqss04QesoXB7VenbpFFIV/0yOKGnpbejrVlOPqTsoX42FG5goXM5Ixekcs4DqDzHOX2z7Q==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", + "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-7.0.1.tgz", + "integrity": "sha512-VkzhierE7DBmQEElhTGJIoiZa1oqRijOtgOlsXg32KrJRXsPy0NXFBqWGW/wTswnJlDCs5viRYaqWguqzsKcmg==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^7.2.1", + "shellwords": "^0.1.1", + "uuid": "^7.0.3", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "optional": true + } + } + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", + "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "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" + } + } + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "p-each-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prompts": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "dev": true, + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "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.0.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" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "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" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", + "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stack-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", + "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.0", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.7.tgz", + "integrity": "sha512-5JqibUOctE6Ou4T00IVGYTQJBOhu24jz0PpqYeitQJJ3hlZY2ZKSwzzuqjmBH8MzbdWMgIefpmHwTkvwm6Q4CQ==", + "dev": true, + "requires": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.1.0", + "p-limit": "^3.0.2", + "schema-utils": "^2.6.6", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.8.0", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "p-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.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" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "ts-loader": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.0.1.tgz", + "integrity": "sha512-I9Nmly0ufJoZRMuAT9d5ijsC2B7oSPvUnOJt/GhgoATlPGYfa17VicDKPcqwUCrHpOkCxr/ybLYwbnS4cOxmvQ==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "tslib": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", + "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", + "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "watchpack": { + "version": "2.0.0-beta.13", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.0-beta.13.tgz", + "integrity": "sha512-ZEFq2mx/k5qgQwgi6NOm+2ImICb8ngAkA/rZ6oyXZ7SgPn3pncf+nfhYTCrs3lmHwOxnPtGLTOuFLfpSMh1VMA==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "webpack": { + "version": "5.0.0-beta.22", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.0.0-beta.22.tgz", + "integrity": "sha512-t3HnQPy88PASM2ur0rvUXau8vAz287BlH8DpiaHoWkjlLThLx7olzExtTsVJEFen/9uTfWOV21dWS8kiYmGLkA==", + "dev": true, + "requires": { + "@types/estree": "^0.0.45", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^7.3.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "5.0.0-beta.8", + "eslint-scope": "^5.0.0", + "events": "^3.0.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.15", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.0.0", + "mime-types": "^2.1.26", + "neo-async": "^2.6.1", + "pkg-dir": "^4.2.0", + "schema-utils": "^2.5.0", + "tapable": "^2.0.0-beta.10", + "terser-webpack-plugin": "^3.0.2", + "watchpack": "2.0.0-beta.13", + "webpack-sources": "2.0.0-beta.8" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.0.0-beta.8", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.0.0-beta.8.tgz", + "integrity": "sha512-6MteIR5h29V8UAsBVXkW7P2cAf+5p/c+Gu79xNCpBPt+hgKcJ0vujcX4vAiMGJjyq3SCHaY5N64C8HXwwRS3gQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "tapable": "^2.0.0-beta.10" + } + }, + "tapable": { + "version": "2.0.0-beta.11", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.0.0-beta.11.tgz", + "integrity": "sha512-cAhRzCvMdyJsxmdrSXG8/SUlJG4WJUxD/csuYAybUFjKVt74Y6pTyZ/I1ZK+enmCkWZN0JWxh14G69temaGSiA==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-merge": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.0.9.tgz", + "integrity": "sha512-P4teh6O26xIDPugOGX61wPxaeP918QOMjmzhu54zTVcLtOS28ffPWtnv+ilt3wscwBUCL2WNMnh97XkrKqt9Fw==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "2.0.0-beta.8", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.0.0-beta.8.tgz", + "integrity": "sha512-RUaCJu7HYNeuzlY4WYcArcnOzMIj7kHndQ4pBdgP3iiMpG3Ke0BWY5wvb/VEFgsIXp3ZzPGRECwX+4fgpcKFYw==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz", + "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/package.json b/package.json index 23ac6d0..4256c52 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,11 @@ { - "name": "OverlayScrollbars", - "description": "OverlayScrollbars version 2", - "version": "0.0.1", + "private": true, + "workspaces": [ + "packages/*" + ], "devDependencies": { "@babel/core": "^7.9.6", + "@babel/node": "^7.10.5", "@babel/plugin-transform-modules-commonjs": "^7.9.6", "@babel/preset-env": "^7.9.6", "@babel/preset-typescript": "^7.9.0", @@ -11,14 +13,18 @@ "@rollup/plugin-typescript": "^4.1.2", "@types/jest": "^25.2.3", "babel-jest": "^26.0.1", + "clean-webpack-plugin": "^3.0.0", "jest": "^26.0.1", - "rollup": "^1.21.4", + "terser-webpack-plugin": "^3.0.7", + "ts-loader": "^8.0.1", "tslib": "^2.0.0", - "typescript": "^3.9.3" + "typescript": "^3.9.3", + "webpack": "next", + "webpack-cli": "^3.3.12", + "webpack-merge": "^5.0.9" }, "scripts": { - "build": "tsc && rollup -c", - "prepare": "npm run build", - "test": "jest --coverage" + "test": "jest --coverage", + "build": "npx webpack --env.project=overlayscrollbars --env.production" } } \ No newline at end of file diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.esm.js b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js new file mode 100644 index 0000000..9f1d740 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js @@ -0,0 +1,62 @@ +!function(o, r) { + "object" == typeof exports && "object" == typeof module ? module.exports = r() : "function" == typeof define && define.amd ? define([], r) : "object" == typeof exports ? exports.OverlayScrollbars = r() : o.OverlayScrollbars = r(); +}(window, (function() { + return (() => { + "use strict"; + var o = { + 95: (o, r, e) => { + e.d(r, { + default: () => u + }); + function s(o) { + return "function" == typeof o; + } + function t(o) { + return Array.isArray(o); + } + function n(o) { + const r = !!o && o.length; + return t(o) || !s(o) && function(o) { + return "number" == typeof o; + }(r) && r > -1 && r % 1 == 0; + } + function i(o, r) { + let e = 0; + if (n(o)) for (;e < o.length && !1 !== r(o[e], e, o); e++) ; else if (o) for (e in o) if (!1 === r(o[e], e, o)) break; + return o; + } + const c = o => { + if (n(o)) i(Array.from(o), o => c(o)); else if (o) { + const r = o.parentNode; + r && r.removeChild(o); + } + }, l = o => { + const r = document.createElement("div"); + return r.innerHTML = o.trim(), i((o => o ? Array.from(o.childNodes) : [])(r), o => c(o)); + }; + const a = o => o.charAt(0).toUpperCase() + o.slice(1), d = [ "WebKit", "Moz", "O", "MS", "webkit", "moz", "o", "ms" ], f = {}, v = ((o => { + let r = f[o] || window[o]; + f.hasOwnProperty(o) || (i(d, e => (r = r || window[e + a(o)], !r)), f[o] = r); + })("ResizeObserver"), JSON.stringify, [ "__TPL_", "_TYPE__" ]); + [ "boolean", "number", "string", "array", "object", "function", "null" ].reduce((o, r) => (o[r] = v[0] + r + v[1], + o), {}); + new Set, new WeakMap; + const u = () => l('
fdfhdfgh
'); + } + }, r = {}; + function e(s) { + if (r[s]) return r[s].exports; + var t = r[s] = { + exports: {} + }; + return o[s](t, t.exports, e), t.exports; + } + return e.d = (o, r) => { + for (var s in r) e.o(r, s) && !e.o(o, s) && Object.defineProperty(o, s, { + enumerable: !0, + get: r[s] + }); + }, e.o = (o, r) => Object.prototype.hasOwnProperty.call(o, r), e(95); + })().default; +})); +//# sourceMappingURL=overlayscrollbars.esm.js.map \ No newline at end of file diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.esm.js.map b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js.map new file mode 100644 index 0000000..4da5fb6 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.esm.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://OverlayScrollbars/webpack/universalModuleDefinition","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/utils/types.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/utils/arrays.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/dom/manipulation.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/dom/create.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/dom/traversal.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/compatibility/vendors.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/options/validation.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/compatibility/apis.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/instances.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/index.ts","webpack://OverlayScrollbars/webpack/bootstrap","webpack://OverlayScrollbars/webpack/startup","webpack://OverlayScrollbars/webpack/runtime/define property getters","webpack://OverlayScrollbars/webpack/runtime/hasOwnProperty shorthand"],"names":["root","factory","exports","module","define","amd","window","isFunction","obj","isArray","Array","isArrayLike","length","isNumber","each","source","callback","i","removeElements","nodes","from","e","parentNode","removeChild","createDOM","html","elm","document","createElement","innerHTML","trim","childNodes","contents","firstLetterToUpper","str","charAt","toUpperCase","slice","jsPrefixes","jsCache","templateTypePrefixSuffix","name","result","hasOwnProperty","prefix","jsAPI","JSON","stringify","reduce","item","Set","WeakMap","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","prop","prototype","call"],"mappings":"CAAA,SAA2CA,GAAMC;IAC1B,mBAAZC,WAA0C,mBAAXC,SACxCA,OAAOD,UAAUD,MACQ,qBAAXG,UAAyBA,OAAOC,MAC9CD,OAAO,IAAIH,KACe,mBAAZC,UACdA,QAA2B,oBAAID,MAE/BD,EAAwB,oBAAIC;CAR9B,CASGK,SAAQ;IACX,O;;;;;;;gBCgBO,SAASC,EAAWC;oBACvB,OAAsB,qBAARA;;gBAWX,SAASC,EAAQD;oBACpB,OAAOE,MAAMD,QAAQD;;gBAQlB,SAASG,EAAyCH;oBACrD,MAAMI,MAAWJ,KAAOA,EAAII;oBAC5B,OAAOH,EAAQD,OAAUD,EAAWC,MAvCjC,SAAkBA;wBACrB,OAAsB,mBAARA;qBAsC8BK,CAASD,MAAWA,KAAU,KAAKA,IAAS,KAAK;;gBChC1F,SAASE,EAAQC,GAA2CC;oBAC/D,IAAIC,IAAqB;oBAEzB,IAAIN,EAAYI,IACZ,MAAOE,IAAIF,EAAOH,WACyB,MAAnCI,EAASD,EAAOE,IAAIA,GAAGF,IADLE,YAKzB,IAAIF,GACL,KAAKE,KAAKF,GACN,KAAuC,MAAnCC,EAASD,EAAOE,IAAIA,GAAGF,IACvB;oBAGZ,OAAOA;;gBASJ,MCwCMG,IAAmDC;oBAC5D,IAAIR,EAAYQ,IACZL,EAAKJ,MAAMU,KAAKD,IAASE,KAAMH,EAAeG,UAE7C,IAAIF,GAAO;wBACZ,MAAMG,IAAaH,EAAMG;wBACrBA,KACAA,EAAWC,YAAYJ;;mBChFtBK,IAAoDC;oBAC7D,MAAMC,IAJCC,SAASC,cAAc;oBAO9B,OAFAF,EAAIG,YAAYJ,EAAKK,QAEdhB,ECmCgE,CAACY,KACjEA,IAAMhB,MAAMU,KAAgBM,EAAIK,cAAc,GDpCzCC,CAASN,IAAOA,KAAQR,EAAeQ;;gBETvD,MAAMO,IAA+CC,KAC1CA,EAAIC,OAAO,GAAGC,gBAAgBF,EAAIG,MAAM,IAStCC,IAAoC,EAAC,UAAU,OAAO,KAAK,MAAM,UAAU,OAAO,KAAK,QAEvFC,IAAkC,ICNzCC,KD4EsC,CAACC;oBACzC,IAAIC,IAAcH,EAAQE,MAASnC,OAAOmC;oBAEtCF,EAAQI,eAAeF,OAG3B3B,EAAKwB,GAAaM,MACdF,IAASA,KAAUpC,OAAOsC,IAASX,EAAmBQ,MAC9CC,KAGZH,EAAQE,KAAQC;kBE9F2BG,CAAM,mBDEnCC,KAAKC,WAKqC,EAAC,UAAU;gBAMV,EACzD,WACA,UACA,UACA,SACA,UACA,YACA,SACFC,OAAO,CAACN,GAAQO,OACdP,EAAOO,KAAQT,EAAyB,KAAKS,IAAOT,EAAyB;gBACtEE,IACR;gBE1B2B,IAAIQ,KACe,IAAIC;gBADrD,MCWA,UAAqB3B,EAAU;;WCV3B4B,IAA2B;QAG/B,SAASC,EAAoBC;YAE5B,IAAGF,EAAyBE,IAC3B,OAAOF,EAAyBE,GAAUpD;YAG3C,IAAIC,IAASiD,EAAyBE,KAAY;gBAGjDpD,SAAS;;YAOV,OAHAqD,EAAoBD,GAAUnD,GAAQA,EAAOD,SAASmD,IAG/ClD,EAAOD;;QCjBf,OCFAmD,EAAoBG,IAAI,CAACtD,GAASuD;YACjC,KAAI,IAAIC,KAAOD,GACXJ,EAAoBM,EAAEF,GAAYC,OAASL,EAAoBM,EAAEzD,GAASwD,MAC5EE,OAAOC,eAAe3D,GAASwD,GAAK;gBAAEI,aAAY;gBAAMC,KAAKN,EAAWC;;WCJ3EL,EAAoBM,IAAI,CAACnD,GAAKwD,MAASJ,OAAOK,UAAUtB,eAAeuB,KAAK1D,GAAKwD,IFG1EX,EAAoB","file":"overlayscrollbars.esm.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OverlayScrollbars\"] = factory();\n\telse\n\t\troot[\"OverlayScrollbars\"] = factory();\n})(window, function() {\nreturn ","import { PlainObject } from 'core/typings';\r\n\r\nexport const type: (obj: any) => string = (obj) => {\r\n if (obj === undefined)\r\n return obj + '';\r\n if (obj === null)\r\n return obj + '';\r\n return Object.prototype.toString.call(obj).replace(/^\\[object (.+)\\]$/, '$1').toLowerCase();\r\n}\r\n\r\nexport function isNumber(obj: any): obj is number {\r\n return typeof obj === 'number';\r\n};\r\n\r\nexport function isString(obj: any): obj is string {\r\n return typeof obj === 'string';\r\n}\r\n\r\nexport function isBoolean(obj: any): obj is boolean {\r\n return typeof obj === 'boolean';\r\n}\r\n\r\nexport function isObject(obj: any): boolean {\r\n return typeof obj === 'object' && !isArray(obj) && !isNull(obj);\r\n}\r\n\r\nexport function isFunction(obj: any): obj is Function {\r\n return typeof obj === 'function';\r\n}\r\n\r\nexport function isUndefined(obj: any): obj is undefined {\r\n return obj === undefined;\r\n}\r\n\r\nexport function isNull(obj: any): obj is null {\r\n return obj === null;\r\n}\r\n\r\nexport function isArray(obj: any): obj is Array {\r\n return Array.isArray(obj);\r\n}\r\n\r\n\r\n/**\r\n * Returns true if the given object is array like, false otherwise.\r\n * @param obj The Object\r\n */\r\nexport function isArrayLike(obj: any): obj is ArrayLike {\r\n const length = !!obj && obj.length;\r\n return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0);\r\n}\r\n\r\n/**\r\n * Returns true if the given object is a \"plain\" (e.g. { key: value }) object, false otherwise. \r\n * @param obj The Object.\r\n */\r\nexport function isPlainObject(obj: any): obj is PlainObject {\r\n if (!obj || !isObject(obj) || type(obj) !== 'object')\r\n return false;\r\n\r\n let key;\r\n const proto = 'prototype';\r\n const hasOwnProperty = Object[proto].hasOwnProperty;\r\n const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');\r\n const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');\r\n\r\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\r\n return false;\r\n }\r\n\r\n for (key in obj) { /**/ }\r\n\r\n return isUndefined(key) || hasOwnProperty.call(obj, key);\r\n};\r\n\r\n/**\r\n * Checks whether the given object is a HTMLElement.\r\n * @param obj The object which shall be checked.\r\n */\r\nexport function isHTMLElement(obj: any): obj is HTMLElement {\r\n const instaceOfRightHandSide = window.HTMLElement;\r\n const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide);\r\n return !!(\r\n doInstanceOf ? obj instanceof instaceOfRightHandSide : (obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName))\r\n );\r\n}\r\n\r\n/**\r\n * Returns true if the given object is empty, false otherwise.\r\n * @param obj The Object.\r\n */\r\nexport function isEmptyObject(obj: any): boolean {\r\n for (let name in obj)\r\n return false;\r\n return true;\r\n};","import { isArrayLike } from 'core/utils/types';\r\nimport { PlainObject } from 'core/typings';\r\n\r\n\r\n/**\r\n * Iterates through a array or object\r\n * @param arrayLikeOrObject The array or object through which shall be iterated.\r\n * @param callback The function which is responsible for the iteration. \r\n * If the function returns true its treated like a \"continue\" statement.\r\n * If the function returns false its treated like a \"break\" statement.\r\n */\r\nexport function each(array: Array | ReadonlyArray, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray;\r\nexport function each(array: Array | ReadonlyArray | null, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray | null;\r\nexport function each(arrayLikeObject: ArrayLike, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike;\r\nexport function each(arrayLikeObject: ArrayLike | null, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike | null;\r\nexport function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject;\r\nexport function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null;\r\nexport function each(source: ArrayLike | PlainObject | null, callback: (value: T | any, indexOrKey: any, source: any) => boolean | void): Array | ReadonlyArray | ArrayLike | PlainObject | null {\r\n let i: number | string = 0;\r\n\r\n if (isArrayLike(source)) {\r\n for (; i < source.length; i++) {\r\n if (callback(source[i], i, source) === false)\r\n break;\r\n }\r\n }\r\n else if (source) {\r\n for (i in source) {\r\n if (callback(source[i], i, source) === false)\r\n break;\r\n }\r\n }\r\n return source;\r\n};\r\n\r\n/**\r\n * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array.\r\n * @param arr The array.\r\n * @param item The item.\r\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\r\n */\r\nexport const indexOf: (arr: Array, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => {\r\n return arr.indexOf(item, fromIndex);\r\n}","import { isArrayLike, isHTMLElement } from 'core/utils/types';\r\nimport { each } from 'core/utils/arrays';\r\nimport { parent } from 'core/dom/traversal';\r\n\r\ntype NodeCollection = ArrayLike | Node | undefined | null;\r\n\r\n/**\r\n * Inserts Nodes before the given preferredAnchor element.\r\n * @param parent The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes.\r\n * @param preferredAnchor The element before which the Nodes shall be inserted or null if the elements shall be appended at the end.\r\n * @param insertedElms The Nodes which shall be inserted.\r\n */\r\nconst before: (parent: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (parent, preferredAnchor, insertedElms) => {\r\n if (insertedElms) {\r\n let anchor: Node | null = preferredAnchor;\r\n let fragment: DocumentFragment | Node | undefined | null;\r\n\r\n // parent must be defined\r\n if (parent) {\r\n if (isArrayLike(insertedElms)) {\r\n fragment = document.createDocumentFragment();\r\n\r\n // append all insertedElms to the fragment and if one of these is the anchor, change the anchor\r\n each(insertedElms, (insertedElm) => {\r\n if (insertedElm === anchor) {\r\n anchor = insertedElm.previousSibling;\r\n }\r\n fragment!.appendChild(insertedElm);\r\n });\r\n }\r\n else {\r\n fragment = insertedElms;\r\n }\r\n\r\n // if the preferred anchor isn't null set it to a valid anchor\r\n if (preferredAnchor) {\r\n if (!anchor) {\r\n anchor = parent.firstChild;\r\n }\r\n else if (anchor !== preferredAnchor) {\r\n anchor = anchor.nextSibling;\r\n }\r\n }\r\n\r\n parent.insertBefore(fragment, anchor);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Appends the given children at the end of the given Node.\r\n * @param node The Node to which the children shall be appended.\r\n * @param children The Nodes which shall be appended.\r\n */\r\nexport const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, null, children) };\r\n\r\n/**\r\n * Prepends the given children at the start of the given Node.\r\n * @param node The Node to which the children shall be prepended.\r\n * @param children The Nodes which shall be prepended.\r\n */\r\nexport const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, node && node.firstChild, children) };\r\n\r\n/**\r\n * Inserts the given Nodes before the given Node.\r\n * @param node The Node before which the given Nodes shall be inserted.\r\n * @param insertedNodes The Nodes which shall be inserted.\r\n */\r\nexport const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node, insertedNodes) };\r\n\r\n/**\r\n * Inserts the given Nodes after the given Node.\r\n * @param node The Node after which the given Nodes shall be inserted.\r\n * @param insertedNodes The Nodes which shall be inserted.\r\n */\r\nexport const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node && node.nextSibling, insertedNodes) };\r\n\r\n/**\r\n * Removes the given Nodes from their parent.\r\n * @param nodes The Nodes which shall be removed.\r\n */\r\nexport const removeElements: (nodes: NodeCollection) => void = (nodes) => {\r\n if (isArrayLike(nodes)) {\r\n each(Array.from(nodes), (e) => removeElements(e));\r\n }\r\n else if (nodes) {\r\n const parentNode = nodes.parentNode;\r\n if (parentNode)\r\n parentNode.removeChild(nodes);\r\n }\r\n}","import { each } from 'core/utils/arrays';\r\nimport { contents } from 'core/dom/traversal';\r\nimport { removeElements } from 'core/dom/manipulation';\r\n\r\nexport const createDiv: () => HTMLDivElement = () => {\r\n return document.createElement('div');\r\n}\r\n\r\nexport const createDOM: (html: string) => ReadonlyArray = (html) => {\r\n const elm = createDiv();\r\n elm.innerHTML = html.trim();\r\n\r\n return each(contents(elm), (elm) => removeElements(elm));\r\n}","import { each } from 'core/utils/arrays';\r\n\r\nconst elementIsVisible: (elm: HTMLElement) => boolean = (elm) => {\r\n return !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);\r\n}\r\n\r\nexport const find: (selector: string, elm?: Element | null) => ReadonlyArray = (selector, elm?) => {\r\n const arr: Array = [];\r\n\r\n each((elm || document).querySelectorAll(selector), (e: Element) => {\r\n arr.push(e);\r\n });\r\n\r\n return arr;\r\n}\r\n\r\nexport const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => {\r\n return (elm || document).querySelector(selector);\r\n}\r\n\r\nexport const is: (elm: Element | null, selector: string) => boolean = (elm, selector) => {\r\n if (elm) {\r\n if (selector === ':visible')\r\n return elementIsVisible(elm as HTMLElement);\r\n if (selector === ':hidden')\r\n return !elementIsVisible(elm as HTMLElement);\r\n if (elm.matches(selector))\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport const children: (elm: Element | null, selector?: string) => ReadonlyArray = (elm, selector?) => {\r\n const children: Array = [];\r\n\r\n each(elm && elm.children, (child: Element) => {\r\n if (selector) {\r\n if (child.matches(selector))\r\n children.push(child);\r\n }\r\n else\r\n children.push(child);\r\n });\r\n\r\n return children;\r\n}\r\n\r\nexport const contents: (elm: Element | null) => ReadonlyArray = (elm) => {\r\n return elm ? Array.from(elm.childNodes) : [];\r\n}\r\n\r\nexport const parent: (elm: Node | null) => Node | null = (elm) => elm ? elm.parentElement : null;","import { each } from 'core/utils';\r\nimport { createDiv } from 'core/dom';\r\n\r\nconst firstLetterToUpper: (str: string) => string = (str) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n}\r\nconst getDummyStyle: () => CSSStyleDeclaration = () => {\r\n return createDiv().style;\r\n}\r\n\r\n//https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix\r\n\r\nexport const cssPrefixes: ReadonlyArray = ['-webkit-', '-moz-', '-o-', '-ms-'];\r\nexport const jsPrefixes: ReadonlyArray = ['WebKit', 'Moz', 'O', 'MS', 'webkit', 'moz', 'o', 'ms'];\r\n\r\nexport const jsCache: { [key: string]: any } = {};\r\nexport const cssCache: { [key: string]: string } = {};\r\n\r\n/**\r\n * Gets the name of the given CSS property with vendor prefix if it isn't supported without, or undefined if unsupported.\r\n * @param name The name of the CSS property which shall be get.\r\n */\r\nexport const cssProperty: (name: string) => string | undefined = (name) => {\r\n let result: string | undefined = cssCache[name];\r\n\r\n if (cssCache.hasOwnProperty(name))\r\n return result;\r\n\r\n const uppercasedName: string = firstLetterToUpper(name);\r\n const elmStyle: CSSStyleDeclaration = getDummyStyle();\r\n\r\n each(cssPrefixes, (prefix: string) => {\r\n const prefixWithoutDashes: string = prefix.replace(/-/g, '');\r\n const resultPossibilities: Array = [\r\n name, //transition\r\n prefix + name, //-webkit-transition\r\n prefixWithoutDashes + uppercasedName, //webkitTransition\r\n firstLetterToUpper(prefixWithoutDashes) + uppercasedName //WebkitTransition\r\n ];\r\n result = resultPossibilities.find((resultPossibility: string) => elmStyle[resultPossibility] !== undefined);\r\n return !result;\r\n });\r\n\r\n cssCache[name] = result;\r\n return result;\r\n}\r\n\r\n/**\r\n * Get the name of the given CSS property value(s), with vendor prefix if it isn't supported wuthout, or undefined if no value is supported. \r\n * @param property The CSS property to which the CSS property value(s) belong.\r\n * @param values The value(s) separated by spaces which shall be get.\r\n * @param suffix A suffix which is added to each value in case the value is a function or something else more advanced.\r\n */\r\nexport const cssPropertyValue: (property: string, values: string, suffix?: string) => string | undefined = (property, values, suffix) => {\r\n const name: string = property + ' ' + values;\r\n let result: string | undefined = cssCache[name];\r\n\r\n if (cssCache.hasOwnProperty(name))\r\n return result;\r\n\r\n const dummyStyle: CSSStyleDeclaration = getDummyStyle();\r\n const possbleValues: Array = values.split(' ');\r\n const preparedSuffix: string = suffix || '';\r\n const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes);\r\n\r\n each(possbleValues, (possibleValue: string) => {\r\n each(cssPrefixesWithFirstEmpty, (prefix: string) => {\r\n const prop = prefix + possibleValue;\r\n dummyStyle.cssText = property + ':' + prop + preparedSuffix;\r\n if (dummyStyle.length) {\r\n result = prop;\r\n return false;\r\n }\r\n });\r\n return !result;\r\n });\r\n\r\n cssCache[name] = result;\r\n return result;\r\n}\r\n\r\n/**\r\n * Get the requested JS function, object or constructor with vendor prefix if it isn't supported without or undefined if unsupported.\r\n * @param name The name of the JS function, object or constructor.\r\n */\r\nexport const jsAPI: (name: string) => any = (name) => {\r\n let result: any = jsCache[name] || window[name];\r\n\r\n if (jsCache.hasOwnProperty(name))\r\n return result;\r\n\r\n each(jsPrefixes, (prefix: string) => {\r\n result = result || window[prefix + firstLetterToUpper(name)];\r\n return !result;\r\n });\r\n\r\n jsCache[name] = result;\r\n return result;\r\n}\r\n","import { each, indexOf } from 'core/utils/arrays';\r\nimport { type, isArray, isUndefined, isEmptyObject, isPlainObject, isString } from 'core/utils/types';\r\nimport { PlainObject, OptionsTemplate, OptionsTemplateTypes, OptionsTemplateType, OptionsValidated, Func, OptionsValidatedResult } from 'core/typings';\r\n\r\nconst stringify = JSON.stringify;\r\n\r\n/**\r\n * A prefix and suffix tuple which serves as recognition pattern for template types.\r\n */\r\nconst templateTypePrefixSuffix: readonly [string, string] = ['__TPL_', '_TYPE__'];\r\n/**\r\n * A object which serves as a mapping for \"normal\" types and template types.\r\n * Key = normal type string\r\n * value = template type string\r\n */\r\nconst optionsTemplateTypes: OptionsTemplateTypesDictionary = [\r\n 'boolean',\r\n 'number',\r\n 'string',\r\n 'array',\r\n 'object',\r\n 'function',\r\n 'null'\r\n].reduce((result, item) => {\r\n result[item] = templateTypePrefixSuffix[0] + item + templateTypePrefixSuffix[1];\r\n return result;\r\n}, {} as OptionsTemplateTypesDictionary);\r\n\r\n/**\r\n * Validates the given options object according to the given template object and returns a object which looks like:\r\n * {\r\n * foreign : a object which consists of properties which aren't defined inside the template. (foreign properties)\r\n * validated : a object which consists only of valid properties. (property name is inside the template and value has a correct type)\r\n * }\r\n * @param options The options object which shall be validated.\r\n * @param template The template according to which the options object shall be validated.\r\n * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.\r\n * Example (assume all properties are valid to the template): \r\n * Options object : { a: 'a', b: 'b', c: 'c' }\r\n * optionsDiff object : { a: 'a', b: 'b', c: undefined }\r\n * Returned validated object : { c: 'c' }\r\n * Because the value of the properties a and b didn't change, they aren't included in the returned object.\r\n * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' }\r\n * @param doWriteErrors True if errors shall be logged into the console, false otherwise.\r\n * @param propPath The propertyPath which lead to this object. (used for error logging)\r\n */\r\nconst validateRecursive = function (options: T, template: OptionsTemplate>, optionsDiff: OptionsValidated, doWriteErrors?: boolean, propPath?: string): OptionsValidatedResult {\r\n const validatedOptions: OptionsValidated = {};\r\n const optionsCopy: T = Object.assign({}, options);\r\n const props = Object.keys(template).filter(prop => options.hasOwnProperty(prop));\r\n\r\n each(props, (prop: Extract) => {\r\n const optionsDiffValue: any = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop];\r\n const optionsValue: any = options[prop];\r\n const templateValue: PlainObject | string | OptionsTemplateTypes | Array = template[prop];\r\n const templateIsComplex = isPlainObject(templateValue);\r\n const propPrefix = propPath ? propPath + '.' : '';\r\n\r\n //if the template has a object as value, it means that the options are complex (verschachtelt)\r\n if (templateIsComplex && isPlainObject(optionsValue)) {\r\n const validatedResult = validateRecursive(optionsValue, templateValue as PlainObject, optionsDiffValue, doWriteErrors, propPrefix + prop);\r\n validatedOptions[prop] = validatedResult.validated;\r\n optionsCopy[prop] = validatedResult.foreign as any;\r\n\r\n each([optionsCopy, validatedOptions], (value) => {\r\n if (isEmptyObject(value[prop])) {\r\n delete value[prop];\r\n }\r\n });\r\n }\r\n else if (!templateIsComplex) {\r\n let isValid = false;\r\n const errorEnumStrings: Array = [];\r\n const errorPossibleTypes: Array = [];\r\n const optionsValueType = type(optionsValue);\r\n const templateValueArr: Array = !isArray(templateValue) ? [templateValue as string | OptionsTemplateTypes] : templateValue as Array;\r\n\r\n each(templateValueArr, (currTemplateType) => {\r\n //if currType value isn't inside possibleTemplateTypes we assume its a enum string value\r\n const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0;\r\n if (isEnumString && isString(optionsValue)) {\r\n //split it into a array which contains all possible values for example: [\"yes\", \"no\", \"maybe\"]\r\n const enumStringSplit = currTemplateType.split(' ');\r\n isValid = !!enumStringSplit.find(possibility => possibility === optionsValue);\r\n\r\n // build error message\r\n errorEnumStrings.push(...enumStringSplit);\r\n }\r\n else {\r\n isValid = optionsTemplateTypes[optionsValueType] === currTemplateType;\r\n }\r\n\r\n // build error message\r\n errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType);\r\n\r\n // continue if invalid, break if valid\r\n return !isValid;\r\n });\r\n\r\n\r\n if (isValid) {\r\n const doStringifyComparison = isArray(optionsValue) || isPlainObject(optionsValue);\r\n if (doStringifyComparison ? stringify(optionsValue) !== stringify(optionsDiffValue) : optionsValue !== optionsDiffValue) {\r\n validatedOptions[prop] = optionsValue;\r\n }\r\n }\r\n else if (doWriteErrors) {\r\n console.warn(`The option \"${propPrefix}${prop}\" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of \"${optionsValue}\".\\r\\n` +\r\n `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\\r\\n` +\r\n (errorEnumStrings.length > 0 ? `\\r\\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : ''))\r\n }\r\n\r\n delete optionsCopy[prop];\r\n }\r\n });\r\n\r\n return {\r\n foreign: optionsCopy,\r\n validated: validatedOptions\r\n };\r\n};\r\n\r\n/**\r\n * Validates the given options object according to the given template object and returns a object which looks like:\r\n * {\r\n * foreign : a object which consists of properties which aren't defined inside the template. (foreign properties)\r\n * validated : a object which consists only of valid properties. (property name is inside the template and value has a correct type)\r\n * }\r\n * @param options The options object which shall be validated.\r\n * @param template The template according to which the options object shall be validated.\r\n * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.\r\n * Example (assume all properties are valid to the template): \r\n * Options object : { a: 'a', b: 'b', c: 'c' }\r\n * optionsDiff object : { a: 'a', b: 'b', c: undefined }\r\n * Returned validated object : { c: 'c' }\r\n * Because the value of the properties a and b didn't change, they aren't included in the returned object.\r\n * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' }\r\n * @param doWriteErrors True if errors shall be logged into the console, false otherwise.\r\n */\r\nconst validate = function (options: T, template: OptionsTemplate>, optionsDiff?: OptionsValidated, doWriteErrors?: boolean): OptionsValidatedResult {\r\n /*\r\n if (!isEmptyObject(foreign) && doWriteErrors)\r\n console.warn(`The following options are discarded due to invalidity:\\r\\n ${window.JSON.stringify(foreign, null, 2)}`);\r\n\r\n \r\n //add values, which aren't specified in the template, to the finished validated object to prevent them from being discarded\r\n if (keepForeignProps) {\r\n Object.assign(result.validated, foreign);\r\n }\r\n */\r\n return validateRecursive(options, template, optionsDiff || {}, doWriteErrors || false);\r\n};\r\n\r\nexport { validate, optionsTemplateTypes };\r\n\r\ntype OptionsTemplateTypesDictionary = {\r\n readonly boolean: OptionsTemplateType;\r\n readonly number: OptionsTemplateType;\r\n readonly string: OptionsTemplateType;\r\n readonly array: OptionsTemplateType>;\r\n readonly object: OptionsTemplateType;\r\n readonly function: OptionsTemplateType;\r\n readonly null: OptionsTemplateType;\r\n}\r\n","import { jsAPI } from 'core/compatibility/vendors';\r\n\r\nexport const resizeObserver: any | undefined = jsAPI('ResizeObserver');","const targets: Set = new Set();\r\nconst targetInstanceMap: WeakMap = new WeakMap();\r\n\r\n/**\r\n * Adds the given OverlayScrollbars instance to the given element.\r\n * @param target The element which is the target of the OverlayScrollbars instance.\r\n * @param osInstance The OverlayScrollbars instance.\r\n */\r\nexport const addInstance: (target: Element, osInstance: any) => void = (target, osInstance) => {\r\n targetInstanceMap.set(target, osInstance);\r\n targets.add(target);\r\n}\r\n\r\n/**\r\n * Removes a OverlayScrollbars instance from the given element.\r\n * @param target The element from which its OverlayScrollbars instance shall be removed.\r\n */\r\nexport const removeInstance: (target: Element) => void = (target) => {\r\n targetInstanceMap.delete(target);\r\n targets.delete(target);\r\n}\r\n\r\n/**\r\n * Gets the OverlayScrollbars from the given element or undefined if it doesn't have one.\r\n * @param target The element of which its OverlayScrollbars instance shall be get.\r\n */\r\nexport const getInstance: (target: Element) => any = (target) => {\r\n return targetInstanceMap.get(target);\r\n}\r\n\r\n/**\r\n * Gets a Map which represents all active OverayScrollbars instances. \r\n * The Key is the ekement and the value is the instance.\r\n */\r\nexport const allInstances: () => ReadonlyMap = () => {\r\n const validTargetInstanceMap: Map = new Map();\r\n\r\n targets.forEach((target: Element) => {\r\n /* istanbul ignore else */\r\n if (targetInstanceMap.has(target)) {\r\n validTargetInstanceMap.set(target, targetInstanceMap.get(target))\r\n }\r\n });\r\n\r\n targets.clear();\r\n\r\n validTargetInstanceMap.forEach((instance: any, validTarget: Element) => {\r\n targets.add(validTarget);\r\n });\r\n\r\n return validTargetInstanceMap;\r\n}","\r\nimport { createDOM } from 'core/dom';\r\n\r\nexport * from 'core/compatibility';\r\nexport * from 'core/utils';\r\nexport * from 'core/dom';\r\nexport * from 'core/options';\r\nexport * from 'instances';\r\n\r\n\r\n\r\nexport default () => createDOM(`\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n fdfhdfgh\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
`);","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(95);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)"],"sourceRoot":""} \ No newline at end of file diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.js b/packages/overlayscrollbars/dist/overlayscrollbars.js new file mode 100644 index 0000000..ff1c2e6 --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.js @@ -0,0 +1,77 @@ +!function(r, n) { + "object" == typeof exports && "object" == typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define([], n) : "object" == typeof exports ? exports.OverlayScrollbars = n() : r.OverlayScrollbars = n(); +}(window, (function() { + return function() { + "use strict"; + var r = { + 95: function(r, n, o) { + o.d(n, { + default: function() { + return p; + } + }); + function e(r) { + return "function" == typeof r; + } + function t(r) { + return Array.isArray(r); + } + function i(r) { + var n = !!r && r.length; + return t(r) || !e(r) && function(r) { + return "number" == typeof r; + }(n) && n > -1 && n % 1 == 0; + } + function s(r, n) { + var o = 0; + if (i(r)) for (;o < r.length && !1 !== n(r[o], o, r); o++) ; else if (r) for (o in r) if (!1 === n(r[o], o, r)) break; + return r; + } + var c = function(r) { + if (i(r)) s(Array.from(r), (function(r) { + return c(r); + })); else if (r) { + var n = r.parentNode; + n && n.removeChild(r); + } + }, u = function(r) { + var n = document.createElement("div"); + return n.innerHTML = r.trim(), s(function(r) { + return r ? Array.from(r.childNodes) : []; + }(n), (function(r) { + return c(r); + })); + }; + var a, f, l = function(r) { + return r.charAt(0).toUpperCase() + r.slice(1); + }, d = [ "WebKit", "Moz", "O", "MS", "webkit", "moz", "o", "ms" ], v = {}, b = (f = v[a = "ResizeObserver"] || window[a], + v.hasOwnProperty(a) || (s(d, (function(r) { + return !(f = f || window[r + l(a)]); + })), v[a] = f), JSON.stringify, [ "__TPL_", "_TYPE__" ]); + [ "boolean", "number", "string", "array", "object", "function", "null" ].reduce((function(r, n) { + return r[n] = b[0] + n + b[1], r; + }), {}); + new Set, new WeakMap; + var p = function() { + return u('
fdfhdfgh
'); + }; + } + }, n = {}; + function o(e) { + if (n[e]) return n[e].exports; + var t = n[e] = { + exports: {} + }; + return r[e](t, t.exports, o), t.exports; + } + return o.d = function(r, n) { + for (var e in n) o.o(n, e) && !o.o(r, e) && Object.defineProperty(r, e, { + enumerable: !0, + get: n[e] + }); + }, o.o = function(r, n) { + return Object.prototype.hasOwnProperty.call(r, n); + }, o(95); + }().default; +})); +//# sourceMappingURL=overlayscrollbars.js.map \ No newline at end of file diff --git a/packages/overlayscrollbars/dist/overlayscrollbars.js.map b/packages/overlayscrollbars/dist/overlayscrollbars.js.map new file mode 100644 index 0000000..92158ff --- /dev/null +++ b/packages/overlayscrollbars/dist/overlayscrollbars.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://OverlayScrollbars/webpack/universalModuleDefinition","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/utils/types.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/utils/arrays.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/dom/manipulation.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/dom/create.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/dom/traversal.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/compatibility/vendors.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/options/validation.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/core/compatibility/apis.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/instances.ts","webpack://OverlayScrollbars/./packages/overlayscrollbars/src/index.ts","webpack://OverlayScrollbars/webpack/bootstrap","webpack://OverlayScrollbars/webpack/startup","webpack://OverlayScrollbars/webpack/runtime/define property getters","webpack://OverlayScrollbars/webpack/runtime/hasOwnProperty shorthand"],"names":["root","factory","exports","module","define","amd","window","isFunction","obj","isArray","Array","isArrayLike","length","isNumber","each","source","callback","i","removeElements","nodes","from","e","parentNode","removeChild","createDOM","html","elm","document","createElement","innerHTML","trim","childNodes","contents","name","result","firstLetterToUpper","str","charAt","toUpperCase","slice","jsPrefixes","jsCache","templateTypePrefixSuffix","hasOwnProperty","prefix","JSON","stringify","reduce","item","Set","WeakMap","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","prop","prototype","call"],"mappings":"CAAA,SAA2CA,GAAMC;IAC1B,mBAAZC,WAA0C,mBAAXC,SACxCA,OAAOD,UAAUD,MACQ,qBAAXG,UAAyBA,OAAOC,MAC9CD,OAAO,IAAIH,KACe,mBAAZC,UACdA,QAA2B,oBAAID,MAE/BD,EAAwB,oBAAIC;CAR9B,CASGK,SAAQ;IACX,O;;;;;;;;;gBCgBO,SAASC,EAAWC;oBACvB,OAAsB,qBAARA;;gBAWX,SAASC,EAAQD;oBACpB,OAAOE,MAAMD,QAAQD;;gBAQlB,SAASG,EAAyCH;oBACrD,IAAMI,MAAWJ,KAAOA,EAAII;oBAC5B,OAAOH,EAAQD,OAAUD,EAAWC,MAvCjC,SAAkBA;wBACrB,OAAsB,mBAARA;qBAsC8BK,CAASD,MAAWA,KAAU,KAAKA,IAAS,KAAK;;gBChC1F,SAASE,EAAQC,GAA2CC;oBAC/D,IAAIC,IAAqB;oBAEzB,IAAIN,EAAYI,IACZ,MAAOE,IAAIF,EAAOH,WACyB,MAAnCI,EAASD,EAAOE,IAAIA,GAAGF,IADLE,YAKzB,IAAIF,GACL,KAAKE,KAAKF,GACN,KAAuC,MAAnCC,EAASD,EAAOE,IAAIA,GAAGF,IACvB;oBAGZ,OAAOA;;gBASJ,ICwCMG,IAAkD,SAACC;oBAC5D,IAAIR,EAAYQ,IACZL,EAAKJ,MAAMU,KAAKD,KAAQ,SAACE;wBAAM,OAAAH,EAAeG;8BAE7C,IAAIF,GAAO;wBACZ,IAAMG,IAAaH,EAAMG;wBACrBA,KACAA,EAAWC,YAAYJ;;mBChFtBK,IAAmD,SAACC;oBAC7D,IAAMC,IAJCC,SAASC,cAAc;oBAO9B,OAFAF,EAAIG,YAAYJ,EAAKK,QAEdhB,ECmCgE,SAACY;wBACxE,OAAOA,IAAMhB,MAAMU,KAAgBM,EAAIK,cAAc;qBDpCzCC,CAASN,KAAM,SAACA;wBAAQ,OAAAR,EAAeQ;;;gBETvD,IAkF6CO,GACrCC,GAnFFC,IAA8C,SAACC;oBACjD,OAAOA,EAAIC,OAAO,GAAGC,gBAAgBF,EAAIG,MAAM;mBAStCC,IAAoC,EAAC,UAAU,OAAO,KAAK,MAAM,UAAU,OAAO,KAAK,QAEvFC,IAAkC,ICNzCC,KD6EER,IAAcO,EADuBR,IEnFQ,qBFoFd3B,OAAO2B;gBAEtCQ,EAAQE,eAAeV,OAG3BnB,EAAK0B,IAAY,SAACI;oBAEd,SADAV,IAASA,KAAU5B,OAAOsC,IAAST,EAAmBF;qBAI1DQ,EAAQR,KAAQC,IC5FFW,KAAKC,WAKqC,EAAC,UAAU;gBAMV,EACzD,WACA,UACA,UACA,SACA,UACA,YACA,SACFC,QAAO,SAACb,GAAQc;oBAEd,OADAd,EAAOc,KAAQN,EAAyB,KAAKM,IAAON,EAAyB,IACtER;oBACR;gBE1B2B,IAAIe,KACe,IAAIC;gBADrD,ICWA;oBAAqB,OAAA1B,EAAU;;;WCV3B2B,IAA2B;QAG/B,SAASC,EAAoBC;YAE5B,IAAGF,EAAyBE,IAC3B,OAAOF,EAAyBE,GAAUnD;YAG3C,IAAIC,IAASgD,EAAyBE,KAAY;gBAGjDnD,SAAS;;YAOV,OAHAoD,EAAoBD,GAAUlD,GAAQA,EAAOD,SAASkD,IAG/CjD,EAAOD;;QCjBf,OCFAkD,EAAoBG,IAAI,SAASrD,GAASsD;YACzC,KAAI,IAAIC,KAAOD,GACXJ,EAAoBM,EAAEF,GAAYC,OAASL,EAAoBM,EAAExD,GAASuD,MAC5EE,OAAOC,eAAe1D,GAASuD,GAAK;gBAAEI,aAAY;gBAAMC,KAAKN,EAAWC;;WCJ3EL,EAAoBM,IAAI,SAASlD,GAAKuD;YAAQ,OAAOJ,OAAOK,UAAUrB,eAAesB,KAAKzD,GAAKuD;WFGxFX,EAAoB","file":"overlayscrollbars.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OverlayScrollbars\"] = factory();\n\telse\n\t\troot[\"OverlayScrollbars\"] = factory();\n})(window, function() {\nreturn ","import { PlainObject } from 'core/typings';\r\n\r\nexport const type: (obj: any) => string = (obj) => {\r\n if (obj === undefined)\r\n return obj + '';\r\n if (obj === null)\r\n return obj + '';\r\n return Object.prototype.toString.call(obj).replace(/^\\[object (.+)\\]$/, '$1').toLowerCase();\r\n}\r\n\r\nexport function isNumber(obj: any): obj is number {\r\n return typeof obj === 'number';\r\n};\r\n\r\nexport function isString(obj: any): obj is string {\r\n return typeof obj === 'string';\r\n}\r\n\r\nexport function isBoolean(obj: any): obj is boolean {\r\n return typeof obj === 'boolean';\r\n}\r\n\r\nexport function isObject(obj: any): boolean {\r\n return typeof obj === 'object' && !isArray(obj) && !isNull(obj);\r\n}\r\n\r\nexport function isFunction(obj: any): obj is Function {\r\n return typeof obj === 'function';\r\n}\r\n\r\nexport function isUndefined(obj: any): obj is undefined {\r\n return obj === undefined;\r\n}\r\n\r\nexport function isNull(obj: any): obj is null {\r\n return obj === null;\r\n}\r\n\r\nexport function isArray(obj: any): obj is Array {\r\n return Array.isArray(obj);\r\n}\r\n\r\n\r\n/**\r\n * Returns true if the given object is array like, false otherwise.\r\n * @param obj The Object\r\n */\r\nexport function isArrayLike(obj: any): obj is ArrayLike {\r\n const length = !!obj && obj.length;\r\n return isArray(obj) || (!isFunction(obj) && isNumber(length) && length > -1 && length % 1 == 0);\r\n}\r\n\r\n/**\r\n * Returns true if the given object is a \"plain\" (e.g. { key: value }) object, false otherwise. \r\n * @param obj The Object.\r\n */\r\nexport function isPlainObject(obj: any): obj is PlainObject {\r\n if (!obj || !isObject(obj) || type(obj) !== 'object')\r\n return false;\r\n\r\n let key;\r\n const proto = 'prototype';\r\n const hasOwnProperty = Object[proto].hasOwnProperty;\r\n const hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');\r\n const hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');\r\n\r\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\r\n return false;\r\n }\r\n\r\n for (key in obj) { /**/ }\r\n\r\n return isUndefined(key) || hasOwnProperty.call(obj, key);\r\n};\r\n\r\n/**\r\n * Checks whether the given object is a HTMLElement.\r\n * @param obj The object which shall be checked.\r\n */\r\nexport function isHTMLElement(obj: any): obj is HTMLElement {\r\n const instaceOfRightHandSide = window.HTMLElement;\r\n const doInstanceOf = isObject(instaceOfRightHandSide) || isFunction(instaceOfRightHandSide);\r\n return !!(\r\n doInstanceOf ? obj instanceof instaceOfRightHandSide : (obj && isObject(obj) && obj.nodeType === 1 && isString(obj.nodeName))\r\n );\r\n}\r\n\r\n/**\r\n * Returns true if the given object is empty, false otherwise.\r\n * @param obj The Object.\r\n */\r\nexport function isEmptyObject(obj: any): boolean {\r\n for (let name in obj)\r\n return false;\r\n return true;\r\n};","import { isArrayLike } from 'core/utils/types';\r\nimport { PlainObject } from 'core/typings';\r\n\r\n\r\n/**\r\n * Iterates through a array or object\r\n * @param arrayLikeOrObject The array or object through which shall be iterated.\r\n * @param callback The function which is responsible for the iteration. \r\n * If the function returns true its treated like a \"continue\" statement.\r\n * If the function returns false its treated like a \"break\" statement.\r\n */\r\nexport function each(array: Array | ReadonlyArray, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray;\r\nexport function each(array: Array | ReadonlyArray | null, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray | null;\r\nexport function each(arrayLikeObject: ArrayLike, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike;\r\nexport function each(arrayLikeObject: ArrayLike | null, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike | null;\r\nexport function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject;\r\nexport function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null;\r\nexport function each(source: ArrayLike | PlainObject | null, callback: (value: T | any, indexOrKey: any, source: any) => boolean | void): Array | ReadonlyArray | ArrayLike | PlainObject | null {\r\n let i: number | string = 0;\r\n\r\n if (isArrayLike(source)) {\r\n for (; i < source.length; i++) {\r\n if (callback(source[i], i, source) === false)\r\n break;\r\n }\r\n }\r\n else if (source) {\r\n for (i in source) {\r\n if (callback(source[i], i, source) === false)\r\n break;\r\n }\r\n }\r\n return source;\r\n};\r\n\r\n/**\r\n * Returns the index of the given inside the given array or -1 if the given item isn't part of the given array.\r\n * @param arr The array.\r\n * @param item The item.\r\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\r\n */\r\nexport const indexOf: (arr: Array, item: T, fromIndex?: number) => number = (arr, item, fromIndex) => {\r\n return arr.indexOf(item, fromIndex);\r\n}","import { isArrayLike, isHTMLElement } from 'core/utils/types';\r\nimport { each } from 'core/utils/arrays';\r\nimport { parent } from 'core/dom/traversal';\r\n\r\ntype NodeCollection = ArrayLike | Node | undefined | null;\r\n\r\n/**\r\n * Inserts Nodes before the given preferredAnchor element.\r\n * @param parent The parent of the preferredAnchor element or the element which shall be the parent of the inserted Nodes.\r\n * @param preferredAnchor The element before which the Nodes shall be inserted or null if the elements shall be appended at the end.\r\n * @param insertedElms The Nodes which shall be inserted.\r\n */\r\nconst before: (parent: Node | null, preferredAnchor: Node | null, insertedElms: NodeCollection) => void = (parent, preferredAnchor, insertedElms) => {\r\n if (insertedElms) {\r\n let anchor: Node | null = preferredAnchor;\r\n let fragment: DocumentFragment | Node | undefined | null;\r\n\r\n // parent must be defined\r\n if (parent) {\r\n if (isArrayLike(insertedElms)) {\r\n fragment = document.createDocumentFragment();\r\n\r\n // append all insertedElms to the fragment and if one of these is the anchor, change the anchor\r\n each(insertedElms, (insertedElm) => {\r\n if (insertedElm === anchor) {\r\n anchor = insertedElm.previousSibling;\r\n }\r\n fragment!.appendChild(insertedElm);\r\n });\r\n }\r\n else {\r\n fragment = insertedElms;\r\n }\r\n\r\n // if the preferred anchor isn't null set it to a valid anchor\r\n if (preferredAnchor) {\r\n if (!anchor) {\r\n anchor = parent.firstChild;\r\n }\r\n else if (anchor !== preferredAnchor) {\r\n anchor = anchor.nextSibling;\r\n }\r\n }\r\n\r\n parent.insertBefore(fragment, anchor);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Appends the given children at the end of the given Node.\r\n * @param node The Node to which the children shall be appended.\r\n * @param children The Nodes which shall be appended.\r\n */\r\nexport const appendChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, null, children) };\r\n\r\n/**\r\n * Prepends the given children at the start of the given Node.\r\n * @param node The Node to which the children shall be prepended.\r\n * @param children The Nodes which shall be prepended.\r\n */\r\nexport const prependChildren: (node: Node | null, children: NodeCollection) => void = (node, children) => { before(node, node && node.firstChild, children) };\r\n\r\n/**\r\n * Inserts the given Nodes before the given Node.\r\n * @param node The Node before which the given Nodes shall be inserted.\r\n * @param insertedNodes The Nodes which shall be inserted.\r\n */\r\nexport const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node, insertedNodes) };\r\n\r\n/**\r\n * Inserts the given Nodes after the given Node.\r\n * @param node The Node after which the given Nodes shall be inserted.\r\n * @param insertedNodes The Nodes which shall be inserted.\r\n */\r\nexport const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void = (node, insertedNodes) => { before(parent(node), node && node.nextSibling, insertedNodes) };\r\n\r\n/**\r\n * Removes the given Nodes from their parent.\r\n * @param nodes The Nodes which shall be removed.\r\n */\r\nexport const removeElements: (nodes: NodeCollection) => void = (nodes) => {\r\n if (isArrayLike(nodes)) {\r\n each(Array.from(nodes), (e) => removeElements(e));\r\n }\r\n else if (nodes) {\r\n const parentNode = nodes.parentNode;\r\n if (parentNode)\r\n parentNode.removeChild(nodes);\r\n }\r\n}","import { each } from 'core/utils/arrays';\r\nimport { contents } from 'core/dom/traversal';\r\nimport { removeElements } from 'core/dom/manipulation';\r\n\r\nexport const createDiv: () => HTMLDivElement = () => {\r\n return document.createElement('div');\r\n}\r\n\r\nexport const createDOM: (html: string) => ReadonlyArray = (html) => {\r\n const elm = createDiv();\r\n elm.innerHTML = html.trim();\r\n\r\n return each(contents(elm), (elm) => removeElements(elm));\r\n}","import { each } from 'core/utils/arrays';\r\n\r\nconst elementIsVisible: (elm: HTMLElement) => boolean = (elm) => {\r\n return !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);\r\n}\r\n\r\nexport const find: (selector: string, elm?: Element | null) => ReadonlyArray = (selector, elm?) => {\r\n const arr: Array = [];\r\n\r\n each((elm || document).querySelectorAll(selector), (e: Element) => {\r\n arr.push(e);\r\n });\r\n\r\n return arr;\r\n}\r\n\r\nexport const findFirst: (selector: string, elm?: Element | null) => Element | null = (selector, elm?) => {\r\n return (elm || document).querySelector(selector);\r\n}\r\n\r\nexport const is: (elm: Element | null, selector: string) => boolean = (elm, selector) => {\r\n if (elm) {\r\n if (selector === ':visible')\r\n return elementIsVisible(elm as HTMLElement);\r\n if (selector === ':hidden')\r\n return !elementIsVisible(elm as HTMLElement);\r\n if (elm.matches(selector))\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport const children: (elm: Element | null, selector?: string) => ReadonlyArray = (elm, selector?) => {\r\n const children: Array = [];\r\n\r\n each(elm && elm.children, (child: Element) => {\r\n if (selector) {\r\n if (child.matches(selector))\r\n children.push(child);\r\n }\r\n else\r\n children.push(child);\r\n });\r\n\r\n return children;\r\n}\r\n\r\nexport const contents: (elm: Element | null) => ReadonlyArray = (elm) => {\r\n return elm ? Array.from(elm.childNodes) : [];\r\n}\r\n\r\nexport const parent: (elm: Node | null) => Node | null = (elm) => elm ? elm.parentElement : null;","import { each } from 'core/utils';\r\nimport { createDiv } from 'core/dom';\r\n\r\nconst firstLetterToUpper: (str: string) => string = (str) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n}\r\nconst getDummyStyle: () => CSSStyleDeclaration = () => {\r\n return createDiv().style;\r\n}\r\n\r\n//https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix\r\n\r\nexport const cssPrefixes: ReadonlyArray = ['-webkit-', '-moz-', '-o-', '-ms-'];\r\nexport const jsPrefixes: ReadonlyArray = ['WebKit', 'Moz', 'O', 'MS', 'webkit', 'moz', 'o', 'ms'];\r\n\r\nexport const jsCache: { [key: string]: any } = {};\r\nexport const cssCache: { [key: string]: string } = {};\r\n\r\n/**\r\n * Gets the name of the given CSS property with vendor prefix if it isn't supported without, or undefined if unsupported.\r\n * @param name The name of the CSS property which shall be get.\r\n */\r\nexport const cssProperty: (name: string) => string | undefined = (name) => {\r\n let result: string | undefined = cssCache[name];\r\n\r\n if (cssCache.hasOwnProperty(name))\r\n return result;\r\n\r\n const uppercasedName: string = firstLetterToUpper(name);\r\n const elmStyle: CSSStyleDeclaration = getDummyStyle();\r\n\r\n each(cssPrefixes, (prefix: string) => {\r\n const prefixWithoutDashes: string = prefix.replace(/-/g, '');\r\n const resultPossibilities: Array = [\r\n name, //transition\r\n prefix + name, //-webkit-transition\r\n prefixWithoutDashes + uppercasedName, //webkitTransition\r\n firstLetterToUpper(prefixWithoutDashes) + uppercasedName //WebkitTransition\r\n ];\r\n result = resultPossibilities.find((resultPossibility: string) => elmStyle[resultPossibility] !== undefined);\r\n return !result;\r\n });\r\n\r\n cssCache[name] = result;\r\n return result;\r\n}\r\n\r\n/**\r\n * Get the name of the given CSS property value(s), with vendor prefix if it isn't supported wuthout, or undefined if no value is supported. \r\n * @param property The CSS property to which the CSS property value(s) belong.\r\n * @param values The value(s) separated by spaces which shall be get.\r\n * @param suffix A suffix which is added to each value in case the value is a function or something else more advanced.\r\n */\r\nexport const cssPropertyValue: (property: string, values: string, suffix?: string) => string | undefined = (property, values, suffix) => {\r\n const name: string = property + ' ' + values;\r\n let result: string | undefined = cssCache[name];\r\n\r\n if (cssCache.hasOwnProperty(name))\r\n return result;\r\n\r\n const dummyStyle: CSSStyleDeclaration = getDummyStyle();\r\n const possbleValues: Array = values.split(' ');\r\n const preparedSuffix: string = suffix || '';\r\n const cssPrefixesWithFirstEmpty = [''].concat(cssPrefixes);\r\n\r\n each(possbleValues, (possibleValue: string) => {\r\n each(cssPrefixesWithFirstEmpty, (prefix: string) => {\r\n const prop = prefix + possibleValue;\r\n dummyStyle.cssText = property + ':' + prop + preparedSuffix;\r\n if (dummyStyle.length) {\r\n result = prop;\r\n return false;\r\n }\r\n });\r\n return !result;\r\n });\r\n\r\n cssCache[name] = result;\r\n return result;\r\n}\r\n\r\n/**\r\n * Get the requested JS function, object or constructor with vendor prefix if it isn't supported without or undefined if unsupported.\r\n * @param name The name of the JS function, object or constructor.\r\n */\r\nexport const jsAPI: (name: string) => any = (name) => {\r\n let result: any = jsCache[name] || window[name];\r\n\r\n if (jsCache.hasOwnProperty(name))\r\n return result;\r\n\r\n each(jsPrefixes, (prefix: string) => {\r\n result = result || window[prefix + firstLetterToUpper(name)];\r\n return !result;\r\n });\r\n\r\n jsCache[name] = result;\r\n return result;\r\n}\r\n","import { each, indexOf } from 'core/utils/arrays';\r\nimport { type, isArray, isUndefined, isEmptyObject, isPlainObject, isString } from 'core/utils/types';\r\nimport { PlainObject, OptionsTemplate, OptionsTemplateTypes, OptionsTemplateType, OptionsValidated, Func, OptionsValidatedResult } from 'core/typings';\r\n\r\nconst stringify = JSON.stringify;\r\n\r\n/**\r\n * A prefix and suffix tuple which serves as recognition pattern for template types.\r\n */\r\nconst templateTypePrefixSuffix: readonly [string, string] = ['__TPL_', '_TYPE__'];\r\n/**\r\n * A object which serves as a mapping for \"normal\" types and template types.\r\n * Key = normal type string\r\n * value = template type string\r\n */\r\nconst optionsTemplateTypes: OptionsTemplateTypesDictionary = [\r\n 'boolean',\r\n 'number',\r\n 'string',\r\n 'array',\r\n 'object',\r\n 'function',\r\n 'null'\r\n].reduce((result, item) => {\r\n result[item] = templateTypePrefixSuffix[0] + item + templateTypePrefixSuffix[1];\r\n return result;\r\n}, {} as OptionsTemplateTypesDictionary);\r\n\r\n/**\r\n * Validates the given options object according to the given template object and returns a object which looks like:\r\n * {\r\n * foreign : a object which consists of properties which aren't defined inside the template. (foreign properties)\r\n * validated : a object which consists only of valid properties. (property name is inside the template and value has a correct type)\r\n * }\r\n * @param options The options object which shall be validated.\r\n * @param template The template according to which the options object shall be validated.\r\n * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.\r\n * Example (assume all properties are valid to the template): \r\n * Options object : { a: 'a', b: 'b', c: 'c' }\r\n * optionsDiff object : { a: 'a', b: 'b', c: undefined }\r\n * Returned validated object : { c: 'c' }\r\n * Because the value of the properties a and b didn't change, they aren't included in the returned object.\r\n * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' }\r\n * @param doWriteErrors True if errors shall be logged into the console, false otherwise.\r\n * @param propPath The propertyPath which lead to this object. (used for error logging)\r\n */\r\nconst validateRecursive = function (options: T, template: OptionsTemplate>, optionsDiff: OptionsValidated, doWriteErrors?: boolean, propPath?: string): OptionsValidatedResult {\r\n const validatedOptions: OptionsValidated = {};\r\n const optionsCopy: T = Object.assign({}, options);\r\n const props = Object.keys(template).filter(prop => options.hasOwnProperty(prop));\r\n\r\n each(props, (prop: Extract) => {\r\n const optionsDiffValue: any = isUndefined(optionsDiff[prop]) ? {} : optionsDiff[prop];\r\n const optionsValue: any = options[prop];\r\n const templateValue: PlainObject | string | OptionsTemplateTypes | Array = template[prop];\r\n const templateIsComplex = isPlainObject(templateValue);\r\n const propPrefix = propPath ? propPath + '.' : '';\r\n\r\n //if the template has a object as value, it means that the options are complex (verschachtelt)\r\n if (templateIsComplex && isPlainObject(optionsValue)) {\r\n const validatedResult = validateRecursive(optionsValue, templateValue as PlainObject, optionsDiffValue, doWriteErrors, propPrefix + prop);\r\n validatedOptions[prop] = validatedResult.validated;\r\n optionsCopy[prop] = validatedResult.foreign as any;\r\n\r\n each([optionsCopy, validatedOptions], (value) => {\r\n if (isEmptyObject(value[prop])) {\r\n delete value[prop];\r\n }\r\n });\r\n }\r\n else if (!templateIsComplex) {\r\n let isValid = false;\r\n const errorEnumStrings: Array = [];\r\n const errorPossibleTypes: Array = [];\r\n const optionsValueType = type(optionsValue);\r\n const templateValueArr: Array = !isArray(templateValue) ? [templateValue as string | OptionsTemplateTypes] : templateValue as Array;\r\n\r\n each(templateValueArr, (currTemplateType) => {\r\n //if currType value isn't inside possibleTemplateTypes we assume its a enum string value\r\n const isEnumString = indexOf(Object.values(optionsTemplateTypes), currTemplateType) < 0;\r\n if (isEnumString && isString(optionsValue)) {\r\n //split it into a array which contains all possible values for example: [\"yes\", \"no\", \"maybe\"]\r\n const enumStringSplit = currTemplateType.split(' ');\r\n isValid = !!enumStringSplit.find(possibility => possibility === optionsValue);\r\n\r\n // build error message\r\n errorEnumStrings.push(...enumStringSplit);\r\n }\r\n else {\r\n isValid = optionsTemplateTypes[optionsValueType] === currTemplateType;\r\n }\r\n\r\n // build error message\r\n errorPossibleTypes.push(isEnumString ? optionsTemplateTypes.string : currTemplateType);\r\n\r\n // continue if invalid, break if valid\r\n return !isValid;\r\n });\r\n\r\n\r\n if (isValid) {\r\n const doStringifyComparison = isArray(optionsValue) || isPlainObject(optionsValue);\r\n if (doStringifyComparison ? stringify(optionsValue) !== stringify(optionsDiffValue) : optionsValue !== optionsDiffValue) {\r\n validatedOptions[prop] = optionsValue;\r\n }\r\n }\r\n else if (doWriteErrors) {\r\n console.warn(`The option \"${propPrefix}${prop}\" wasn't set, because it doesn't accept the type [ ${optionsValueType.toUpperCase()} ] with the value of \"${optionsValue}\".\\r\\n` +\r\n `Accepted types are: [ ${errorPossibleTypes.join(', ').toUpperCase()} ].\\r\\n` +\r\n (errorEnumStrings.length > 0 ? `\\r\\nValid strings are: [ ${errorEnumStrings.join(', ')} ].` : ''))\r\n }\r\n\r\n delete optionsCopy[prop];\r\n }\r\n });\r\n\r\n return {\r\n foreign: optionsCopy,\r\n validated: validatedOptions\r\n };\r\n};\r\n\r\n/**\r\n * Validates the given options object according to the given template object and returns a object which looks like:\r\n * {\r\n * foreign : a object which consists of properties which aren't defined inside the template. (foreign properties)\r\n * validated : a object which consists only of valid properties. (property name is inside the template and value has a correct type)\r\n * }\r\n * @param options The options object which shall be validated.\r\n * @param template The template according to which the options object shall be validated.\r\n * @param optionsDiff When provided the returned validated object will only have properties which are different to this objects properties.\r\n * Example (assume all properties are valid to the template): \r\n * Options object : { a: 'a', b: 'b', c: 'c' }\r\n * optionsDiff object : { a: 'a', b: 'b', c: undefined }\r\n * Returned validated object : { c: 'c' }\r\n * Because the value of the properties a and b didn't change, they aren't included in the returned object.\r\n * Without the optionsDiff object the returned validated object would be: { a: 'a', b: 'b', c: 'c' }\r\n * @param doWriteErrors True if errors shall be logged into the console, false otherwise.\r\n */\r\nconst validate = function (options: T, template: OptionsTemplate>, optionsDiff?: OptionsValidated, doWriteErrors?: boolean): OptionsValidatedResult {\r\n /*\r\n if (!isEmptyObject(foreign) && doWriteErrors)\r\n console.warn(`The following options are discarded due to invalidity:\\r\\n ${window.JSON.stringify(foreign, null, 2)}`);\r\n\r\n \r\n //add values, which aren't specified in the template, to the finished validated object to prevent them from being discarded\r\n if (keepForeignProps) {\r\n Object.assign(result.validated, foreign);\r\n }\r\n */\r\n return validateRecursive(options, template, optionsDiff || {}, doWriteErrors || false);\r\n};\r\n\r\nexport { validate, optionsTemplateTypes };\r\n\r\ntype OptionsTemplateTypesDictionary = {\r\n readonly boolean: OptionsTemplateType;\r\n readonly number: OptionsTemplateType;\r\n readonly string: OptionsTemplateType;\r\n readonly array: OptionsTemplateType>;\r\n readonly object: OptionsTemplateType;\r\n readonly function: OptionsTemplateType;\r\n readonly null: OptionsTemplateType;\r\n}\r\n","import { jsAPI } from 'core/compatibility/vendors';\r\n\r\nexport const resizeObserver: any | undefined = jsAPI('ResizeObserver');","const targets: Set = new Set();\r\nconst targetInstanceMap: WeakMap = new WeakMap();\r\n\r\n/**\r\n * Adds the given OverlayScrollbars instance to the given element.\r\n * @param target The element which is the target of the OverlayScrollbars instance.\r\n * @param osInstance The OverlayScrollbars instance.\r\n */\r\nexport const addInstance: (target: Element, osInstance: any) => void = (target, osInstance) => {\r\n targetInstanceMap.set(target, osInstance);\r\n targets.add(target);\r\n}\r\n\r\n/**\r\n * Removes a OverlayScrollbars instance from the given element.\r\n * @param target The element from which its OverlayScrollbars instance shall be removed.\r\n */\r\nexport const removeInstance: (target: Element) => void = (target) => {\r\n targetInstanceMap.delete(target);\r\n targets.delete(target);\r\n}\r\n\r\n/**\r\n * Gets the OverlayScrollbars from the given element or undefined if it doesn't have one.\r\n * @param target The element of which its OverlayScrollbars instance shall be get.\r\n */\r\nexport const getInstance: (target: Element) => any = (target) => {\r\n return targetInstanceMap.get(target);\r\n}\r\n\r\n/**\r\n * Gets a Map which represents all active OverayScrollbars instances. \r\n * The Key is the ekement and the value is the instance.\r\n */\r\nexport const allInstances: () => ReadonlyMap = () => {\r\n const validTargetInstanceMap: Map = new Map();\r\n\r\n targets.forEach((target: Element) => {\r\n /* istanbul ignore else */\r\n if (targetInstanceMap.has(target)) {\r\n validTargetInstanceMap.set(target, targetInstanceMap.get(target))\r\n }\r\n });\r\n\r\n targets.clear();\r\n\r\n validTargetInstanceMap.forEach((instance: any, validTarget: Element) => {\r\n targets.add(validTarget);\r\n });\r\n\r\n return validTargetInstanceMap;\r\n}","\r\nimport { createDOM } from 'core/dom';\r\n\r\nexport * from 'core/compatibility';\r\nexport * from 'core/utils';\r\nexport * from 'core/dom';\r\nexport * from 'core/options';\r\nexport * from 'instances';\r\n\r\n\r\n\r\nexport default () => createDOM(`\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n fdfhdfgh\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
`);","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(95);\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/packages/overlayscrollbars/index.html similarity index 75% rename from index.html rename to packages/overlayscrollbars/index.html index aa3ab17..b68f357 100644 --- a/index.html +++ b/packages/overlayscrollbars/index.html @@ -9,8 +9,8 @@ -
hi
- +
hi
+ \ No newline at end of file diff --git a/packages/overlayscrollbars/package.json b/packages/overlayscrollbars/package.json new file mode 100644 index 0000000..1cb01d5 --- /dev/null +++ b/packages/overlayscrollbars/package.json @@ -0,0 +1,5 @@ +{ + "private": true, + "description": "OverlayScrollbars version 2", + "version": "0.0.1" +} \ No newline at end of file diff --git a/src/core/compatibility/apis.ts b/packages/overlayscrollbars/src/core/compatibility/apis.ts similarity index 100% rename from src/core/compatibility/apis.ts rename to packages/overlayscrollbars/src/core/compatibility/apis.ts diff --git a/src/core/compatibility/events.ts b/packages/overlayscrollbars/src/core/compatibility/events.ts similarity index 100% rename from src/core/compatibility/events.ts rename to packages/overlayscrollbars/src/core/compatibility/events.ts diff --git a/src/core/compatibility/index.ts b/packages/overlayscrollbars/src/core/compatibility/index.ts similarity index 100% rename from src/core/compatibility/index.ts rename to packages/overlayscrollbars/src/core/compatibility/index.ts diff --git a/src/core/compatibility/vendors.ts b/packages/overlayscrollbars/src/core/compatibility/vendors.ts similarity index 100% rename from src/core/compatibility/vendors.ts rename to packages/overlayscrollbars/src/core/compatibility/vendors.ts diff --git a/src/core/dom/attributes.ts b/packages/overlayscrollbars/src/core/dom/attributes.ts similarity index 100% rename from src/core/dom/attributes.ts rename to packages/overlayscrollbars/src/core/dom/attributes.ts diff --git a/src/core/dom/classes.ts b/packages/overlayscrollbars/src/core/dom/classes.ts similarity index 100% rename from src/core/dom/classes.ts rename to packages/overlayscrollbars/src/core/dom/classes.ts diff --git a/src/core/dom/create.ts b/packages/overlayscrollbars/src/core/dom/create.ts similarity index 100% rename from src/core/dom/create.ts rename to packages/overlayscrollbars/src/core/dom/create.ts diff --git a/src/core/dom/index.ts b/packages/overlayscrollbars/src/core/dom/index.ts similarity index 100% rename from src/core/dom/index.ts rename to packages/overlayscrollbars/src/core/dom/index.ts diff --git a/src/core/dom/manipulation.ts b/packages/overlayscrollbars/src/core/dom/manipulation.ts similarity index 100% rename from src/core/dom/manipulation.ts rename to packages/overlayscrollbars/src/core/dom/manipulation.ts diff --git a/src/core/dom/offset.ts b/packages/overlayscrollbars/src/core/dom/offset.ts similarity index 100% rename from src/core/dom/offset.ts rename to packages/overlayscrollbars/src/core/dom/offset.ts diff --git a/src/core/dom/style.ts b/packages/overlayscrollbars/src/core/dom/style.ts similarity index 100% rename from src/core/dom/style.ts rename to packages/overlayscrollbars/src/core/dom/style.ts diff --git a/src/core/dom/traversal.ts b/packages/overlayscrollbars/src/core/dom/traversal.ts similarity index 100% rename from src/core/dom/traversal.ts rename to packages/overlayscrollbars/src/core/dom/traversal.ts diff --git a/src/core/options/index.ts b/packages/overlayscrollbars/src/core/options/index.ts similarity index 100% rename from src/core/options/index.ts rename to packages/overlayscrollbars/src/core/options/index.ts diff --git a/src/core/options/transformation.ts b/packages/overlayscrollbars/src/core/options/transformation.ts similarity index 100% rename from src/core/options/transformation.ts rename to packages/overlayscrollbars/src/core/options/transformation.ts diff --git a/src/core/options/validation.ts b/packages/overlayscrollbars/src/core/options/validation.ts similarity index 100% rename from src/core/options/validation.ts rename to packages/overlayscrollbars/src/core/options/validation.ts diff --git a/src/core/typings.ts b/packages/overlayscrollbars/src/core/typings.ts similarity index 100% rename from src/core/typings.ts rename to packages/overlayscrollbars/src/core/typings.ts diff --git a/src/core/utils/arrays.ts b/packages/overlayscrollbars/src/core/utils/arrays.ts similarity index 100% rename from src/core/utils/arrays.ts rename to packages/overlayscrollbars/src/core/utils/arrays.ts diff --git a/src/core/utils/extend.ts b/packages/overlayscrollbars/src/core/utils/extend.ts similarity index 100% rename from src/core/utils/extend.ts rename to packages/overlayscrollbars/src/core/utils/extend.ts diff --git a/src/core/utils/index.ts b/packages/overlayscrollbars/src/core/utils/index.ts similarity index 100% rename from src/core/utils/index.ts rename to packages/overlayscrollbars/src/core/utils/index.ts diff --git a/src/core/utils/types.ts b/packages/overlayscrollbars/src/core/utils/types.ts similarity index 100% rename from src/core/utils/types.ts rename to packages/overlayscrollbars/src/core/utils/types.ts diff --git a/src/index.ts b/packages/overlayscrollbars/src/index.ts similarity index 96% rename from src/index.ts rename to packages/overlayscrollbars/src/index.ts index ac7d845..165e320 100644 --- a/src/index.ts +++ b/packages/overlayscrollbars/src/index.ts @@ -9,7 +9,7 @@ export * from 'instances'; -window['hi'] = createDOM(`\ +export default () => createDOM(`\
\
\
\ diff --git a/src/instances.ts b/packages/overlayscrollbars/src/instances.ts similarity index 100% rename from src/instances.ts rename to packages/overlayscrollbars/src/instances.ts diff --git a/src/options.ts b/packages/overlayscrollbars/src/options.ts similarity index 100% rename from src/options.ts rename to packages/overlayscrollbars/src/options.ts diff --git a/src/typings.ts b/packages/overlayscrollbars/src/typings.ts similarity index 97% rename from src/typings.ts rename to packages/overlayscrollbars/src/typings.ts index 44c8580..f08e1b5 100644 --- a/src/typings.ts +++ b/packages/overlayscrollbars/src/typings.ts @@ -39,9 +39,8 @@ export namespace OverlayScrollbars { | [Position, Position] | Position | HTMLElement - | JQuery | { - el: HTMLElement | JQuery; + el: HTMLElement; scroll?: ScrollBehavior | { x?: ScrollBehavior; y?: ScrollBehavior } | [ScrollBehavior, ScrollBehavior]; block?: BlockBehavior | { x?: BlockBehavior; y?: BlockBehavior } | [BlockBehavior, BlockBehavior]; margin?: Margin @@ -333,21 +332,21 @@ interface OverlayScrollbars { interface OverlayScrollbarsStatic { ( - element: HTMLElement | Element | JQuery, + element: HTMLElement | Element, options: OverlayScrollbars.Options, extensions?: OverlayScrollbars.Extensions ): OverlayScrollbars; ( - element: HTMLElement | Element | JQuery | null + element: HTMLElement | Element | null ): OverlayScrollbars | undefined; ( - elements: NodeListOf | ReadonlyArray | JQuery, + elements: NodeListOf | ReadonlyArray, options: OverlayScrollbars.Options, extensions?: OverlayScrollbars.Extensions ): OverlayScrollbars | OverlayScrollbars[] | undefined; ( - elements: NodeListOf | ReadonlyArray | JQuery, + elements: NodeListOf | ReadonlyArray, filter?: string | ((element: Element, instance: OverlayScrollbars) => boolean) ): OverlayScrollbars | OverlayScrollbars[] | undefined; diff --git a/tests/core/compatibility/vendors.test.ts b/packages/overlayscrollbars/tests/core/compatibility/vendors.test.ts similarity index 100% rename from tests/core/compatibility/vendors.test.ts rename to packages/overlayscrollbars/tests/core/compatibility/vendors.test.ts diff --git a/tests/core/dom/attributes.test.ts b/packages/overlayscrollbars/tests/core/dom/attributes.test.ts similarity index 100% rename from tests/core/dom/attributes.test.ts rename to packages/overlayscrollbars/tests/core/dom/attributes.test.ts diff --git a/tests/core/dom/classes.test.ts b/packages/overlayscrollbars/tests/core/dom/classes.test.ts similarity index 100% rename from tests/core/dom/classes.test.ts rename to packages/overlayscrollbars/tests/core/dom/classes.test.ts diff --git a/tests/core/dom/create.test.ts b/packages/overlayscrollbars/tests/core/dom/create.test.ts similarity index 100% rename from tests/core/dom/create.test.ts rename to packages/overlayscrollbars/tests/core/dom/create.test.ts diff --git a/tests/core/dom/manipulation.test.ts b/packages/overlayscrollbars/tests/core/dom/manipulation.test.ts similarity index 100% rename from tests/core/dom/manipulation.test.ts rename to packages/overlayscrollbars/tests/core/dom/manipulation.test.ts diff --git a/tests/core/dom/traversal.test.ts b/packages/overlayscrollbars/tests/core/dom/traversal.test.ts similarity index 100% rename from tests/core/dom/traversal.test.ts rename to packages/overlayscrollbars/tests/core/dom/traversal.test.ts diff --git a/tests/core/options/transformation.test.ts b/packages/overlayscrollbars/tests/core/options/transformation.test.ts similarity index 100% rename from tests/core/options/transformation.test.ts rename to packages/overlayscrollbars/tests/core/options/transformation.test.ts diff --git a/tests/core/options/validation.test.ts b/packages/overlayscrollbars/tests/core/options/validation.test.ts similarity index 100% rename from tests/core/options/validation.test.ts rename to packages/overlayscrollbars/tests/core/options/validation.test.ts diff --git a/tests/core/utils/arrays.test.ts b/packages/overlayscrollbars/tests/core/utils/arrays.test.ts similarity index 100% rename from tests/core/utils/arrays.test.ts rename to packages/overlayscrollbars/tests/core/utils/arrays.test.ts diff --git a/tests/core/utils/extend.test.ts b/packages/overlayscrollbars/tests/core/utils/extend.test.ts similarity index 100% rename from tests/core/utils/extend.test.ts rename to packages/overlayscrollbars/tests/core/utils/extend.test.ts diff --git a/tests/core/utils/types.test.ts b/packages/overlayscrollbars/tests/core/utils/types.test.ts similarity index 100% rename from tests/core/utils/types.test.ts rename to packages/overlayscrollbars/tests/core/utils/types.test.ts diff --git a/tests/instances.test.ts b/packages/overlayscrollbars/tests/instances.test.ts similarity index 100% rename from tests/instances.test.ts rename to packages/overlayscrollbars/tests/instances.test.ts diff --git a/tests/options.test.ts b/packages/overlayscrollbars/tests/options.test.ts similarity index 100% rename from tests/options.test.ts rename to packages/overlayscrollbars/tests/options.test.ts diff --git a/tsconfig.json b/packages/overlayscrollbars/tsconfig.json similarity index 72% rename from tsconfig.json rename to packages/overlayscrollbars/tsconfig.json index 69fccea..99d9862 100644 --- a/tsconfig.json +++ b/packages/overlayscrollbars/tsconfig.json @@ -5,10 +5,8 @@ "allowSyntheticDefaultImports": true, "esModuleInterop": true, "baseUrl": "./src", - "outDir": "./dist", - "target": "es2015", + "target": "es6", "sourceMap": true, - "inlineSources": true, "jsx": "react", "lib": [ "es6", @@ -17,18 +15,14 @@ "es2017" ], "declaration": true, - "declarationDir": "./dist/types", "suppressImplicitAnyIndexErrors": true, - "module": "es2015", + "module": "es6", "moduleResolution": "node", "removeComments": true }, - "include": [ - "./src", - "./tests" - ], "exclude": [ "./dist", + "**/*.test.*", "node_modules" ] } \ No newline at end of file diff --git a/packages/overlayscrollbars/types/core/compatibility/apis.d.ts b/packages/overlayscrollbars/types/core/compatibility/apis.d.ts new file mode 100644 index 0000000..c4540db --- /dev/null +++ b/packages/overlayscrollbars/types/core/compatibility/apis.d.ts @@ -0,0 +1 @@ +export declare const resizeObserver: any | undefined; diff --git a/packages/overlayscrollbars/types/core/compatibility/events.d.ts b/packages/overlayscrollbars/types/core/compatibility/events.d.ts new file mode 100644 index 0000000..830e5ce --- /dev/null +++ b/packages/overlayscrollbars/types/core/compatibility/events.d.ts @@ -0,0 +1 @@ +export declare const mouseButton: (event: MouseEvent) => number; diff --git a/packages/overlayscrollbars/types/core/compatibility/index.d.ts b/packages/overlayscrollbars/types/core/compatibility/index.d.ts new file mode 100644 index 0000000..3b8d5e2 --- /dev/null +++ b/packages/overlayscrollbars/types/core/compatibility/index.d.ts @@ -0,0 +1,3 @@ +export * from 'core/compatibility/vendors'; +export * from 'core/compatibility/apis'; +export * from 'core/compatibility/events'; diff --git a/packages/overlayscrollbars/types/core/compatibility/vendors.d.ts b/packages/overlayscrollbars/types/core/compatibility/vendors.d.ts new file mode 100644 index 0000000..3acf2d5 --- /dev/null +++ b/packages/overlayscrollbars/types/core/compatibility/vendors.d.ts @@ -0,0 +1,11 @@ +export declare const cssPrefixes: ReadonlyArray; +export declare const jsPrefixes: ReadonlyArray; +export declare const jsCache: { + [key: string]: any; +}; +export declare const cssCache: { + [key: string]: string; +}; +export declare const cssProperty: (name: string) => string | undefined; +export declare const cssPropertyValue: (property: string, values: string, suffix?: string) => string | undefined; +export declare const jsAPI: (name: string) => any; diff --git a/packages/overlayscrollbars/types/core/dom/attributes.d.ts b/packages/overlayscrollbars/types/core/dom/attributes.d.ts new file mode 100644 index 0000000..be80826 --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/attributes.d.ts @@ -0,0 +1,5 @@ +export declare const attr: (elm: Element, attrName: string, value?: string) => string | null | void; +export declare const removeAttr: (elm: Element, attrName: string) => void; +export declare const scrollLeft: (elm: HTMLElement, value?: number) => number | void; +export declare const scrollTop: (elm: HTMLElement, value?: number) => number | void; +export declare const val: (elm: HTMLInputElement, value?: string) => string | void; diff --git a/packages/overlayscrollbars/types/core/dom/classes.d.ts b/packages/overlayscrollbars/types/core/dom/classes.d.ts new file mode 100644 index 0000000..e098e95 --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/classes.d.ts @@ -0,0 +1,4 @@ +export declare const hasClass: (elm: Element, className: string) => boolean; +export declare const addClass: (elm: Element, className: string) => void; +export declare const removeClass: (elm: Element, className: string) => void; +export declare const conditionalClass: (elm: Element, className: string, condition: boolean) => void; diff --git a/packages/overlayscrollbars/types/core/dom/create.d.ts b/packages/overlayscrollbars/types/core/dom/create.d.ts new file mode 100644 index 0000000..3b52016 --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/create.d.ts @@ -0,0 +1,2 @@ +export declare const createDiv: () => HTMLDivElement; +export declare const createDOM: (html: string) => ReadonlyArray; diff --git a/packages/overlayscrollbars/types/core/dom/index.d.ts b/packages/overlayscrollbars/types/core/dom/index.d.ts new file mode 100644 index 0000000..0de3b87 --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/index.d.ts @@ -0,0 +1,7 @@ +export * from 'core/dom/attributes'; +export * from 'core/dom/classes'; +export * from 'core/dom/create'; +export * from 'core/dom/style'; +export * from 'core/dom/manipulation'; +export * from 'core/dom/offset'; +export * from 'core/dom/traversal'; diff --git a/packages/overlayscrollbars/types/core/dom/manipulation.d.ts b/packages/overlayscrollbars/types/core/dom/manipulation.d.ts new file mode 100644 index 0000000..f7202e5 --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/manipulation.d.ts @@ -0,0 +1,7 @@ +declare type NodeCollection = ArrayLike | Node | undefined | null; +export declare const appendChildren: (node: Node | null, children: NodeCollection) => void; +export declare const prependChildren: (node: Node | null, children: NodeCollection) => void; +export declare const insertBefore: (node: Node | null, insertedNodes: NodeCollection) => void; +export declare const insertAfter: (node: Node | null, insertedNodes: NodeCollection) => void; +export declare const removeElements: (nodes: NodeCollection) => void; +export {}; diff --git a/packages/overlayscrollbars/types/core/dom/offset.d.ts b/packages/overlayscrollbars/types/core/dom/offset.d.ts new file mode 100644 index 0000000..3ac393d --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/offset.d.ts @@ -0,0 +1,8 @@ +export declare const offset: (elm: HTMLElement) => { + top: number; + left: number; +}; +export declare const position: (elm: HTMLElement) => { + top: number; + left: number; +}; diff --git a/packages/overlayscrollbars/types/core/dom/style.d.ts b/packages/overlayscrollbars/types/core/dom/style.d.ts new file mode 100644 index 0000000..99dfb17 --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/style.d.ts @@ -0,0 +1,8 @@ +declare type cssStyleObj = { + [key: string]: string | number; +}; +export declare function style(elm: HTMLElement, styles: string | cssStyleObj): string; +export declare function style(elm: HTMLElement, styles: string | cssStyleObj, val: string | number): void; +export declare const hide: (elm: HTMLElement) => void; +export declare const show: (elm: HTMLElement) => void; +export {}; diff --git a/packages/overlayscrollbars/types/core/dom/traversal.d.ts b/packages/overlayscrollbars/types/core/dom/traversal.d.ts new file mode 100644 index 0000000..8fee561 --- /dev/null +++ b/packages/overlayscrollbars/types/core/dom/traversal.d.ts @@ -0,0 +1,6 @@ +export declare const find: (selector: string, elm?: Element | null) => ReadonlyArray; +export declare const findFirst: (selector: string, elm?: Element | null) => Element | null; +export declare const is: (elm: Element | null, selector: string) => boolean; +export declare const children: (elm: Element | null, selector?: string) => ReadonlyArray; +export declare const contents: (elm: Element | null) => ReadonlyArray; +export declare const parent: (elm: Node | null) => Node | null; diff --git a/packages/overlayscrollbars/types/core/options/index.d.ts b/packages/overlayscrollbars/types/core/options/index.d.ts new file mode 100644 index 0000000..9bb9056 --- /dev/null +++ b/packages/overlayscrollbars/types/core/options/index.d.ts @@ -0,0 +1,2 @@ +export * from 'core/options/validation'; +export * from 'core/options/transformation'; diff --git a/packages/overlayscrollbars/types/core/options/transformation.d.ts b/packages/overlayscrollbars/types/core/options/transformation.d.ts new file mode 100644 index 0000000..8fc0291 --- /dev/null +++ b/packages/overlayscrollbars/types/core/options/transformation.d.ts @@ -0,0 +1,3 @@ +import { OptionsTemplate, OptionsAndOptionsTemplate } from "core/typings"; +export declare function transform>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate): T; +export declare function transform>(optionsWithOptionsTemplate: OptionsAndOptionsTemplate, toTemplate: true | void): OptionsTemplate; diff --git a/packages/overlayscrollbars/types/core/options/validation.d.ts b/packages/overlayscrollbars/types/core/options/validation.d.ts new file mode 100644 index 0000000..25784eb --- /dev/null +++ b/packages/overlayscrollbars/types/core/options/validation.d.ts @@ -0,0 +1,13 @@ +import { PlainObject, OptionsTemplate, OptionsTemplateType, OptionsValidated, Func, OptionsValidatedResult } from 'core/typings'; +declare const optionsTemplateTypes: OptionsTemplateTypesDictionary; +declare const validate: >(options: T, template: OptionsTemplate>, optionsDiff?: OptionsValidated | undefined, doWriteErrors?: boolean | undefined) => OptionsValidatedResult; +export { validate, optionsTemplateTypes }; +declare type OptionsTemplateTypesDictionary = { + readonly boolean: OptionsTemplateType; + readonly number: OptionsTemplateType; + readonly string: OptionsTemplateType; + readonly array: OptionsTemplateType>; + readonly object: OptionsTemplateType; + readonly function: OptionsTemplateType; + readonly null: OptionsTemplateType; +}; diff --git a/packages/overlayscrollbars/types/core/typings.d.ts b/packages/overlayscrollbars/types/core/typings.d.ts new file mode 100644 index 0000000..836713e --- /dev/null +++ b/packages/overlayscrollbars/types/core/typings.d.ts @@ -0,0 +1,36 @@ +export declare type PlainObject = { + [name: string]: T; +}; +export declare type Func = (this: any, ...args: any[]) => any; +export declare type OptionsTemplateType = ExtractPropsKey; +export declare type OptionsTemplateTypes = keyof OptionsTemplateTypeMap; +export declare type OptionsTemplateNativeTypes = OptionsTemplateTypeMap[keyof OptionsTemplateTypeMap]; +export declare type OptionsTemplateValue = T extends string ? string extends T ? OptionsTemplateValueNonEnum : string : OptionsTemplateValueNonEnum; +export declare type OptionsTemplate> = { + [P in keyof T]: PlainObject extends T[P] ? OptionsTemplate> : T[P] extends OptionsTemplateNativeTypes ? OptionsTemplateValue : never; +}; +export declare type OptionsValidated = { + [P in keyof T]?: OptionsValidated; +}; +export declare type OptionsValidatedResult = { + readonly foreign: PlainObject; + readonly validated: OptionsValidated; +}; +export declare type OptionsAndOptionsTemplateValue = [T, OptionsTemplateValue]; +export declare type OptionsAndOptionsTemplate> = { + [P in keyof T]: PlainObject extends T[P] ? OptionsAndOptionsTemplate> : T[P] extends OptionsTemplateNativeTypes ? OptionsAndOptionsTemplateValue : never; +}; +declare type OptionsTemplateTypeMap = { + '__TPL_boolean_TYPE__': boolean; + '__TPL_number_TYPE__': number; + '__TPL_string_TYPE__': string; + '__TPL_array_TYPE__': Array; + '__TPL_function_TYPE__': Func; + '__TPL_null_TYPE__': null; + '__TPL_object_TYPE__': object; +}; +declare type ExtractPropsKey = { + [P in keyof T]: TProps extends T[P] ? P : never; +}[keyof T]; +declare type OptionsTemplateValueNonEnum = OptionsTemplateType | [OptionsTemplateType, ...Array]; +export {}; diff --git a/packages/overlayscrollbars/types/core/utils/arrays.d.ts b/packages/overlayscrollbars/types/core/utils/arrays.d.ts new file mode 100644 index 0000000..d34a61f --- /dev/null +++ b/packages/overlayscrollbars/types/core/utils/arrays.d.ts @@ -0,0 +1,8 @@ +import { PlainObject } from 'core/typings'; +export declare function each(array: Array | ReadonlyArray, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray; +export declare function each(array: Array | ReadonlyArray | null, callback: (value: T, indexOrKey: number, source: Array) => boolean | void): Array | ReadonlyArray | null; +export declare function each(arrayLikeObject: ArrayLike, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike; +export declare function each(arrayLikeObject: ArrayLike | null, callback: (value: T, indexOrKey: number, source: ArrayLike) => boolean | void): ArrayLike | null; +export declare function each(obj: PlainObject, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject; +export declare function each(obj: PlainObject | null, callback: (value: any, indexOrKey: string, source: PlainObject) => boolean | void): PlainObject | null; +export declare const indexOf: (arr: Array, item: T, fromIndex?: number) => number; diff --git a/packages/overlayscrollbars/types/core/utils/extend.d.ts b/packages/overlayscrollbars/types/core/utils/extend.d.ts new file mode 100644 index 0000000..fa1762f --- /dev/null +++ b/packages/overlayscrollbars/types/core/utils/extend.d.ts @@ -0,0 +1,5 @@ +export declare function extend(target: T, object1: U): T & U; +export declare function extend(target: T, object1: U, object2: V): T & U & V; +export declare function extend(target: T, object1: U, object2: V, object3: W): T & U & V & W; +export declare function extend(target: T, object1: U, object2: V, object3: W, object4: X): T & U & V & W & X; +export declare function extend(target: T, object1: U, object2: V, object3: W, object4: X, object5: Y): T & U & V & W & X & Y; diff --git a/packages/overlayscrollbars/types/core/utils/index.d.ts b/packages/overlayscrollbars/types/core/utils/index.d.ts new file mode 100644 index 0000000..5a30064 --- /dev/null +++ b/packages/overlayscrollbars/types/core/utils/index.d.ts @@ -0,0 +1,3 @@ +export * from 'core/utils/arrays'; +export * from 'core/utils/extend'; +export * from 'core/utils/types'; diff --git a/packages/overlayscrollbars/types/core/utils/types.d.ts b/packages/overlayscrollbars/types/core/utils/types.d.ts new file mode 100644 index 0000000..435b0e9 --- /dev/null +++ b/packages/overlayscrollbars/types/core/utils/types.d.ts @@ -0,0 +1,14 @@ +import { PlainObject } from 'core/typings'; +export declare const type: (obj: any) => string; +export declare function isNumber(obj: any): obj is number; +export declare function isString(obj: any): obj is string; +export declare function isBoolean(obj: any): obj is boolean; +export declare function isObject(obj: any): boolean; +export declare function isFunction(obj: any): obj is Function; +export declare function isUndefined(obj: any): obj is undefined; +export declare function isNull(obj: any): obj is null; +export declare function isArray(obj: any): obj is Array; +export declare function isArrayLike(obj: any): obj is ArrayLike; +export declare function isPlainObject(obj: any): obj is PlainObject; +export declare function isHTMLElement(obj: any): obj is HTMLElement; +export declare function isEmptyObject(obj: any): boolean; diff --git a/packages/overlayscrollbars/types/index.d.ts b/packages/overlayscrollbars/types/index.d.ts new file mode 100644 index 0000000..de2be5d --- /dev/null +++ b/packages/overlayscrollbars/types/index.d.ts @@ -0,0 +1,7 @@ +export * from 'core/compatibility'; +export * from 'core/utils'; +export * from 'core/dom'; +export * from 'core/options'; +export * from 'instances'; +declare const _default: () => readonly Node[]; +export default _default; diff --git a/packages/overlayscrollbars/types/instances.d.ts b/packages/overlayscrollbars/types/instances.d.ts new file mode 100644 index 0000000..10d9012 --- /dev/null +++ b/packages/overlayscrollbars/types/instances.d.ts @@ -0,0 +1,4 @@ +export declare const addInstance: (target: Element, osInstance: any) => void; +export declare const removeInstance: (target: Element) => void; +export declare const getInstance: (target: Element) => any; +export declare const allInstances: () => ReadonlyMap; diff --git a/packages/overlayscrollbars/types/options.d.ts b/packages/overlayscrollbars/types/options.d.ts new file mode 100644 index 0000000..829f9d5 --- /dev/null +++ b/packages/overlayscrollbars/types/options.d.ts @@ -0,0 +1,4 @@ +import { OptionsTemplate } from "core/typings"; +import { OverlayScrollbars } from "typings"; +export declare const optionsTemplate: OptionsTemplate>; +export declare const defaultOptions: OverlayScrollbars.Options; diff --git a/packages/overlayscrollbars/types/typings.d.ts b/packages/overlayscrollbars/types/typings.d.ts new file mode 100644 index 0000000..8024029 --- /dev/null +++ b/packages/overlayscrollbars/types/typings.d.ts @@ -0,0 +1,295 @@ +export declare namespace OverlayScrollbars { + type ResizeBehavior = "none" | "both" | "horizontal" | "vertical"; + type OverflowBehavior = "hidden" | "scroll" | "visible-hidden" | "visible-scroll"; + type VisibilityBehavior = "visible" | "hidden" | "auto"; + type AutoHideBehavior = "never" | "scroll" | "leave" | "move"; + type ScrollBehavior = "always" | "ifneeded" | "never"; + type BlockBehavior = "begin" | "end" | "center" | "nearest"; + type Easing = string | null | undefined; + type Margin = number | boolean; + type Position = number | string; + type Extensions = string | ReadonlyArray | { + [extensionName: string]: {}; + }; + type BasicEventCallback = (this: OverlayScrollbars) => void; + type ScrollEventCallback = (this: OverlayScrollbars, args?: UIEvent) => void; + type OverflowChangedCallback = (this: OverlayScrollbars, args?: OverflowChangedArgs) => void; + type OverflowAmountChangedCallback = (this: OverlayScrollbars, args?: OverflowAmountChangedArgs) => void; + type DirectionChangedCallback = (this: OverlayScrollbars, args?: DirectionChangedArgs) => void; + type SizeChangedCallback = (this: OverlayScrollbars, args?: SizeChangedArgs) => void; + type UpdatedCallback = (this: OverlayScrollbars, args?: UpdatedArgs) => void; + type Coordinates = { + x?: Position; + y?: Position; + } | { + l?: Position; + t?: Position; + } | { + left?: Position; + top?: Position; + } | [Position, Position] | Position | HTMLElement | { + el: HTMLElement; + scroll?: ScrollBehavior | { + x?: ScrollBehavior; + y?: ScrollBehavior; + } | [ScrollBehavior, ScrollBehavior]; + block?: BlockBehavior | { + x?: BlockBehavior; + y?: BlockBehavior; + } | [BlockBehavior, BlockBehavior]; + margin?: Margin | { + top?: Margin; + right?: Margin; + bottom?: Margin; + left?: Margin; + } | [Margin, Margin] | [Margin, Margin, Margin, Margin]; + }; + interface OverflowChangedArgs { + x: boolean; + y: boolean; + xScrollable: boolean; + yScrollable: boolean; + clipped: boolean; + } + interface OverflowAmountChangedArgs { + x: number; + y: number; + } + interface DirectionChangedArgs { + isRTL: number; + dir: string; + } + interface SizeChangedArgs { + width: number; + height: number; + } + interface UpdatedArgs { + forced: boolean; + } + interface Options { + className?: string | null; + resize?: ResizeBehavior; + sizeAutoCapable?: boolean; + clipAlways?: boolean; + normalizeRTL?: boolean; + paddingAbsolute?: boolean; + autoUpdate?: boolean | null; + autoUpdateInterval?: number; + updateOnLoad?: string | ReadonlyArray | null; + nativeScrollbarsOverlaid?: { + showNativeScrollbars?: boolean; + initialize?: boolean; + }; + overflowBehavior?: { + x?: OverflowBehavior; + y?: OverflowBehavior; + }; + scrollbars?: { + visibility?: VisibilityBehavior; + autoHide?: AutoHideBehavior; + autoHideDelay?: number; + dragScrolling?: boolean; + clickScrolling?: boolean; + touchSupport?: boolean; + snapHandle?: boolean; + }; + textarea?: { + dynWidth?: boolean; + dynHeight?: boolean; + inheritedAttrs?: string | ReadonlyArray | null; + }; + callbacks?: { + onInitialized?: BasicEventCallback | null; + onInitializationWithdrawn?: BasicEventCallback | null; + onDestroyed?: BasicEventCallback | null; + onScrollStart?: ScrollEventCallback | null; + onScroll?: ScrollEventCallback | null; + onScrollStop?: ScrollEventCallback | null; + onOverflowChanged?: OverflowChangedCallback | null; + onOverflowAmountChanged?: OverflowAmountChangedCallback | null; + onDirectionChanged?: DirectionChangedCallback | null; + onContentSizeChanged?: SizeChangedCallback | null; + onHostSizeChanged?: SizeChangedCallback | null; + onUpdated?: UpdatedCallback | null; + }; + } + interface ScrollInfo { + position: { + x: number; + y: number; + }; + ratio: { + x: number; + y: number; + }; + max: { + x: number; + y: number; + }; + handleOffset: { + x: number; + y: number; + }; + handleLength: { + x: number; + y: number; + }; + handleLengthRatio: { + x: number; + y: number; + }; + trackLength: { + x: number; + y: number; + }; + snappedHandleOffset: { + x: number; + y: number; + }; + isRTL: boolean; + isRTLNormalized: boolean; + } + interface Elements { + target: HTMLElement; + host: HTMLElement; + padding: HTMLElement; + viewport: HTMLElement; + content: HTMLElement; + scrollbarHorizontal: { + scrollbar: HTMLElement; + track: HTMLElement; + handle: HTMLElement; + }; + scrollbarVertical: { + scrollbar: HTMLElement; + track: HTMLElement; + handle: HTMLElement; + }; + scrollbarCorner: HTMLElement; + } + interface State { + destroyed: boolean; + sleeping: boolean; + autoUpdate: boolean; + widthAuto: boolean; + heightAuto: boolean; + documentMixed: boolean; + padding: { + t: number; + r: number; + b: number; + l: number; + }; + overflowAmount: { + x: number; + y: number; + }; + hideOverflow: { + x: boolean; + y: boolean; + xs: boolean; + ys: boolean; + }; + hasOverflow: { + x: boolean; + y: boolean; + }; + contentScrollSize: { + width: number; + height: number; + }; + viewportSize: { + width: number; + height: number; + }; + hostSize: { + width: number; + height: number; + }; + } + interface Extension { + contract(global: any): boolean; + added(options?: {}): void; + removed(): void; + on(callbackName: string, callbackArgs?: UIEvent | OverflowChangedArgs | OverflowAmountChangedArgs | DirectionChangedArgs | SizeChangedArgs | UpdatedArgs): void; + } + interface ExtensionInfo { + name: string; + extensionFactory: (this: OverlayScrollbars, defaultOptions: {}, compatibility: Compatibility, framework: any) => Extension; + defaultOptions?: {}; + } + interface Globals { + defaultOptions: {}; + autoUpdateLoop: boolean; + autoUpdateRecommended: boolean; + supportMutationObserver: boolean; + supportResizeObserver: boolean; + supportPassiveEvents: boolean; + supportTransform: boolean; + supportTransition: boolean; + restrictedMeasuring: boolean; + nativeScrollbarStyling: boolean; + cssCalc: string | null; + nativeScrollbarSize: { + x: number; + y: number; + }; + nativeScrollbarIsOverlaid: { + x: boolean; + y: boolean; + }; + overlayScrollbarDummySize: { + x: number; + y: number; + }; + rtlScrollBehavior: { + i: boolean; + n: boolean; + }; + } + interface Compatibility { + wW(): number; + wH(): number; + mO(): any; + rO(): any; + rAF(): (callback: (...args: any[]) => any) => number; + cAF(): (requestID: number) => void; + now(): number; + stpP(event: Event): void; + prvD(event: Event): void; + page(event: MouseEvent): { + x: number; + y: number; + }; + mBtn(event: MouseEvent): number; + inA(item: T, array: T[]): number; + isA(obj: any): boolean; + type(obj: any): string; + bind(func: (...args: any[]) => any, thisObj: any, ...args: any[]): any; + } +} +interface OverlayScrollbars { + options(): OverlayScrollbars.Options; + options(options: OverlayScrollbars.Options): void; + options(optionName: string): any; + options(optionName: string, optionValue: {} | null): void; + update(force?: boolean): void; + sleep(): void; + scroll(): OverlayScrollbars.ScrollInfo; + scroll(coordinates: OverlayScrollbars.Coordinates, duration?: number, easing?: OverlayScrollbars.Easing | { + x?: OverlayScrollbars.Easing; + y?: OverlayScrollbars.Easing; + } | [OverlayScrollbars.Easing, OverlayScrollbars.Easing], complete?: (...args: any[]) => any): void; + scroll(coordinates: OverlayScrollbars.Coordinates, options: {}): void; + scrollStop(): OverlayScrollbars; + getElements(): OverlayScrollbars.Elements; + getElements(elementName: string): any; + getState(): OverlayScrollbars.State; + getState(stateProperty: string): any; + destroy(): void; + ext(): {}; + ext(extensionName: string): OverlayScrollbars.Extension; + addExt(extensionName: string, options: {}): OverlayScrollbars.Extension; + removeExt(extensionName: string): boolean; +} +export {}; diff --git a/packages/overlayscrollbars/webpack.config.js b/packages/overlayscrollbars/webpack.config.js new file mode 100644 index 0000000..fb21806 --- /dev/null +++ b/packages/overlayscrollbars/webpack.config.js @@ -0,0 +1,7 @@ +export default { + output: { + library: 'OverlayScrollbars', + libraryTarget: 'umd', + libraryExport: 'default', + } +} \ No newline at end of file diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 576da5c..0000000 --- a/rollup.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import resolve from '@rollup/plugin-node-resolve'; - -const jsFilesDir = './dist/src' - -module.exports = { - input: `${jsFilesDir}/index.js`, - output: { - name: 'OverlayScrollbars', - file: 'index.bundle.js', - format: 'umd', - exports: 'named', - sourcemap: true, - strict: true - }, - plugins: [ - resolve({ - customResolveOptions: { - moduleDirectory: [jsFilesDir, 'node_modules'] - } - }) - ] -}; \ No newline at end of file diff --git a/webpack.config.babel.js b/webpack.config.babel.js new file mode 100644 index 0000000..a821bc4 --- /dev/null +++ b/webpack.config.babel.js @@ -0,0 +1,118 @@ +import path from 'path'; +import TerserPlugin from 'terser-webpack-plugin'; +import { CleanWebpackPlugin } from 'clean-webpack-plugin'; +import { merge } from 'webpack-merge'; + +const projectRootPath = './packages'; +const projectSrcDirectory = './src'; +const projectDistDirectory = './dist'; +const projectTypesDirectory = './types'; +const projectEntry = 'index'; + +const outputs = [{ + extension: 'js', + target: 'es5', + ecmaVersion: 5, +}, { + extension: 'esm.js', + target: 'es6', + ecmaVersion: 6, +}]; + +export default async (env) => { + const { + project, + src = projectSrcDirectory, + dist = projectDistDirectory, + types = projectTypesDirectory, + entry = projectEntry, + production + } = env; + const projectPath = path.resolve(__dirname, projectRootPath, project); + const srcPath = path.resolve(projectPath, src); + const distPath = path.resolve(projectPath, dist); + const typesPath = path.resolve(projectPath, types); + const entryPath = path.resolve(srcPath, entry); + + const webpackConfigPath = path.resolve(projectPath, 'webpack.config.js'); + const packageJSONPath = path.resolve(projectPath, 'package.json'); + const tsconfigJSONPath = path.resolve(projectPath, 'tsconfig.json'); + const nodeModulesPath = path.resolve(projectPath, 'node_modules'); + + const { default: webpackConfig } = await import(webpackConfigPath); + const { compilerOptions } = await import(tsconfigJSONPath); + const { devDependencies = {}, peerDependencies = {} } = await import(packageJSONPath); + + const genConfigObj = ({ target, ecmaVersion, extension }, isFirstRun) => (merge({ + entry: entryPath, + mode: production ? 'production' : 'development', + devtool: 'source-map', + optimization: { + minimize: true, + minimizer: [ + new TerserPlugin({ + sourceMap: true, + extractComments: false, + terserOptions: { + mangle: { + properties: { + regex: /^_/ + } + }, + output: { + beautify: true, + comments: false + } + }, + }), + ], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + exclude: /node_modules/, + use: [ + { + loader: 'ts-loader', + options: { + compilerOptions: { + ...compilerOptions, + target: target, + declarationDir: typesPath, + } + } + } + ] + }, + ], + }, + resolve: { + extensions: ['.tsx', '.ts', '.js', 'jsx'], + modules: [ + srcPath, + nodeModulesPath, + path.resolve(__dirname, 'node_modules'), + ], + }, + output: { + filename: `${project}.${extension}`, + path: distPath, + ecmaVersion + }, + externals: [ + ...Object.keys(devDependencies), + ...Object.keys(peerDependencies) + ], + plugins: [ + ].concat(isFirstRun ? [new CleanWebpackPlugin({ + verbose: true, + cleanOnceBeforeBuildPatterns: [ + distPath, + typesPath + ] + })] : []) + }, webpackConfig)); + + return outputs.map((output, index) => genConfigObj(output, index === 0)) +}; \ No newline at end of file