├── .eslintignore
├── .eslintrc.yml
├── CHANGELOG.md
├── README.md
├── dist
├── phaser-plugin-debug-draw.esm.js
└── phaser-plugin-debug-draw.umd.js
├── package-lock.json
├── package.json
├── preview.png
├── rollup.config.js
├── src
├── colors.js
└── main.js
└── tests
├── .eslintrc.yml
├── assets
├── blue-planet.png
├── elephant.png
├── grid.png
├── mask.png
├── nebula.png
└── starfield.png
├── index.html
└── tests.js
/.eslintignore:
--------------------------------------------------------------------------------
1 | dist/
2 |
--------------------------------------------------------------------------------
/.eslintrc.yml:
--------------------------------------------------------------------------------
1 | extends: semistandard
2 | env:
3 | browser: true
4 | es6: true
5 | parserOptions:
6 | sourceType: module
7 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | 7.1.0 / 2023-02-01
2 | ------------------
3 |
4 | - Changed: sets graphic depth so it's always on top.
5 |
6 | 7.0.0 / 2021-05-27
7 | ------------------
8 |
9 | - Changed: Phaser v3.53.0 or later is required.
10 | - Changed: uses the scene `PRE_RENDER` event instead of `POST_UPDATE`.
11 |
12 | 6.0.1 / 2021-01-28
13 | ------------------
14 |
15 | - Fixed: bounds display for objects with scale 0.
16 |
17 | 6.0.0 / 2021-01-27
18 | ------------------
19 |
20 | - Removed: drawing points and vertices. Use the `setDebug()` methods of Mesh and Rope instead.
21 | - Added: draws Lights.
22 | - Added: draws game objects in Layers.
23 |
24 | 5.0.1 / 2021-01-26
25 | ------------------
26 |
27 | - Fixed: Mesh and Rope vertices were not drawn.
28 | - Fixed: Masks now drawn only once.
29 |
30 | 5.0.0 / 2020-11-08
31 | ------------------
32 |
33 | - Removed: CommonJS build.
34 |
35 | 4.7.1 / 2020-11-08
36 | ------------------
37 |
38 | - Fixed: error for Star game objects.
39 |
40 | 4.7.0 / 2020-04-30
41 | ------------------
42 |
43 | - Added: draws camera `followOffset`.
44 | - Changed: draws a dot for camera follow target.
45 |
46 | 4.6.0 / 2020-02-04
47 | ------------------
48 |
49 | - Changed: draws no box for objects with size but no origin (Blitter, Mesh, Quad, Rope).
50 |
51 | 4.5.0 / 2020-01-30
52 | ------------------
53 |
54 | - Added: draws object `points` (e.g., Rope).
55 | - Added: draws a vector for dragged input pointer.
56 | - Changed: object vertices are scaled.
57 | - Fixed: start by `load.scenePlugin()`.
58 |
59 | 4.4.0 / 2020-01-22
60 | ------------------
61 |
62 | - Added drawing object vertices.
63 | - Changed default `pointerDownColor`.
64 |
65 | 4.3.0 / 2020-01-09
66 | ------------------
67 |
68 | - Added drawing the camera follow target.
69 | - Changed the default colors. More saturated.
70 | - Switched to the scene's `postupdate` event, from `render`.
71 |
72 | 4.2.0 / 2020-01-07
73 | ------------------
74 |
75 | - Changed the default `color` value, now light blue again.
76 |
77 | 4.1.0 / 2020-01-07
78 | ------------------
79 |
80 | - Added drawing of camera bounds.
81 | - Added drawing of camera deadzone.
82 | - Changed the default colors slightly.
83 |
84 | 4.0.0 / 2019-11-26
85 | ------------------
86 |
87 | - Removed input hit area shapes. This is better done with [input.enableDebug()][1].
88 | - Changed the `dist/` file names.
89 | - Changed: when a scene is inactive (paused) or has input disabled, its input pointers are hidden.
90 | - Changed: when a scene is inactive (paused) or has input disabled, any interactive objects are drawn in `color`, not `inputColor` or `inputDisabedColor`.
91 | - Fixed rotation angle.
92 | - Fixed pointer position for offset cameras.
93 | - Added `inputDisabledColor` for disabled interactive objects.
94 |
95 | [1]: https://photonstorm.github.io/phaser3-docs/Phaser.Input.InputPlugin.html#enableDebug
96 |
97 | 3.4.0 / 2019-10-20
98 | ------------------
99 |
100 | - Added toggle method.
101 | - Added `showInput` and `showRotation` options.
102 | - Changed the default pointer colors.
103 |
104 | 3.3.0 / 2019-10-20
105 | ------------------
106 |
107 | - Added display of input pointers.
108 | - Added display of object rotation.
109 | - Changed the size of the origin point.
110 |
111 | 3.2.0 / 2019-10-19
112 | ------------------
113 |
114 | - Changed the default styles to 100% alpha and 1px stroke width.
115 | - Added proper dimensions for objects with no `displayWidth` and `displayHeight`.
116 |
117 | 3.1.0 / 2019-10-01
118 | ------------------
119 |
120 | - Added drawing a point for object position (origin).
121 |
122 | 3.0.0 / 2019-09-24
123 | ------------------
124 |
125 | - Changed the 'main' file. There are now 3 package builds for 'browser' (UMD), 'main' (CommonJS), and 'module' (ES6).
126 |
127 | 2.1.0 / 2019-09-24
128 | ------------------
129 |
130 | - Added polygon hit areas.
131 | - Added automatic bringToTop() call.
132 | - Required Phaser v3.19 or above.
133 |
134 | 2.0.3 / 2019-09-18
135 | ------------------
136 |
137 | - Updated dev dependencies.
138 |
139 | 2.0.2 / 2019-09-17
140 | ------------------
141 |
142 | - Changed Phaser to a peer dependency.
143 |
144 | 2.0.1 / 2019-06-13
145 | ------------------
146 |
147 | - Updated dev dependencies.
148 |
149 | 2.0.0 / 2019-03-05
150 | ------------------
151 |
152 | - Changed 'main' file to `src/index.js` (ES6 module).
153 |
154 | 1.0.3 / 2019-02-19
155 | ------------------
156 |
157 | - Updated dev dependencies.
158 |
159 | 1.0.2 / 2019-01-15
160 | ------------------
161 |
162 | - Fixed error for unknown hitArea constructor.
163 |
164 | 1.0.1 / 2018-11-18
165 | ------------------
166 |
167 | - Updated README.
168 |
169 | 1.0.0 / 2018-11-13
170 | ------------------
171 |
172 | - npm release.
173 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | Phaser 3 Debug Draw Plugin
4 | ==========================
5 |
6 | See [demos](https://codepen.io/collection/GomapQ), [screenshots](https://phaser.discourse.group/t/debug-draw-plugin-phaser-3/4480).
7 |
8 | It shows:
9 |
10 | - Game Objects with origin, bounds, rotation, input
11 | - Bitmap Masks
12 | - Input pointers
13 | - Camera bounds, deadzone, and follow target
14 | - Lights
15 |
16 | It doesn't show:
17 |
18 | - Game Objects in Containers
19 | - Blitter Bobs
20 | - Particle Emitters
21 |
22 | Install
23 | -------
24 |
25 | The current version of the plugin requires Phaser v3.53.0 or later. It should work with Phaser v3.80.0-beta.2 as well, but if you're installing the plugin with npm you'll need to use `--force`.
26 |
27 | ### Browser / UMD
28 |
29 | Download and add the [plugin UMD script](dist/phaser-plugin-debug-draw.umd.js):
30 |
31 | ```html
32 |
33 |
34 | ```
35 |
36 | Or use the CDN scripts:
37 |
38 | ```html
39 |
40 |
41 | ```
42 |
43 | Then add to your game config:
44 |
45 | ```js
46 | /* global PhaserDebugDrawPlugin */
47 |
48 | new Phaser.Game({
49 | plugins: {
50 | scene: [
51 | { key: 'DebugDrawPlugin', plugin: PhaserDebugDrawPlugin, mapping: 'debugDraw' }
52 | ]
53 | }
54 | });
55 | ```
56 |
57 | Or if you would rather activate the plugin per scene:
58 |
59 | ```js
60 | /* global PhaserDebugDrawPlugin */
61 |
62 | new Phaser.Game({
63 | plugins: {
64 | scene: [{ key: 'DebugDrawPlugin', plugin: PhaserDebugDrawPlugin }]
65 | },
66 | scene: [
67 | new Phaser.Scene({
68 | key: 'debugDrawScene',
69 | plugins: [
70 | ...Phaser.Plugins.DefaultPlugins.DefaultScene,
71 | 'DebugDrawPlugin'
72 | ]
73 | }),
74 | new Phaser.Scene({
75 | key: 'noDebugDrawScene'
76 | })
77 | ]
78 | });
79 | ```
80 |
81 | ### Module
82 |
83 | ```js
84 | import DebugDrawPlugin from 'phaser-plugin-debug-draw';
85 |
86 | new Phaser.Game({
87 | plugins: {
88 | scene: [
89 | { key: 'DebugDrawPlugin', plugin: DebugDrawPlugin, mapping: 'debugDraw' }
90 | ]
91 | }
92 | });
93 | ```
94 |
95 | ### Quick Load
96 |
97 | Add to your first scene:
98 |
99 | ```js
100 | function preload () {
101 | this.load.scenePlugin(
102 | 'PhaserDebugDrawPlugin',
103 | 'https://cdn.jsdelivr.net/npm/phaser-plugin-debug-draw@7.1.0',
104 | 'debugDraw',
105 | 'debugDraw'
106 | );
107 | }
108 | ```
109 |
110 | ### Load from Console
111 |
112 | Given a global variable `game`:
113 |
114 | ```js
115 | game.scene
116 | .getScenes(true)[0]
117 | .load
118 | .scenePlugin(
119 | 'PhaserDebugDrawPlugin',
120 | 'https://cdn.jsdelivr.net/npm/phaser-plugin-debug-draw@7.1.0',
121 | 'debugDraw',
122 | 'debugDraw'
123 | )
124 | .start();
125 | ```
126 |
127 | Options
128 | -------
129 |
130 | Set properties on the plugin instance, e.g.,
131 |
132 | ```js
133 | // In scene `init()` or `create()`:
134 | this.debugDraw.showPointers = false;
135 | ```
136 |
137 | See `console.log(this.debugDraw)` for all the options.
138 |
139 | Position & Bounds
140 | -----------------
141 |
142 | It draws a dot on the Game Object's `x`, `y`.
143 |
144 | If the Game Object has an origin, it also draws a rectangle from the origin with dimensions (`displayWidth`, `displayWidth`) or (`height`, `width`).
145 |
146 | Mesh & Rope
147 | -----------
148 |
149 | ```js
150 | // In scene `create()`:
151 | mesh.setDebug(this.debugDraw.graphic);
152 | rope.setDebug(this.debugDraw.graphic);
153 | ```
154 |
--------------------------------------------------------------------------------
/dist/phaser-plugin-debug-draw.esm.js:
--------------------------------------------------------------------------------
1 | import Phaser from 'phaser';
2 |
3 | var colors = {
4 | aqua: 0x00d9f7,
5 | black: 0x000000,
6 | blue: 0x0050d4,
7 | fuchsia: 0xff00c3,
8 | gray: 0x333333,
9 | green: 0x00d942,
10 | lime: 0xb4d900,
11 | maroon: 0x790009,
12 | navy: 0x002b75,
13 | olive: 0x00b562,
14 | orange: 0xeb7700,
15 | purple: 0x8d00ff,
16 | red: 0xeb0012,
17 | silver: 0x777777,
18 | teal: 0x00a6a6,
19 | white: 0xffffff,
20 | yellow: 0xebcf00
21 | };
22 |
23 | var cos = Math.cos;
24 | var max = Math.max;
25 | var sin = Math.sin;
26 | var ref = Phaser.Scenes.Events;
27 | var START = ref.START;
28 | var PRE_RENDER = ref.PRE_RENDER;
29 | var SHUTDOWN = ref.SHUTDOWN;
30 | var DESTROY = ref.DESTROY;
31 | var ref$1 = Phaser.Utils.Array;
32 | var Each = ref$1.Each;
33 | var POINTER_RADIUS = 20;
34 |
35 | var DebugDrawPlugin = /*@__PURE__*/(function (superclass) {
36 | function DebugDrawPlugin () {
37 | superclass.apply(this, arguments);
38 | }
39 |
40 | if ( superclass ) DebugDrawPlugin.__proto__ = superclass;
41 | DebugDrawPlugin.prototype = Object.create( superclass && superclass.prototype );
42 | DebugDrawPlugin.prototype.constructor = DebugDrawPlugin;
43 |
44 | DebugDrawPlugin.prototype.boot = function boot () {
45 | if (Phaser.VERSION.split('.')[1] < 53) {
46 | throw new Error('Phaser v3.53.0 or greater is required. Or use ');
47 | }
48 |
49 | this.systems.events
50 | .on(START, this.sceneStart, this)
51 | .on(PRE_RENDER, this.scenePreRender, this)
52 | .on(SHUTDOWN, this.sceneShutdown, this)
53 | .once(DESTROY, this.sceneDestroy, this);
54 |
55 | if (this.systems.settings.isBooted) {
56 | this.sceneStart();
57 | }
58 | };
59 |
60 | DebugDrawPlugin.prototype.sceneStart = function sceneStart () {
61 | this.graphic = this.scene.add.graphics().setDepth(Number.MAX_VALUE);
62 | };
63 |
64 | DebugDrawPlugin.prototype.sceneShutdown = function sceneShutdown () {
65 | this.graphic.destroy();
66 | this.graphic = null;
67 | };
68 |
69 | DebugDrawPlugin.prototype.scenePreRender = function scenePreRender () {
70 | this.drawAll();
71 | };
72 |
73 | DebugDrawPlugin.prototype.drawAll = function drawAll () {
74 | var ref = this.systems;
75 | var cameras = ref.cameras;
76 | var displayList = ref.displayList;
77 | var lights = ref.lights;
78 |
79 | if (!displayList.length) { return; }
80 |
81 | var disabledInputObjs = [];
82 | var inputObjs = [];
83 | var maskObjs = [];
84 | var otherObjs = [];
85 | var showInput = this.showInput && this.systems.input.isActive();
86 |
87 | this.graphic.clear();
88 |
89 | displayList.each(this.processObj, this, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput);
90 |
91 | if (otherObjs.length) {
92 | this.drawOthers(otherObjs);
93 | }
94 |
95 | if (disabledInputObjs.length) {
96 | this.drawDisabledInputs(disabledInputObjs);
97 | }
98 |
99 | if (inputObjs.length) {
100 | this.drawInputs(inputObjs);
101 | }
102 |
103 | if (maskObjs.length) {
104 | this.drawMasks(maskObjs);
105 | }
106 |
107 | if (showInput && this.showPointers) {
108 | this.drawPointers(this.getPointers());
109 | }
110 |
111 | this.drawCamera(cameras.main);
112 |
113 | if (lights && lights.active && this.showLights) {
114 | this.drawLights(lights.lights);
115 | }
116 |
117 | // For Mesh/Rope debug callbacks
118 | this.setColor(this.color);
119 | };
120 |
121 | DebugDrawPlugin.prototype.processObj = function processObj (obj, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput) {
122 | if (obj.input && showInput) {
123 | if (obj.input.enabled) {
124 | inputObjs[inputObjs.length] = obj;
125 | } else {
126 | disabledInputObjs[disabledInputObjs.length] = obj;
127 | }
128 | } else if (obj.type === 'Layer') {
129 | Each(obj.list, this.processObj, this, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput);
130 | } else {
131 | otherObjs[otherObjs.length] = obj;
132 | }
133 |
134 | var maskObj = obj.mask ? obj.mask.bitmapMask : null;
135 |
136 | if (maskObj && maskObjs.indexOf(maskObj) === -1) {
137 | maskObjs[maskObjs.length] = maskObj;
138 | }
139 | };
140 |
141 | DebugDrawPlugin.prototype.sceneDestroy = function sceneDestroy () {
142 | this.systems.events
143 | .off(START, this.sceneStart, this)
144 | .off(PRE_RENDER, this.scenePreRender, this)
145 | .off(SHUTDOWN, this.sceneShutdown, this)
146 | .off(DESTROY, this.sceneDestroy, this);
147 |
148 | this.scene = null;
149 | this.systems = null;
150 | };
151 |
152 | DebugDrawPlugin.prototype.drawOthers = function drawOthers (objs) {
153 | this.setColor(this.color);
154 |
155 | objs.forEach(this.drawObj, this);
156 | };
157 |
158 | DebugDrawPlugin.prototype.drawDisabledInputs = function drawDisabledInputs (objs) {
159 | this.setColor(this.inputDisabledColor);
160 |
161 | objs.forEach(this.drawObjInput, this);
162 | };
163 |
164 | DebugDrawPlugin.prototype.drawInputs = function drawInputs (objs) {
165 | this.setColor(this.inputColor);
166 |
167 | objs.forEach(this.drawObjInput, this);
168 | };
169 |
170 | DebugDrawPlugin.prototype.drawMasks = function drawMasks (objs) {
171 | this.setColor(this.maskColor);
172 |
173 | objs.forEach(this.drawObj, this);
174 | };
175 |
176 | DebugDrawPlugin.prototype.drawObj = function drawObj (obj) {
177 | this.dot(obj.x, obj.y);
178 |
179 | if ('originX' in obj) {
180 | var width = obj.width;
181 | var height = obj.height;
182 |
183 | if ('displayWidth' in obj) {
184 | width = obj.displayWidth;
185 | height = obj.displayHeight;
186 | }
187 |
188 | if (width || height) {
189 | this.graphic.strokeRect(obj.x - obj.originX * width, obj.y - obj.originY * height, width, height);
190 |
191 | if (obj.rotation && this.showRotation) {
192 | var rad = 0.5 * max(width, height);
193 |
194 | this.line(obj.x, obj.y, cos(obj.rotation) * rad, sin(obj.rotation) * rad);
195 | }
196 | }
197 | }
198 | };
199 |
200 | DebugDrawPlugin.prototype.drawObjInput = function drawObjInput (obj) {
201 | this.drawObj(obj);
202 | };
203 |
204 | DebugDrawPlugin.prototype.drawPointers = function drawPointers (pointers) {
205 | pointers.forEach(this.drawPointer, this);
206 | };
207 |
208 | DebugDrawPlugin.prototype.drawPointer = function drawPointer (pointer) {
209 | if (!pointer.active && !this.showInactivePointers) { return; }
210 |
211 | var ref = this.systems.cameras.main;
212 | var x = ref.x;
213 | var y = ref.y;
214 | var zoom = ref.zoom;
215 | var worldX = pointer.worldX - x;
216 | var worldY = pointer.worldY - y;
217 |
218 | this.setColor(this.getColorForPointer(pointer));
219 |
220 | if (pointer.locked) {
221 | this.graphic.strokeRect(worldX - POINTER_RADIUS, worldY - POINTER_RADIUS, 2 * POINTER_RADIUS, 2 * POINTER_RADIUS);
222 | this.line(worldX, worldY, pointer.movementX, pointer.movementY);
223 | } else {
224 | this.graphic.strokeCircle(worldX, worldY, POINTER_RADIUS);
225 | }
226 |
227 | if (pointer.isDown) {
228 | this.line(worldX, worldY, (pointer.downX - pointer.x) / zoom, (pointer.downY - pointer.y) / zoom);
229 | }
230 | };
231 |
232 | DebugDrawPlugin.prototype.drawCamera = function drawCamera (camera) {
233 | if (camera.useBounds) {
234 | this.setColor(this.cameraBoundsColor);
235 | this.graphic.strokeRectShape(camera._bounds);
236 | }
237 |
238 | if (camera.deadzone) {
239 | this.setColor(this.cameraDeadzoneColor);
240 | this.graphic.strokeRectShape(camera.deadzone);
241 | }
242 |
243 | var _follow = camera._follow;
244 |
245 | if (_follow) {
246 | var followOffset = camera.followOffset;
247 |
248 | this.setColor(this.cameraFollowColor);
249 | this.dot(_follow.x, _follow.y);
250 | this.lineDelta(_follow, followOffset, -1);
251 | }
252 | };
253 |
254 | DebugDrawPlugin.prototype.drawLights = function drawLights (lights) {
255 | this.setColor(this.lightColor);
256 |
257 | lights.forEach(this.drawLight, this);
258 | };
259 |
260 | DebugDrawPlugin.prototype.drawLight = function drawLight (light) {
261 | this.graphic.strokeCircleShape(light);
262 | };
263 |
264 | DebugDrawPlugin.prototype.getColorForPointer = function getColorForPointer (pointer) {
265 | if (pointer.isDown) { return this.pointerDownColor; }
266 | if (!pointer.active) { return this.pointerInactiveColor; }
267 |
268 | return this.pointerColor;
269 | };
270 |
271 | DebugDrawPlugin.prototype.getPointers = function getPointers () {
272 | var ref = this.systems;
273 | var input = ref.input;
274 |
275 | return [
276 | input.mousePointer,
277 | input.pointer1,
278 | input.pointer2,
279 | input.pointer3,
280 | input.pointer4,
281 | input.pointer5,
282 | input.pointer6,
283 | input.pointer7,
284 | input.pointer8,
285 | input.pointer9
286 | ].filter(Boolean);
287 | };
288 |
289 | DebugDrawPlugin.prototype.toggle = function toggle () {
290 | this.graphic.setVisible(!this.graphic.visible);
291 | };
292 |
293 | DebugDrawPlugin.prototype.setColor = function setColor (color) {
294 | this.graphic.fillStyle(color, this.alpha).lineStyle(this.lineWidth, color, this.alpha);
295 | };
296 |
297 | DebugDrawPlugin.prototype.line = function line (x, y, dx, dy) {
298 | if (!dx && !dy) { return; }
299 | this.graphic.lineBetween(x, y, x + dx, y + dy);
300 | };
301 |
302 | DebugDrawPlugin.prototype.lineDelta = function lineDelta (start, delta, scale) {
303 | if ( scale === void 0 ) scale = 1;
304 |
305 | this.line(start.x, start.y, scale * delta.x, scale * delta.y);
306 | };
307 |
308 | DebugDrawPlugin.prototype.dot = function dot (x, y) {
309 | this.graphic.fillPoint(x, y, 3 * this.lineWidth);
310 | };
311 |
312 | DebugDrawPlugin.prototype.dotPoint = function dotPoint (p) {
313 | this.dot(p.x, p.y);
314 | };
315 |
316 | return DebugDrawPlugin;
317 | }(Phaser.Plugins.ScenePlugin));
318 |
319 | Object.assign(DebugDrawPlugin.prototype, {
320 | alpha: 1,
321 | cameraBoundsColor: colors.fuchsia,
322 | cameraDeadzoneColor: colors.orange,
323 | cameraFollowColor: colors.orange,
324 | color: colors.aqua,
325 | inputColor: colors.yellow,
326 | inputDisabledColor: colors.silver,
327 | lightColor: colors.purple,
328 | lineWidth: 1,
329 | maskColor: colors.red,
330 | pointerColor: colors.yellow,
331 | pointerDownColor: colors.green,
332 | pointerInactiveColor: colors.silver,
333 | showInactivePointers: false,
334 | showInput: true,
335 | showLights: true,
336 | showPointers: true,
337 | showRotation: true
338 | });
339 |
340 | export default DebugDrawPlugin;
341 |
--------------------------------------------------------------------------------
/dist/phaser-plugin-debug-draw.umd.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('phaser')) :
3 | typeof define === 'function' && define.amd ? define(['phaser'], factory) :
4 | (global = global || self, global.PhaserDebugDrawPlugin = factory(global.Phaser));
5 | }(this, (function (Phaser) { 'use strict';
6 |
7 | Phaser = Phaser && Object.prototype.hasOwnProperty.call(Phaser, 'default') ? Phaser['default'] : Phaser;
8 |
9 | var colors = {
10 | aqua: 0x00d9f7,
11 | black: 0x000000,
12 | blue: 0x0050d4,
13 | fuchsia: 0xff00c3,
14 | gray: 0x333333,
15 | green: 0x00d942,
16 | lime: 0xb4d900,
17 | maroon: 0x790009,
18 | navy: 0x002b75,
19 | olive: 0x00b562,
20 | orange: 0xeb7700,
21 | purple: 0x8d00ff,
22 | red: 0xeb0012,
23 | silver: 0x777777,
24 | teal: 0x00a6a6,
25 | white: 0xffffff,
26 | yellow: 0xebcf00
27 | };
28 |
29 | var cos = Math.cos;
30 | var max = Math.max;
31 | var sin = Math.sin;
32 | var ref = Phaser.Scenes.Events;
33 | var START = ref.START;
34 | var PRE_RENDER = ref.PRE_RENDER;
35 | var SHUTDOWN = ref.SHUTDOWN;
36 | var DESTROY = ref.DESTROY;
37 | var ref$1 = Phaser.Utils.Array;
38 | var Each = ref$1.Each;
39 | var POINTER_RADIUS = 20;
40 |
41 | var DebugDrawPlugin = /*@__PURE__*/(function (superclass) {
42 | function DebugDrawPlugin () {
43 | superclass.apply(this, arguments);
44 | }
45 |
46 | if ( superclass ) DebugDrawPlugin.__proto__ = superclass;
47 | DebugDrawPlugin.prototype = Object.create( superclass && superclass.prototype );
48 | DebugDrawPlugin.prototype.constructor = DebugDrawPlugin;
49 |
50 | DebugDrawPlugin.prototype.boot = function boot () {
51 | if (Phaser.VERSION.split('.')[1] < 53) {
52 | throw new Error('Phaser v3.53.0 or greater is required. Or use ');
53 | }
54 |
55 | this.systems.events
56 | .on(START, this.sceneStart, this)
57 | .on(PRE_RENDER, this.scenePreRender, this)
58 | .on(SHUTDOWN, this.sceneShutdown, this)
59 | .once(DESTROY, this.sceneDestroy, this);
60 |
61 | if (this.systems.settings.isBooted) {
62 | this.sceneStart();
63 | }
64 | };
65 |
66 | DebugDrawPlugin.prototype.sceneStart = function sceneStart () {
67 | this.graphic = this.scene.add.graphics().setDepth(Number.MAX_VALUE);
68 | };
69 |
70 | DebugDrawPlugin.prototype.sceneShutdown = function sceneShutdown () {
71 | this.graphic.destroy();
72 | this.graphic = null;
73 | };
74 |
75 | DebugDrawPlugin.prototype.scenePreRender = function scenePreRender () {
76 | this.drawAll();
77 | };
78 |
79 | DebugDrawPlugin.prototype.drawAll = function drawAll () {
80 | var ref = this.systems;
81 | var cameras = ref.cameras;
82 | var displayList = ref.displayList;
83 | var lights = ref.lights;
84 |
85 | if (!displayList.length) { return; }
86 |
87 | var disabledInputObjs = [];
88 | var inputObjs = [];
89 | var maskObjs = [];
90 | var otherObjs = [];
91 | var showInput = this.showInput && this.systems.input.isActive();
92 |
93 | this.graphic.clear();
94 |
95 | displayList.each(this.processObj, this, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput);
96 |
97 | if (otherObjs.length) {
98 | this.drawOthers(otherObjs);
99 | }
100 |
101 | if (disabledInputObjs.length) {
102 | this.drawDisabledInputs(disabledInputObjs);
103 | }
104 |
105 | if (inputObjs.length) {
106 | this.drawInputs(inputObjs);
107 | }
108 |
109 | if (maskObjs.length) {
110 | this.drawMasks(maskObjs);
111 | }
112 |
113 | if (showInput && this.showPointers) {
114 | this.drawPointers(this.getPointers());
115 | }
116 |
117 | this.drawCamera(cameras.main);
118 |
119 | if (lights && lights.active && this.showLights) {
120 | this.drawLights(lights.lights);
121 | }
122 |
123 | // For Mesh/Rope debug callbacks
124 | this.setColor(this.color);
125 | };
126 |
127 | DebugDrawPlugin.prototype.processObj = function processObj (obj, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput) {
128 | if (obj.input && showInput) {
129 | if (obj.input.enabled) {
130 | inputObjs[inputObjs.length] = obj;
131 | } else {
132 | disabledInputObjs[disabledInputObjs.length] = obj;
133 | }
134 | } else if (obj.type === 'Layer') {
135 | Each(obj.list, this.processObj, this, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput);
136 | } else {
137 | otherObjs[otherObjs.length] = obj;
138 | }
139 |
140 | var maskObj = obj.mask ? obj.mask.bitmapMask : null;
141 |
142 | if (maskObj && maskObjs.indexOf(maskObj) === -1) {
143 | maskObjs[maskObjs.length] = maskObj;
144 | }
145 | };
146 |
147 | DebugDrawPlugin.prototype.sceneDestroy = function sceneDestroy () {
148 | this.systems.events
149 | .off(START, this.sceneStart, this)
150 | .off(PRE_RENDER, this.scenePreRender, this)
151 | .off(SHUTDOWN, this.sceneShutdown, this)
152 | .off(DESTROY, this.sceneDestroy, this);
153 |
154 | this.scene = null;
155 | this.systems = null;
156 | };
157 |
158 | DebugDrawPlugin.prototype.drawOthers = function drawOthers (objs) {
159 | this.setColor(this.color);
160 |
161 | objs.forEach(this.drawObj, this);
162 | };
163 |
164 | DebugDrawPlugin.prototype.drawDisabledInputs = function drawDisabledInputs (objs) {
165 | this.setColor(this.inputDisabledColor);
166 |
167 | objs.forEach(this.drawObjInput, this);
168 | };
169 |
170 | DebugDrawPlugin.prototype.drawInputs = function drawInputs (objs) {
171 | this.setColor(this.inputColor);
172 |
173 | objs.forEach(this.drawObjInput, this);
174 | };
175 |
176 | DebugDrawPlugin.prototype.drawMasks = function drawMasks (objs) {
177 | this.setColor(this.maskColor);
178 |
179 | objs.forEach(this.drawObj, this);
180 | };
181 |
182 | DebugDrawPlugin.prototype.drawObj = function drawObj (obj) {
183 | this.dot(obj.x, obj.y);
184 |
185 | if ('originX' in obj) {
186 | var width = obj.width;
187 | var height = obj.height;
188 |
189 | if ('displayWidth' in obj) {
190 | width = obj.displayWidth;
191 | height = obj.displayHeight;
192 | }
193 |
194 | if (width || height) {
195 | this.graphic.strokeRect(obj.x - obj.originX * width, obj.y - obj.originY * height, width, height);
196 |
197 | if (obj.rotation && this.showRotation) {
198 | var rad = 0.5 * max(width, height);
199 |
200 | this.line(obj.x, obj.y, cos(obj.rotation) * rad, sin(obj.rotation) * rad);
201 | }
202 | }
203 | }
204 | };
205 |
206 | DebugDrawPlugin.prototype.drawObjInput = function drawObjInput (obj) {
207 | this.drawObj(obj);
208 | };
209 |
210 | DebugDrawPlugin.prototype.drawPointers = function drawPointers (pointers) {
211 | pointers.forEach(this.drawPointer, this);
212 | };
213 |
214 | DebugDrawPlugin.prototype.drawPointer = function drawPointer (pointer) {
215 | if (!pointer.active && !this.showInactivePointers) { return; }
216 |
217 | var ref = this.systems.cameras.main;
218 | var x = ref.x;
219 | var y = ref.y;
220 | var zoom = ref.zoom;
221 | var worldX = pointer.worldX - x;
222 | var worldY = pointer.worldY - y;
223 |
224 | this.setColor(this.getColorForPointer(pointer));
225 |
226 | if (pointer.locked) {
227 | this.graphic.strokeRect(worldX - POINTER_RADIUS, worldY - POINTER_RADIUS, 2 * POINTER_RADIUS, 2 * POINTER_RADIUS);
228 | this.line(worldX, worldY, pointer.movementX, pointer.movementY);
229 | } else {
230 | this.graphic.strokeCircle(worldX, worldY, POINTER_RADIUS);
231 | }
232 |
233 | if (pointer.isDown) {
234 | this.line(worldX, worldY, (pointer.downX - pointer.x) / zoom, (pointer.downY - pointer.y) / zoom);
235 | }
236 | };
237 |
238 | DebugDrawPlugin.prototype.drawCamera = function drawCamera (camera) {
239 | if (camera.useBounds) {
240 | this.setColor(this.cameraBoundsColor);
241 | this.graphic.strokeRectShape(camera._bounds);
242 | }
243 |
244 | if (camera.deadzone) {
245 | this.setColor(this.cameraDeadzoneColor);
246 | this.graphic.strokeRectShape(camera.deadzone);
247 | }
248 |
249 | var _follow = camera._follow;
250 |
251 | if (_follow) {
252 | var followOffset = camera.followOffset;
253 |
254 | this.setColor(this.cameraFollowColor);
255 | this.dot(_follow.x, _follow.y);
256 | this.lineDelta(_follow, followOffset, -1);
257 | }
258 | };
259 |
260 | DebugDrawPlugin.prototype.drawLights = function drawLights (lights) {
261 | this.setColor(this.lightColor);
262 |
263 | lights.forEach(this.drawLight, this);
264 | };
265 |
266 | DebugDrawPlugin.prototype.drawLight = function drawLight (light) {
267 | this.graphic.strokeCircleShape(light);
268 | };
269 |
270 | DebugDrawPlugin.prototype.getColorForPointer = function getColorForPointer (pointer) {
271 | if (pointer.isDown) { return this.pointerDownColor; }
272 | if (!pointer.active) { return this.pointerInactiveColor; }
273 |
274 | return this.pointerColor;
275 | };
276 |
277 | DebugDrawPlugin.prototype.getPointers = function getPointers () {
278 | var ref = this.systems;
279 | var input = ref.input;
280 |
281 | return [
282 | input.mousePointer,
283 | input.pointer1,
284 | input.pointer2,
285 | input.pointer3,
286 | input.pointer4,
287 | input.pointer5,
288 | input.pointer6,
289 | input.pointer7,
290 | input.pointer8,
291 | input.pointer9
292 | ].filter(Boolean);
293 | };
294 |
295 | DebugDrawPlugin.prototype.toggle = function toggle () {
296 | this.graphic.setVisible(!this.graphic.visible);
297 | };
298 |
299 | DebugDrawPlugin.prototype.setColor = function setColor (color) {
300 | this.graphic.fillStyle(color, this.alpha).lineStyle(this.lineWidth, color, this.alpha);
301 | };
302 |
303 | DebugDrawPlugin.prototype.line = function line (x, y, dx, dy) {
304 | if (!dx && !dy) { return; }
305 | this.graphic.lineBetween(x, y, x + dx, y + dy);
306 | };
307 |
308 | DebugDrawPlugin.prototype.lineDelta = function lineDelta (start, delta, scale) {
309 | if ( scale === void 0 ) scale = 1;
310 |
311 | this.line(start.x, start.y, scale * delta.x, scale * delta.y);
312 | };
313 |
314 | DebugDrawPlugin.prototype.dot = function dot (x, y) {
315 | this.graphic.fillPoint(x, y, 3 * this.lineWidth);
316 | };
317 |
318 | DebugDrawPlugin.prototype.dotPoint = function dotPoint (p) {
319 | this.dot(p.x, p.y);
320 | };
321 |
322 | return DebugDrawPlugin;
323 | }(Phaser.Plugins.ScenePlugin));
324 |
325 | Object.assign(DebugDrawPlugin.prototype, {
326 | alpha: 1,
327 | cameraBoundsColor: colors.fuchsia,
328 | cameraDeadzoneColor: colors.orange,
329 | cameraFollowColor: colors.orange,
330 | color: colors.aqua,
331 | inputColor: colors.yellow,
332 | inputDisabledColor: colors.silver,
333 | lightColor: colors.purple,
334 | lineWidth: 1,
335 | maskColor: colors.red,
336 | pointerColor: colors.yellow,
337 | pointerDownColor: colors.green,
338 | pointerInactiveColor: colors.silver,
339 | showInactivePointers: false,
340 | showInput: true,
341 | showLights: true,
342 | showPointers: true,
343 | showRotation: true
344 | });
345 |
346 | return DebugDrawPlugin;
347 |
348 | })));
349 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "phaser-plugin-debug-draw",
3 | "version": "7.1.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "phaser-plugin-debug-draw",
9 | "version": "7.1.0",
10 | "license": "ISC",
11 | "devDependencies": {
12 | "eslint": "^5.16.0",
13 | "eslint-config-semistandard": "^13.0.0",
14 | "eslint-config-standard": "^12.0.0",
15 | "eslint-plugin-import": "^2.22.1",
16 | "eslint-plugin-node": "^8.0.1",
17 | "eslint-plugin-promise": "^4.2.1",
18 | "eslint-plugin-standard": "^4.0.2",
19 | "phaser": "3.55.2",
20 | "rollup": "^1.32.1",
21 | "rollup-plugin-buble": "^0.19.8",
22 | "rollup-plugin-commonjs": "^10.1.0",
23 | "rollup-plugin-node-resolve": "^5.2.0"
24 | },
25 | "peerDependencies": {
26 | "phaser": "^3.53.0"
27 | }
28 | },
29 | "node_modules/@babel/code-frame": {
30 | "version": "7.8.3",
31 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
32 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
33 | "dev": true,
34 | "dependencies": {
35 | "@babel/highlight": "^7.8.3"
36 | }
37 | },
38 | "node_modules/@babel/highlight": {
39 | "version": "7.8.3",
40 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
41 | "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
42 | "dev": true,
43 | "dependencies": {
44 | "chalk": "^2.0.0",
45 | "esutils": "^2.0.2",
46 | "js-tokens": "^4.0.0"
47 | }
48 | },
49 | "node_modules/@types/estree": {
50 | "version": "0.0.39",
51 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
52 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
53 | "dev": true
54 | },
55 | "node_modules/@types/json5": {
56 | "version": "0.0.29",
57 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
58 | "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
59 | "dev": true
60 | },
61 | "node_modules/@types/node": {
62 | "version": "12.7.5",
63 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz",
64 | "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==",
65 | "dev": true
66 | },
67 | "node_modules/@types/resolve": {
68 | "version": "0.0.8",
69 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
70 | "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
71 | "dev": true,
72 | "dependencies": {
73 | "@types/node": "*"
74 | }
75 | },
76 | "node_modules/acorn": {
77 | "version": "6.4.1",
78 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
79 | "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
80 | "dev": true,
81 | "bin": {
82 | "acorn": "bin/acorn"
83 | },
84 | "engines": {
85 | "node": ">=0.4.0"
86 | }
87 | },
88 | "node_modules/acorn-dynamic-import": {
89 | "version": "4.0.0",
90 | "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
91 | "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
92 | "dev": true
93 | },
94 | "node_modules/acorn-jsx": {
95 | "version": "5.0.1",
96 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
97 | "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
98 | "dev": true
99 | },
100 | "node_modules/ajv": {
101 | "version": "6.12.6",
102 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
103 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
104 | "dev": true,
105 | "dependencies": {
106 | "fast-deep-equal": "^3.1.1",
107 | "fast-json-stable-stringify": "^2.0.0",
108 | "json-schema-traverse": "^0.4.1",
109 | "uri-js": "^4.2.2"
110 | },
111 | "funding": {
112 | "type": "github",
113 | "url": "https://github.com/sponsors/epoberezkin"
114 | }
115 | },
116 | "node_modules/ansi-escapes": {
117 | "version": "3.2.0",
118 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
119 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
120 | "dev": true,
121 | "engines": {
122 | "node": ">=4"
123 | }
124 | },
125 | "node_modules/ansi-regex": {
126 | "version": "3.0.1",
127 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
128 | "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
129 | "dev": true,
130 | "engines": {
131 | "node": ">=4"
132 | }
133 | },
134 | "node_modules/ansi-styles": {
135 | "version": "3.2.1",
136 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
137 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
138 | "dev": true,
139 | "dependencies": {
140 | "color-convert": "^1.9.0"
141 | },
142 | "engines": {
143 | "node": ">=4"
144 | }
145 | },
146 | "node_modules/argparse": {
147 | "version": "1.0.10",
148 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
149 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
150 | "dev": true,
151 | "dependencies": {
152 | "sprintf-js": "~1.0.2"
153 | }
154 | },
155 | "node_modules/array-includes": {
156 | "version": "3.1.1",
157 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
158 | "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
159 | "dev": true,
160 | "dependencies": {
161 | "define-properties": "^1.1.3",
162 | "es-abstract": "^1.17.0",
163 | "is-string": "^1.0.5"
164 | },
165 | "engines": {
166 | "node": ">= 0.4"
167 | }
168 | },
169 | "node_modules/array.prototype.flat": {
170 | "version": "1.2.3",
171 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
172 | "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
173 | "dev": true,
174 | "dependencies": {
175 | "define-properties": "^1.1.3",
176 | "es-abstract": "^1.17.0-next.1"
177 | },
178 | "engines": {
179 | "node": ">= 0.4"
180 | }
181 | },
182 | "node_modules/astral-regex": {
183 | "version": "1.0.0",
184 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
185 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
186 | "dev": true,
187 | "engines": {
188 | "node": ">=4"
189 | }
190 | },
191 | "node_modules/balanced-match": {
192 | "version": "1.0.0",
193 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
194 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
195 | "dev": true
196 | },
197 | "node_modules/brace-expansion": {
198 | "version": "1.1.11",
199 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
200 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
201 | "dev": true,
202 | "dependencies": {
203 | "balanced-match": "^1.0.0",
204 | "concat-map": "0.0.1"
205 | }
206 | },
207 | "node_modules/buble": {
208 | "version": "0.19.8",
209 | "resolved": "https://registry.npmjs.org/buble/-/buble-0.19.8.tgz",
210 | "integrity": "sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA==",
211 | "dev": true,
212 | "dependencies": {
213 | "acorn": "^6.1.1",
214 | "acorn-dynamic-import": "^4.0.0",
215 | "acorn-jsx": "^5.0.1",
216 | "chalk": "^2.4.2",
217 | "magic-string": "^0.25.3",
218 | "minimist": "^1.2.0",
219 | "os-homedir": "^2.0.0",
220 | "regexpu-core": "^4.5.4"
221 | },
222 | "bin": {
223 | "buble": "bin/buble"
224 | }
225 | },
226 | "node_modules/call-bind": {
227 | "version": "1.0.0",
228 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
229 | "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
230 | "dev": true,
231 | "dependencies": {
232 | "function-bind": "^1.1.1",
233 | "get-intrinsic": "^1.0.0"
234 | }
235 | },
236 | "node_modules/callsites": {
237 | "version": "3.1.0",
238 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
239 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
240 | "dev": true,
241 | "engines": {
242 | "node": ">=6"
243 | }
244 | },
245 | "node_modules/chalk": {
246 | "version": "2.4.2",
247 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
248 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
249 | "dev": true,
250 | "dependencies": {
251 | "ansi-styles": "^3.2.1",
252 | "escape-string-regexp": "^1.0.5",
253 | "supports-color": "^5.3.0"
254 | },
255 | "engines": {
256 | "node": ">=4"
257 | }
258 | },
259 | "node_modules/chardet": {
260 | "version": "0.7.0",
261 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
262 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
263 | "dev": true
264 | },
265 | "node_modules/cli-cursor": {
266 | "version": "2.1.0",
267 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
268 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
269 | "dev": true,
270 | "dependencies": {
271 | "restore-cursor": "^2.0.0"
272 | },
273 | "engines": {
274 | "node": ">=4"
275 | }
276 | },
277 | "node_modules/cli-width": {
278 | "version": "2.2.0",
279 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
280 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
281 | "dev": true
282 | },
283 | "node_modules/color-convert": {
284 | "version": "1.9.3",
285 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
286 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
287 | "dev": true,
288 | "dependencies": {
289 | "color-name": "1.1.3"
290 | }
291 | },
292 | "node_modules/color-name": {
293 | "version": "1.1.3",
294 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
295 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
296 | "dev": true
297 | },
298 | "node_modules/concat-map": {
299 | "version": "0.0.1",
300 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
301 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
302 | "dev": true
303 | },
304 | "node_modules/contains-path": {
305 | "version": "0.1.0",
306 | "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
307 | "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
308 | "dev": true,
309 | "engines": {
310 | "node": ">=0.10.0"
311 | }
312 | },
313 | "node_modules/cross-spawn": {
314 | "version": "6.0.5",
315 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
316 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
317 | "dev": true,
318 | "dependencies": {
319 | "nice-try": "^1.0.4",
320 | "path-key": "^2.0.1",
321 | "semver": "^5.5.0",
322 | "shebang-command": "^1.2.0",
323 | "which": "^1.2.9"
324 | },
325 | "engines": {
326 | "node": ">=4.8"
327 | }
328 | },
329 | "node_modules/debug": {
330 | "version": "4.1.1",
331 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
332 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
333 | "dev": true,
334 | "dependencies": {
335 | "ms": "^2.1.1"
336 | }
337 | },
338 | "node_modules/deep-is": {
339 | "version": "0.1.3",
340 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
341 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
342 | "dev": true
343 | },
344 | "node_modules/define-properties": {
345 | "version": "1.1.3",
346 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
347 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
348 | "dev": true,
349 | "dependencies": {
350 | "object-keys": "^1.0.12"
351 | },
352 | "engines": {
353 | "node": ">= 0.4"
354 | }
355 | },
356 | "node_modules/doctrine": {
357 | "version": "3.0.0",
358 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
359 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
360 | "dev": true,
361 | "dependencies": {
362 | "esutils": "^2.0.2"
363 | },
364 | "engines": {
365 | "node": ">=6.0.0"
366 | }
367 | },
368 | "node_modules/emoji-regex": {
369 | "version": "7.0.3",
370 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
371 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
372 | "dev": true
373 | },
374 | "node_modules/error-ex": {
375 | "version": "1.3.2",
376 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
377 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
378 | "dev": true,
379 | "dependencies": {
380 | "is-arrayish": "^0.2.1"
381 | }
382 | },
383 | "node_modules/es-abstract": {
384 | "version": "1.17.7",
385 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
386 | "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
387 | "dev": true,
388 | "dependencies": {
389 | "es-to-primitive": "^1.2.1",
390 | "function-bind": "^1.1.1",
391 | "has": "^1.0.3",
392 | "has-symbols": "^1.0.1",
393 | "is-callable": "^1.2.2",
394 | "is-regex": "^1.1.1",
395 | "object-inspect": "^1.8.0",
396 | "object-keys": "^1.1.1",
397 | "object.assign": "^4.1.1",
398 | "string.prototype.trimend": "^1.0.1",
399 | "string.prototype.trimstart": "^1.0.1"
400 | },
401 | "engines": {
402 | "node": ">= 0.4"
403 | }
404 | },
405 | "node_modules/es-to-primitive": {
406 | "version": "1.2.1",
407 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
408 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
409 | "dev": true,
410 | "dependencies": {
411 | "is-callable": "^1.1.4",
412 | "is-date-object": "^1.0.1",
413 | "is-symbol": "^1.0.2"
414 | },
415 | "engines": {
416 | "node": ">= 0.4"
417 | }
418 | },
419 | "node_modules/escape-string-regexp": {
420 | "version": "1.0.5",
421 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
422 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
423 | "dev": true,
424 | "engines": {
425 | "node": ">=0.8.0"
426 | }
427 | },
428 | "node_modules/eslint": {
429 | "version": "5.16.0",
430 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz",
431 | "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==",
432 | "dev": true,
433 | "dependencies": {
434 | "@babel/code-frame": "^7.0.0",
435 | "ajv": "^6.9.1",
436 | "chalk": "^2.1.0",
437 | "cross-spawn": "^6.0.5",
438 | "debug": "^4.0.1",
439 | "doctrine": "^3.0.0",
440 | "eslint-scope": "^4.0.3",
441 | "eslint-utils": "^1.3.1",
442 | "eslint-visitor-keys": "^1.0.0",
443 | "espree": "^5.0.1",
444 | "esquery": "^1.0.1",
445 | "esutils": "^2.0.2",
446 | "file-entry-cache": "^5.0.1",
447 | "functional-red-black-tree": "^1.0.1",
448 | "glob": "^7.1.2",
449 | "globals": "^11.7.0",
450 | "ignore": "^4.0.6",
451 | "import-fresh": "^3.0.0",
452 | "imurmurhash": "^0.1.4",
453 | "inquirer": "^6.2.2",
454 | "js-yaml": "^3.13.0",
455 | "json-stable-stringify-without-jsonify": "^1.0.1",
456 | "levn": "^0.3.0",
457 | "lodash": "^4.17.11",
458 | "minimatch": "^3.0.4",
459 | "mkdirp": "^0.5.1",
460 | "natural-compare": "^1.4.0",
461 | "optionator": "^0.8.2",
462 | "path-is-inside": "^1.0.2",
463 | "progress": "^2.0.0",
464 | "regexpp": "^2.0.1",
465 | "semver": "^5.5.1",
466 | "strip-ansi": "^4.0.0",
467 | "strip-json-comments": "^2.0.1",
468 | "table": "^5.2.3",
469 | "text-table": "^0.2.0"
470 | },
471 | "bin": {
472 | "eslint": "bin/eslint.js"
473 | },
474 | "engines": {
475 | "node": "^6.14.0 || ^8.10.0 || >=9.10.0"
476 | }
477 | },
478 | "node_modules/eslint-config-semistandard": {
479 | "version": "13.0.0",
480 | "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-13.0.0.tgz",
481 | "integrity": "sha512-ZuImKnf/9LeZjr6dtRJ0zEdQbjBwXu0PJR3wXJXoQeMooICMrYPyD70O1tIA9Ng+wutgLjB7UXvZOKYPvzHg+w==",
482 | "dev": true
483 | },
484 | "node_modules/eslint-config-standard": {
485 | "version": "12.0.0",
486 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz",
487 | "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==",
488 | "dev": true
489 | },
490 | "node_modules/eslint-import-resolver-node": {
491 | "version": "0.3.4",
492 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
493 | "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==",
494 | "dev": true,
495 | "dependencies": {
496 | "debug": "^2.6.9",
497 | "resolve": "^1.13.1"
498 | }
499 | },
500 | "node_modules/eslint-import-resolver-node/node_modules/debug": {
501 | "version": "2.6.9",
502 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
503 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
504 | "dev": true,
505 | "dependencies": {
506 | "ms": "2.0.0"
507 | }
508 | },
509 | "node_modules/eslint-import-resolver-node/node_modules/ms": {
510 | "version": "2.0.0",
511 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
512 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
513 | "dev": true
514 | },
515 | "node_modules/eslint-module-utils": {
516 | "version": "2.6.0",
517 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
518 | "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
519 | "dev": true,
520 | "dependencies": {
521 | "debug": "^2.6.9",
522 | "pkg-dir": "^2.0.0"
523 | },
524 | "engines": {
525 | "node": ">=4"
526 | }
527 | },
528 | "node_modules/eslint-module-utils/node_modules/debug": {
529 | "version": "2.6.9",
530 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
531 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
532 | "dev": true,
533 | "dependencies": {
534 | "ms": "2.0.0"
535 | }
536 | },
537 | "node_modules/eslint-module-utils/node_modules/ms": {
538 | "version": "2.0.0",
539 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
540 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
541 | "dev": true
542 | },
543 | "node_modules/eslint-plugin-es": {
544 | "version": "1.4.1",
545 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz",
546 | "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==",
547 | "dev": true,
548 | "dependencies": {
549 | "eslint-utils": "^1.4.2",
550 | "regexpp": "^2.0.1"
551 | },
552 | "engines": {
553 | "node": ">=6.5.0"
554 | }
555 | },
556 | "node_modules/eslint-plugin-import": {
557 | "version": "2.22.1",
558 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
559 | "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
560 | "dev": true,
561 | "dependencies": {
562 | "array-includes": "^3.1.1",
563 | "array.prototype.flat": "^1.2.3",
564 | "contains-path": "^0.1.0",
565 | "debug": "^2.6.9",
566 | "doctrine": "1.5.0",
567 | "eslint-import-resolver-node": "^0.3.4",
568 | "eslint-module-utils": "^2.6.0",
569 | "has": "^1.0.3",
570 | "minimatch": "^3.0.4",
571 | "object.values": "^1.1.1",
572 | "read-pkg-up": "^2.0.0",
573 | "resolve": "^1.17.0",
574 | "tsconfig-paths": "^3.9.0"
575 | },
576 | "engines": {
577 | "node": ">=4"
578 | }
579 | },
580 | "node_modules/eslint-plugin-import/node_modules/debug": {
581 | "version": "2.6.9",
582 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
583 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
584 | "dev": true,
585 | "dependencies": {
586 | "ms": "2.0.0"
587 | }
588 | },
589 | "node_modules/eslint-plugin-import/node_modules/doctrine": {
590 | "version": "1.5.0",
591 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
592 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
593 | "dev": true,
594 | "dependencies": {
595 | "esutils": "^2.0.2",
596 | "isarray": "^1.0.0"
597 | },
598 | "engines": {
599 | "node": ">=0.10.0"
600 | }
601 | },
602 | "node_modules/eslint-plugin-import/node_modules/ms": {
603 | "version": "2.0.0",
604 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
605 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
606 | "dev": true
607 | },
608 | "node_modules/eslint-plugin-import/node_modules/resolve": {
609 | "version": "1.18.1",
610 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
611 | "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
612 | "dev": true,
613 | "dependencies": {
614 | "is-core-module": "^2.0.0",
615 | "path-parse": "^1.0.6"
616 | }
617 | },
618 | "node_modules/eslint-plugin-node": {
619 | "version": "8.0.1",
620 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz",
621 | "integrity": "sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==",
622 | "dev": true,
623 | "dependencies": {
624 | "eslint-plugin-es": "^1.3.1",
625 | "eslint-utils": "^1.3.1",
626 | "ignore": "^5.0.2",
627 | "minimatch": "^3.0.4",
628 | "resolve": "^1.8.1",
629 | "semver": "^5.5.0"
630 | },
631 | "engines": {
632 | "node": ">=6"
633 | }
634 | },
635 | "node_modules/eslint-plugin-node/node_modules/ignore": {
636 | "version": "5.1.4",
637 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
638 | "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
639 | "dev": true,
640 | "engines": {
641 | "node": ">= 4"
642 | }
643 | },
644 | "node_modules/eslint-plugin-promise": {
645 | "version": "4.2.1",
646 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz",
647 | "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==",
648 | "dev": true,
649 | "engines": {
650 | "node": ">=6"
651 | }
652 | },
653 | "node_modules/eslint-plugin-standard": {
654 | "version": "4.0.2",
655 | "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.2.tgz",
656 | "integrity": "sha512-nKptN8l7jksXkwFk++PhJB3cCDTcXOEyhISIN86Ue2feJ1LFyY3PrY3/xT2keXlJSY5bpmbiTG0f885/YKAvTA==",
657 | "dev": true
658 | },
659 | "node_modules/eslint-scope": {
660 | "version": "4.0.3",
661 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
662 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
663 | "dev": true,
664 | "dependencies": {
665 | "esrecurse": "^4.1.0",
666 | "estraverse": "^4.1.1"
667 | },
668 | "engines": {
669 | "node": ">=4.0.0"
670 | }
671 | },
672 | "node_modules/eslint-utils": {
673 | "version": "1.4.3",
674 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
675 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
676 | "dev": true,
677 | "dependencies": {
678 | "eslint-visitor-keys": "^1.1.0"
679 | },
680 | "engines": {
681 | "node": ">=6"
682 | }
683 | },
684 | "node_modules/eslint-visitor-keys": {
685 | "version": "1.1.0",
686 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
687 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
688 | "dev": true,
689 | "engines": {
690 | "node": ">=4"
691 | }
692 | },
693 | "node_modules/espree": {
694 | "version": "5.0.1",
695 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
696 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
697 | "dev": true,
698 | "dependencies": {
699 | "acorn": "^6.0.7",
700 | "acorn-jsx": "^5.0.0",
701 | "eslint-visitor-keys": "^1.0.0"
702 | },
703 | "engines": {
704 | "node": ">=6.0.0"
705 | }
706 | },
707 | "node_modules/esprima": {
708 | "version": "4.0.1",
709 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
710 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
711 | "dev": true,
712 | "bin": {
713 | "esparse": "bin/esparse.js",
714 | "esvalidate": "bin/esvalidate.js"
715 | },
716 | "engines": {
717 | "node": ">=4"
718 | }
719 | },
720 | "node_modules/esquery": {
721 | "version": "1.0.1",
722 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
723 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
724 | "dev": true,
725 | "dependencies": {
726 | "estraverse": "^4.0.0"
727 | },
728 | "engines": {
729 | "node": ">=0.6"
730 | }
731 | },
732 | "node_modules/esrecurse": {
733 | "version": "4.2.1",
734 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
735 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
736 | "dev": true,
737 | "dependencies": {
738 | "estraverse": "^4.1.0"
739 | },
740 | "engines": {
741 | "node": ">=4.0"
742 | }
743 | },
744 | "node_modules/estraverse": {
745 | "version": "4.3.0",
746 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
747 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
748 | "dev": true,
749 | "engines": {
750 | "node": ">=4.0"
751 | }
752 | },
753 | "node_modules/estree-walker": {
754 | "version": "0.6.1",
755 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
756 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
757 | "dev": true
758 | },
759 | "node_modules/esutils": {
760 | "version": "2.0.3",
761 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
762 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
763 | "dev": true,
764 | "engines": {
765 | "node": ">=0.10.0"
766 | }
767 | },
768 | "node_modules/eventemitter3": {
769 | "version": "4.0.7",
770 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
771 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
772 | "dev": true
773 | },
774 | "node_modules/external-editor": {
775 | "version": "3.1.0",
776 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
777 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
778 | "dev": true,
779 | "dependencies": {
780 | "chardet": "^0.7.0",
781 | "iconv-lite": "^0.4.24",
782 | "tmp": "^0.0.33"
783 | },
784 | "engines": {
785 | "node": ">=4"
786 | }
787 | },
788 | "node_modules/fast-deep-equal": {
789 | "version": "3.1.1",
790 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
791 | "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
792 | "dev": true
793 | },
794 | "node_modules/fast-json-stable-stringify": {
795 | "version": "2.1.0",
796 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
797 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
798 | "dev": true
799 | },
800 | "node_modules/fast-levenshtein": {
801 | "version": "2.0.6",
802 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
803 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
804 | "dev": true
805 | },
806 | "node_modules/figures": {
807 | "version": "2.0.0",
808 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
809 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
810 | "dev": true,
811 | "dependencies": {
812 | "escape-string-regexp": "^1.0.5"
813 | },
814 | "engines": {
815 | "node": ">=4"
816 | }
817 | },
818 | "node_modules/file-entry-cache": {
819 | "version": "5.0.1",
820 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
821 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
822 | "dev": true,
823 | "dependencies": {
824 | "flat-cache": "^2.0.1"
825 | },
826 | "engines": {
827 | "node": ">=4"
828 | }
829 | },
830 | "node_modules/find-up": {
831 | "version": "2.1.0",
832 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
833 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
834 | "dev": true,
835 | "dependencies": {
836 | "locate-path": "^2.0.0"
837 | },
838 | "engines": {
839 | "node": ">=4"
840 | }
841 | },
842 | "node_modules/flat-cache": {
843 | "version": "2.0.1",
844 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
845 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
846 | "dev": true,
847 | "dependencies": {
848 | "flatted": "^2.0.0",
849 | "rimraf": "2.6.3",
850 | "write": "1.0.3"
851 | },
852 | "engines": {
853 | "node": ">=4"
854 | }
855 | },
856 | "node_modules/flatted": {
857 | "version": "2.0.1",
858 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
859 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
860 | "dev": true
861 | },
862 | "node_modules/fs.realpath": {
863 | "version": "1.0.0",
864 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
865 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
866 | "dev": true
867 | },
868 | "node_modules/function-bind": {
869 | "version": "1.1.1",
870 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
871 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
872 | "dev": true
873 | },
874 | "node_modules/functional-red-black-tree": {
875 | "version": "1.0.1",
876 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
877 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
878 | "dev": true
879 | },
880 | "node_modules/get-intrinsic": {
881 | "version": "1.0.1",
882 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
883 | "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
884 | "dev": true,
885 | "dependencies": {
886 | "function-bind": "^1.1.1",
887 | "has": "^1.0.3",
888 | "has-symbols": "^1.0.1"
889 | }
890 | },
891 | "node_modules/glob": {
892 | "version": "7.1.6",
893 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
894 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
895 | "dev": true,
896 | "dependencies": {
897 | "fs.realpath": "^1.0.0",
898 | "inflight": "^1.0.4",
899 | "inherits": "2",
900 | "minimatch": "^3.0.4",
901 | "once": "^1.3.0",
902 | "path-is-absolute": "^1.0.0"
903 | },
904 | "engines": {
905 | "node": "*"
906 | }
907 | },
908 | "node_modules/globals": {
909 | "version": "11.12.0",
910 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
911 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
912 | "dev": true,
913 | "engines": {
914 | "node": ">=4"
915 | }
916 | },
917 | "node_modules/graceful-fs": {
918 | "version": "4.2.4",
919 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
920 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
921 | "dev": true
922 | },
923 | "node_modules/has": {
924 | "version": "1.0.3",
925 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
926 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
927 | "dev": true,
928 | "dependencies": {
929 | "function-bind": "^1.1.1"
930 | },
931 | "engines": {
932 | "node": ">= 0.4.0"
933 | }
934 | },
935 | "node_modules/has-flag": {
936 | "version": "3.0.0",
937 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
938 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
939 | "dev": true,
940 | "engines": {
941 | "node": ">=4"
942 | }
943 | },
944 | "node_modules/has-symbols": {
945 | "version": "1.0.1",
946 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
947 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
948 | "dev": true,
949 | "engines": {
950 | "node": ">= 0.4"
951 | }
952 | },
953 | "node_modules/hosted-git-info": {
954 | "version": "2.8.9",
955 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
956 | "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
957 | "dev": true
958 | },
959 | "node_modules/iconv-lite": {
960 | "version": "0.4.24",
961 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
962 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
963 | "dev": true,
964 | "dependencies": {
965 | "safer-buffer": ">= 2.1.2 < 3"
966 | },
967 | "engines": {
968 | "node": ">=0.10.0"
969 | }
970 | },
971 | "node_modules/ignore": {
972 | "version": "4.0.6",
973 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
974 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
975 | "dev": true,
976 | "engines": {
977 | "node": ">= 4"
978 | }
979 | },
980 | "node_modules/import-fresh": {
981 | "version": "3.2.1",
982 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
983 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
984 | "dev": true,
985 | "dependencies": {
986 | "parent-module": "^1.0.0",
987 | "resolve-from": "^4.0.0"
988 | },
989 | "engines": {
990 | "node": ">=6"
991 | }
992 | },
993 | "node_modules/imurmurhash": {
994 | "version": "0.1.4",
995 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
996 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
997 | "dev": true,
998 | "engines": {
999 | "node": ">=0.8.19"
1000 | }
1001 | },
1002 | "node_modules/inflight": {
1003 | "version": "1.0.6",
1004 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1005 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1006 | "dev": true,
1007 | "dependencies": {
1008 | "once": "^1.3.0",
1009 | "wrappy": "1"
1010 | }
1011 | },
1012 | "node_modules/inherits": {
1013 | "version": "2.0.4",
1014 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1015 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1016 | "dev": true
1017 | },
1018 | "node_modules/inquirer": {
1019 | "version": "6.5.2",
1020 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
1021 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
1022 | "dev": true,
1023 | "dependencies": {
1024 | "ansi-escapes": "^3.2.0",
1025 | "chalk": "^2.4.2",
1026 | "cli-cursor": "^2.1.0",
1027 | "cli-width": "^2.0.0",
1028 | "external-editor": "^3.0.3",
1029 | "figures": "^2.0.0",
1030 | "lodash": "^4.17.12",
1031 | "mute-stream": "0.0.7",
1032 | "run-async": "^2.2.0",
1033 | "rxjs": "^6.4.0",
1034 | "string-width": "^2.1.0",
1035 | "strip-ansi": "^5.1.0",
1036 | "through": "^2.3.6"
1037 | },
1038 | "engines": {
1039 | "node": ">=6.0.0"
1040 | }
1041 | },
1042 | "node_modules/inquirer/node_modules/ansi-regex": {
1043 | "version": "4.1.1",
1044 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
1045 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
1046 | "dev": true,
1047 | "engines": {
1048 | "node": ">=6"
1049 | }
1050 | },
1051 | "node_modules/inquirer/node_modules/strip-ansi": {
1052 | "version": "5.2.0",
1053 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1054 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1055 | "dev": true,
1056 | "dependencies": {
1057 | "ansi-regex": "^4.1.0"
1058 | },
1059 | "engines": {
1060 | "node": ">=6"
1061 | }
1062 | },
1063 | "node_modules/is-arrayish": {
1064 | "version": "0.2.1",
1065 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
1066 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
1067 | "dev": true
1068 | },
1069 | "node_modules/is-callable": {
1070 | "version": "1.2.2",
1071 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
1072 | "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
1073 | "dev": true,
1074 | "engines": {
1075 | "node": ">= 0.4"
1076 | }
1077 | },
1078 | "node_modules/is-core-module": {
1079 | "version": "2.1.0",
1080 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
1081 | "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
1082 | "dev": true,
1083 | "dependencies": {
1084 | "has": "^1.0.3"
1085 | }
1086 | },
1087 | "node_modules/is-date-object": {
1088 | "version": "1.0.2",
1089 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
1090 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
1091 | "dev": true,
1092 | "engines": {
1093 | "node": ">= 0.4"
1094 | }
1095 | },
1096 | "node_modules/is-fullwidth-code-point": {
1097 | "version": "2.0.0",
1098 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1099 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1100 | "dev": true,
1101 | "engines": {
1102 | "node": ">=4"
1103 | }
1104 | },
1105 | "node_modules/is-module": {
1106 | "version": "1.0.0",
1107 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
1108 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
1109 | "dev": true
1110 | },
1111 | "node_modules/is-negative-zero": {
1112 | "version": "2.0.0",
1113 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
1114 | "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
1115 | "dev": true,
1116 | "engines": {
1117 | "node": ">= 0.4"
1118 | }
1119 | },
1120 | "node_modules/is-promise": {
1121 | "version": "2.1.0",
1122 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
1123 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
1124 | "dev": true
1125 | },
1126 | "node_modules/is-reference": {
1127 | "version": "1.1.3",
1128 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz",
1129 | "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==",
1130 | "dev": true,
1131 | "dependencies": {
1132 | "@types/estree": "0.0.39"
1133 | }
1134 | },
1135 | "node_modules/is-regex": {
1136 | "version": "1.1.1",
1137 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
1138 | "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
1139 | "dev": true,
1140 | "dependencies": {
1141 | "has-symbols": "^1.0.1"
1142 | },
1143 | "engines": {
1144 | "node": ">= 0.4"
1145 | }
1146 | },
1147 | "node_modules/is-string": {
1148 | "version": "1.0.5",
1149 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
1150 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
1151 | "dev": true,
1152 | "engines": {
1153 | "node": ">= 0.4"
1154 | }
1155 | },
1156 | "node_modules/is-symbol": {
1157 | "version": "1.0.3",
1158 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
1159 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
1160 | "dev": true,
1161 | "dependencies": {
1162 | "has-symbols": "^1.0.1"
1163 | },
1164 | "engines": {
1165 | "node": ">= 0.4"
1166 | }
1167 | },
1168 | "node_modules/isarray": {
1169 | "version": "1.0.0",
1170 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1171 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1172 | "dev": true
1173 | },
1174 | "node_modules/isexe": {
1175 | "version": "2.0.0",
1176 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1177 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1178 | "dev": true
1179 | },
1180 | "node_modules/js-tokens": {
1181 | "version": "4.0.0",
1182 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1183 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1184 | "dev": true
1185 | },
1186 | "node_modules/js-yaml": {
1187 | "version": "3.13.1",
1188 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
1189 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
1190 | "dev": true,
1191 | "dependencies": {
1192 | "argparse": "^1.0.7",
1193 | "esprima": "^4.0.0"
1194 | },
1195 | "bin": {
1196 | "js-yaml": "bin/js-yaml.js"
1197 | }
1198 | },
1199 | "node_modules/jsesc": {
1200 | "version": "0.5.0",
1201 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
1202 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
1203 | "dev": true,
1204 | "bin": {
1205 | "jsesc": "bin/jsesc"
1206 | }
1207 | },
1208 | "node_modules/json-schema-traverse": {
1209 | "version": "0.4.1",
1210 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1211 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1212 | "dev": true
1213 | },
1214 | "node_modules/json-stable-stringify-without-jsonify": {
1215 | "version": "1.0.1",
1216 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
1217 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
1218 | "dev": true
1219 | },
1220 | "node_modules/json5": {
1221 | "version": "1.0.2",
1222 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
1223 | "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
1224 | "dev": true,
1225 | "dependencies": {
1226 | "minimist": "^1.2.0"
1227 | },
1228 | "bin": {
1229 | "json5": "lib/cli.js"
1230 | }
1231 | },
1232 | "node_modules/levn": {
1233 | "version": "0.3.0",
1234 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
1235 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
1236 | "dev": true,
1237 | "dependencies": {
1238 | "prelude-ls": "~1.1.2",
1239 | "type-check": "~0.3.2"
1240 | },
1241 | "engines": {
1242 | "node": ">= 0.8.0"
1243 | }
1244 | },
1245 | "node_modules/load-json-file": {
1246 | "version": "2.0.0",
1247 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
1248 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
1249 | "dev": true,
1250 | "dependencies": {
1251 | "graceful-fs": "^4.1.2",
1252 | "parse-json": "^2.2.0",
1253 | "pify": "^2.0.0",
1254 | "strip-bom": "^3.0.0"
1255 | },
1256 | "engines": {
1257 | "node": ">=4"
1258 | }
1259 | },
1260 | "node_modules/locate-path": {
1261 | "version": "2.0.0",
1262 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
1263 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
1264 | "dev": true,
1265 | "dependencies": {
1266 | "p-locate": "^2.0.0",
1267 | "path-exists": "^3.0.0"
1268 | },
1269 | "engines": {
1270 | "node": ">=4"
1271 | }
1272 | },
1273 | "node_modules/lodash": {
1274 | "version": "4.17.21",
1275 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
1276 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
1277 | "dev": true
1278 | },
1279 | "node_modules/magic-string": {
1280 | "version": "0.25.3",
1281 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz",
1282 | "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==",
1283 | "dev": true,
1284 | "dependencies": {
1285 | "sourcemap-codec": "^1.4.4"
1286 | }
1287 | },
1288 | "node_modules/mimic-fn": {
1289 | "version": "1.2.0",
1290 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
1291 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
1292 | "dev": true,
1293 | "engines": {
1294 | "node": ">=4"
1295 | }
1296 | },
1297 | "node_modules/minimatch": {
1298 | "version": "3.0.4",
1299 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1300 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1301 | "dev": true,
1302 | "dependencies": {
1303 | "brace-expansion": "^1.1.7"
1304 | },
1305 | "engines": {
1306 | "node": "*"
1307 | }
1308 | },
1309 | "node_modules/minimist": {
1310 | "version": "1.2.6",
1311 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
1312 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
1313 | "dev": true
1314 | },
1315 | "node_modules/mkdirp": {
1316 | "version": "0.5.5",
1317 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1318 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1319 | "dev": true,
1320 | "dependencies": {
1321 | "minimist": "^1.2.5"
1322 | },
1323 | "bin": {
1324 | "mkdirp": "bin/cmd.js"
1325 | }
1326 | },
1327 | "node_modules/ms": {
1328 | "version": "2.1.2",
1329 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1330 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1331 | "dev": true
1332 | },
1333 | "node_modules/mute-stream": {
1334 | "version": "0.0.7",
1335 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
1336 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
1337 | "dev": true
1338 | },
1339 | "node_modules/natural-compare": {
1340 | "version": "1.4.0",
1341 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
1342 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
1343 | "dev": true
1344 | },
1345 | "node_modules/nice-try": {
1346 | "version": "1.0.5",
1347 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
1348 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
1349 | "dev": true
1350 | },
1351 | "node_modules/normalize-package-data": {
1352 | "version": "2.5.0",
1353 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
1354 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
1355 | "dev": true,
1356 | "dependencies": {
1357 | "hosted-git-info": "^2.1.4",
1358 | "resolve": "^1.10.0",
1359 | "semver": "2 || 3 || 4 || 5",
1360 | "validate-npm-package-license": "^3.0.1"
1361 | }
1362 | },
1363 | "node_modules/object-inspect": {
1364 | "version": "1.8.0",
1365 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
1366 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
1367 | "dev": true
1368 | },
1369 | "node_modules/object-keys": {
1370 | "version": "1.1.1",
1371 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
1372 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
1373 | "dev": true,
1374 | "engines": {
1375 | "node": ">= 0.4"
1376 | }
1377 | },
1378 | "node_modules/object.assign": {
1379 | "version": "4.1.2",
1380 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
1381 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
1382 | "dev": true,
1383 | "dependencies": {
1384 | "call-bind": "^1.0.0",
1385 | "define-properties": "^1.1.3",
1386 | "has-symbols": "^1.0.1",
1387 | "object-keys": "^1.1.1"
1388 | },
1389 | "engines": {
1390 | "node": ">= 0.4"
1391 | }
1392 | },
1393 | "node_modules/object.values": {
1394 | "version": "1.1.1",
1395 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
1396 | "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
1397 | "dev": true,
1398 | "dependencies": {
1399 | "define-properties": "^1.1.3",
1400 | "es-abstract": "^1.17.0-next.1",
1401 | "function-bind": "^1.1.1",
1402 | "has": "^1.0.3"
1403 | },
1404 | "engines": {
1405 | "node": ">= 0.4"
1406 | }
1407 | },
1408 | "node_modules/once": {
1409 | "version": "1.4.0",
1410 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1411 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1412 | "dev": true,
1413 | "dependencies": {
1414 | "wrappy": "1"
1415 | }
1416 | },
1417 | "node_modules/onetime": {
1418 | "version": "2.0.1",
1419 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
1420 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
1421 | "dev": true,
1422 | "dependencies": {
1423 | "mimic-fn": "^1.0.0"
1424 | },
1425 | "engines": {
1426 | "node": ">=4"
1427 | }
1428 | },
1429 | "node_modules/optionator": {
1430 | "version": "0.8.3",
1431 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
1432 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
1433 | "dev": true,
1434 | "dependencies": {
1435 | "deep-is": "~0.1.3",
1436 | "fast-levenshtein": "~2.0.6",
1437 | "levn": "~0.3.0",
1438 | "prelude-ls": "~1.1.2",
1439 | "type-check": "~0.3.2",
1440 | "word-wrap": "~1.2.3"
1441 | },
1442 | "engines": {
1443 | "node": ">= 0.8.0"
1444 | }
1445 | },
1446 | "node_modules/os-homedir": {
1447 | "version": "2.0.0",
1448 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-2.0.0.tgz",
1449 | "integrity": "sha512-saRNz0DSC5C/I++gFIaJTXoFJMRwiP5zHar5vV3xQ2TkgEw6hDCcU5F272JjUylpiVgBrZNQHnfjkLabTfb92Q==",
1450 | "dev": true,
1451 | "engines": {
1452 | "node": ">=0.10.0"
1453 | }
1454 | },
1455 | "node_modules/os-tmpdir": {
1456 | "version": "1.0.2",
1457 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1458 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
1459 | "dev": true,
1460 | "engines": {
1461 | "node": ">=0.10.0"
1462 | }
1463 | },
1464 | "node_modules/p-limit": {
1465 | "version": "1.3.0",
1466 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
1467 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
1468 | "dev": true,
1469 | "dependencies": {
1470 | "p-try": "^1.0.0"
1471 | },
1472 | "engines": {
1473 | "node": ">=4"
1474 | }
1475 | },
1476 | "node_modules/p-locate": {
1477 | "version": "2.0.0",
1478 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
1479 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
1480 | "dev": true,
1481 | "dependencies": {
1482 | "p-limit": "^1.1.0"
1483 | },
1484 | "engines": {
1485 | "node": ">=4"
1486 | }
1487 | },
1488 | "node_modules/p-try": {
1489 | "version": "1.0.0",
1490 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
1491 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
1492 | "dev": true,
1493 | "engines": {
1494 | "node": ">=4"
1495 | }
1496 | },
1497 | "node_modules/parent-module": {
1498 | "version": "1.0.1",
1499 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1500 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1501 | "dev": true,
1502 | "dependencies": {
1503 | "callsites": "^3.0.0"
1504 | },
1505 | "engines": {
1506 | "node": ">=6"
1507 | }
1508 | },
1509 | "node_modules/parse-json": {
1510 | "version": "2.2.0",
1511 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
1512 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
1513 | "dev": true,
1514 | "dependencies": {
1515 | "error-ex": "^1.2.0"
1516 | },
1517 | "engines": {
1518 | "node": ">=0.10.0"
1519 | }
1520 | },
1521 | "node_modules/path": {
1522 | "version": "0.12.7",
1523 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
1524 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
1525 | "dev": true,
1526 | "dependencies": {
1527 | "process": "^0.11.1",
1528 | "util": "^0.10.3"
1529 | }
1530 | },
1531 | "node_modules/path-exists": {
1532 | "version": "3.0.0",
1533 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1534 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
1535 | "dev": true,
1536 | "engines": {
1537 | "node": ">=4"
1538 | }
1539 | },
1540 | "node_modules/path-is-absolute": {
1541 | "version": "1.0.1",
1542 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1543 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1544 | "dev": true,
1545 | "engines": {
1546 | "node": ">=0.10.0"
1547 | }
1548 | },
1549 | "node_modules/path-is-inside": {
1550 | "version": "1.0.2",
1551 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
1552 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
1553 | "dev": true
1554 | },
1555 | "node_modules/path-key": {
1556 | "version": "2.0.1",
1557 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1558 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1559 | "dev": true,
1560 | "engines": {
1561 | "node": ">=4"
1562 | }
1563 | },
1564 | "node_modules/path-parse": {
1565 | "version": "1.0.7",
1566 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1567 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1568 | "dev": true
1569 | },
1570 | "node_modules/path-type": {
1571 | "version": "2.0.0",
1572 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
1573 | "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
1574 | "dev": true,
1575 | "dependencies": {
1576 | "pify": "^2.0.0"
1577 | },
1578 | "engines": {
1579 | "node": ">=4"
1580 | }
1581 | },
1582 | "node_modules/phaser": {
1583 | "version": "3.55.2",
1584 | "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.55.2.tgz",
1585 | "integrity": "sha512-amKXsbb2Ht29dGPKvt1edq3yGGYKtq8373GpJYGKPNPnneYY6MtVTOgjHDuZwtmUyK4v86FugkT3hzW/N4tjxQ==",
1586 | "dev": true,
1587 | "dependencies": {
1588 | "eventemitter3": "^4.0.7",
1589 | "path": "^0.12.7"
1590 | }
1591 | },
1592 | "node_modules/pify": {
1593 | "version": "2.3.0",
1594 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
1595 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
1596 | "dev": true,
1597 | "engines": {
1598 | "node": ">=0.10.0"
1599 | }
1600 | },
1601 | "node_modules/pkg-dir": {
1602 | "version": "2.0.0",
1603 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
1604 | "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
1605 | "dev": true,
1606 | "dependencies": {
1607 | "find-up": "^2.1.0"
1608 | },
1609 | "engines": {
1610 | "node": ">=4"
1611 | }
1612 | },
1613 | "node_modules/prelude-ls": {
1614 | "version": "1.1.2",
1615 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
1616 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
1617 | "dev": true,
1618 | "engines": {
1619 | "node": ">= 0.8.0"
1620 | }
1621 | },
1622 | "node_modules/process": {
1623 | "version": "0.11.10",
1624 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
1625 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
1626 | "dev": true,
1627 | "engines": {
1628 | "node": ">= 0.6.0"
1629 | }
1630 | },
1631 | "node_modules/progress": {
1632 | "version": "2.0.3",
1633 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1634 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1635 | "dev": true,
1636 | "engines": {
1637 | "node": ">=0.4.0"
1638 | }
1639 | },
1640 | "node_modules/punycode": {
1641 | "version": "2.1.1",
1642 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1643 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1644 | "dev": true,
1645 | "engines": {
1646 | "node": ">=6"
1647 | }
1648 | },
1649 | "node_modules/read-pkg": {
1650 | "version": "2.0.0",
1651 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
1652 | "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
1653 | "dev": true,
1654 | "dependencies": {
1655 | "load-json-file": "^2.0.0",
1656 | "normalize-package-data": "^2.3.2",
1657 | "path-type": "^2.0.0"
1658 | },
1659 | "engines": {
1660 | "node": ">=4"
1661 | }
1662 | },
1663 | "node_modules/read-pkg-up": {
1664 | "version": "2.0.0",
1665 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
1666 | "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
1667 | "dev": true,
1668 | "dependencies": {
1669 | "find-up": "^2.0.0",
1670 | "read-pkg": "^2.0.0"
1671 | },
1672 | "engines": {
1673 | "node": ">=4"
1674 | }
1675 | },
1676 | "node_modules/regenerate": {
1677 | "version": "1.4.0",
1678 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
1679 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
1680 | "dev": true
1681 | },
1682 | "node_modules/regenerate-unicode-properties": {
1683 | "version": "8.1.0",
1684 | "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
1685 | "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
1686 | "dev": true,
1687 | "dependencies": {
1688 | "regenerate": "^1.4.0"
1689 | },
1690 | "engines": {
1691 | "node": ">=4"
1692 | }
1693 | },
1694 | "node_modules/regexpp": {
1695 | "version": "2.0.1",
1696 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
1697 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
1698 | "dev": true,
1699 | "engines": {
1700 | "node": ">=6.5.0"
1701 | }
1702 | },
1703 | "node_modules/regexpu-core": {
1704 | "version": "4.6.0",
1705 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
1706 | "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
1707 | "dev": true,
1708 | "dependencies": {
1709 | "regenerate": "^1.4.0",
1710 | "regenerate-unicode-properties": "^8.1.0",
1711 | "regjsgen": "^0.5.0",
1712 | "regjsparser": "^0.6.0",
1713 | "unicode-match-property-ecmascript": "^1.0.4",
1714 | "unicode-match-property-value-ecmascript": "^1.1.0"
1715 | },
1716 | "engines": {
1717 | "node": ">=4"
1718 | }
1719 | },
1720 | "node_modules/regjsgen": {
1721 | "version": "0.5.0",
1722 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
1723 | "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
1724 | "dev": true
1725 | },
1726 | "node_modules/regjsparser": {
1727 | "version": "0.6.0",
1728 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
1729 | "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
1730 | "dev": true,
1731 | "dependencies": {
1732 | "jsesc": "~0.5.0"
1733 | },
1734 | "bin": {
1735 | "regjsparser": "bin/parser"
1736 | }
1737 | },
1738 | "node_modules/resolve": {
1739 | "version": "1.15.0",
1740 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz",
1741 | "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==",
1742 | "dev": true,
1743 | "dependencies": {
1744 | "path-parse": "^1.0.6"
1745 | }
1746 | },
1747 | "node_modules/resolve-from": {
1748 | "version": "4.0.0",
1749 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1750 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1751 | "dev": true,
1752 | "engines": {
1753 | "node": ">=4"
1754 | }
1755 | },
1756 | "node_modules/restore-cursor": {
1757 | "version": "2.0.0",
1758 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
1759 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
1760 | "dev": true,
1761 | "dependencies": {
1762 | "onetime": "^2.0.0",
1763 | "signal-exit": "^3.0.2"
1764 | },
1765 | "engines": {
1766 | "node": ">=4"
1767 | }
1768 | },
1769 | "node_modules/rimraf": {
1770 | "version": "2.6.3",
1771 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1772 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1773 | "dev": true,
1774 | "dependencies": {
1775 | "glob": "^7.1.3"
1776 | },
1777 | "bin": {
1778 | "rimraf": "bin.js"
1779 | }
1780 | },
1781 | "node_modules/rollup": {
1782 | "version": "1.32.1",
1783 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz",
1784 | "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==",
1785 | "dev": true,
1786 | "dependencies": {
1787 | "@types/estree": "*",
1788 | "@types/node": "*",
1789 | "acorn": "^7.1.0"
1790 | },
1791 | "bin": {
1792 | "rollup": "dist/bin/rollup"
1793 | }
1794 | },
1795 | "node_modules/rollup-plugin-buble": {
1796 | "version": "0.19.8",
1797 | "resolved": "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.19.8.tgz",
1798 | "integrity": "sha512-8J4zPk2DQdk3rxeZvxgzhHh/rm5nJkjwgcsUYisCQg1QbT5yagW+hehYEW7ZNns/NVbDCTv4JQ7h4fC8qKGOKw==",
1799 | "dev": true,
1800 | "dependencies": {
1801 | "buble": "^0.19.8",
1802 | "rollup-pluginutils": "^2.3.3"
1803 | }
1804 | },
1805 | "node_modules/rollup-plugin-commonjs": {
1806 | "version": "10.1.0",
1807 | "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz",
1808 | "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==",
1809 | "dev": true,
1810 | "dependencies": {
1811 | "estree-walker": "^0.6.1",
1812 | "is-reference": "^1.1.2",
1813 | "magic-string": "^0.25.2",
1814 | "resolve": "^1.11.0",
1815 | "rollup-pluginutils": "^2.8.1"
1816 | }
1817 | },
1818 | "node_modules/rollup-plugin-node-resolve": {
1819 | "version": "5.2.0",
1820 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz",
1821 | "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==",
1822 | "dev": true,
1823 | "dependencies": {
1824 | "@types/resolve": "0.0.8",
1825 | "builtin-modules": "^3.1.0",
1826 | "is-module": "^1.0.0",
1827 | "resolve": "^1.11.1",
1828 | "rollup-pluginutils": "^2.8.1"
1829 | }
1830 | },
1831 | "node_modules/rollup-plugin-node-resolve/node_modules/builtin-modules": {
1832 | "version": "3.1.0",
1833 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
1834 | "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
1835 | "dev": true,
1836 | "engines": {
1837 | "node": ">=6"
1838 | }
1839 | },
1840 | "node_modules/rollup-pluginutils": {
1841 | "version": "2.8.2",
1842 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
1843 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
1844 | "dev": true,
1845 | "dependencies": {
1846 | "estree-walker": "^0.6.1"
1847 | }
1848 | },
1849 | "node_modules/rollup/node_modules/acorn": {
1850 | "version": "7.4.1",
1851 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
1852 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
1853 | "dev": true,
1854 | "bin": {
1855 | "acorn": "bin/acorn"
1856 | },
1857 | "engines": {
1858 | "node": ">=0.4.0"
1859 | }
1860 | },
1861 | "node_modules/run-async": {
1862 | "version": "2.3.0",
1863 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
1864 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
1865 | "dev": true,
1866 | "dependencies": {
1867 | "is-promise": "^2.1.0"
1868 | },
1869 | "engines": {
1870 | "node": ">=0.12.0"
1871 | }
1872 | },
1873 | "node_modules/rxjs": {
1874 | "version": "6.5.4",
1875 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
1876 | "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
1877 | "dev": true,
1878 | "dependencies": {
1879 | "tslib": "^1.9.0"
1880 | },
1881 | "engines": {
1882 | "npm": ">=2.0.0"
1883 | }
1884 | },
1885 | "node_modules/safer-buffer": {
1886 | "version": "2.1.2",
1887 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1888 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1889 | "dev": true
1890 | },
1891 | "node_modules/semver": {
1892 | "version": "5.7.1",
1893 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1894 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1895 | "dev": true,
1896 | "bin": {
1897 | "semver": "bin/semver"
1898 | }
1899 | },
1900 | "node_modules/shebang-command": {
1901 | "version": "1.2.0",
1902 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1903 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1904 | "dev": true,
1905 | "dependencies": {
1906 | "shebang-regex": "^1.0.0"
1907 | },
1908 | "engines": {
1909 | "node": ">=0.10.0"
1910 | }
1911 | },
1912 | "node_modules/shebang-regex": {
1913 | "version": "1.0.0",
1914 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1915 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1916 | "dev": true,
1917 | "engines": {
1918 | "node": ">=0.10.0"
1919 | }
1920 | },
1921 | "node_modules/signal-exit": {
1922 | "version": "3.0.2",
1923 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1924 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
1925 | "dev": true
1926 | },
1927 | "node_modules/slice-ansi": {
1928 | "version": "2.1.0",
1929 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1930 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1931 | "dev": true,
1932 | "dependencies": {
1933 | "ansi-styles": "^3.2.0",
1934 | "astral-regex": "^1.0.0",
1935 | "is-fullwidth-code-point": "^2.0.0"
1936 | },
1937 | "engines": {
1938 | "node": ">=6"
1939 | }
1940 | },
1941 | "node_modules/sourcemap-codec": {
1942 | "version": "1.4.6",
1943 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz",
1944 | "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==",
1945 | "dev": true
1946 | },
1947 | "node_modules/spdx-correct": {
1948 | "version": "3.1.1",
1949 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
1950 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
1951 | "dev": true,
1952 | "dependencies": {
1953 | "spdx-expression-parse": "^3.0.0",
1954 | "spdx-license-ids": "^3.0.0"
1955 | }
1956 | },
1957 | "node_modules/spdx-exceptions": {
1958 | "version": "2.3.0",
1959 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
1960 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
1961 | "dev": true
1962 | },
1963 | "node_modules/spdx-expression-parse": {
1964 | "version": "3.0.1",
1965 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
1966 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
1967 | "dev": true,
1968 | "dependencies": {
1969 | "spdx-exceptions": "^2.1.0",
1970 | "spdx-license-ids": "^3.0.0"
1971 | }
1972 | },
1973 | "node_modules/spdx-license-ids": {
1974 | "version": "3.0.6",
1975 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
1976 | "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
1977 | "dev": true
1978 | },
1979 | "node_modules/sprintf-js": {
1980 | "version": "1.0.3",
1981 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1982 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1983 | "dev": true
1984 | },
1985 | "node_modules/string-width": {
1986 | "version": "2.1.1",
1987 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1988 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1989 | "dev": true,
1990 | "dependencies": {
1991 | "is-fullwidth-code-point": "^2.0.0",
1992 | "strip-ansi": "^4.0.0"
1993 | },
1994 | "engines": {
1995 | "node": ">=4"
1996 | }
1997 | },
1998 | "node_modules/string.prototype.trimend": {
1999 | "version": "1.0.2",
2000 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz",
2001 | "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==",
2002 | "dev": true,
2003 | "dependencies": {
2004 | "define-properties": "^1.1.3",
2005 | "es-abstract": "^1.18.0-next.1"
2006 | }
2007 | },
2008 | "node_modules/string.prototype.trimend/node_modules/es-abstract": {
2009 | "version": "1.18.0-next.1",
2010 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
2011 | "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
2012 | "dev": true,
2013 | "dependencies": {
2014 | "es-to-primitive": "^1.2.1",
2015 | "function-bind": "^1.1.1",
2016 | "has": "^1.0.3",
2017 | "has-symbols": "^1.0.1",
2018 | "is-callable": "^1.2.2",
2019 | "is-negative-zero": "^2.0.0",
2020 | "is-regex": "^1.1.1",
2021 | "object-inspect": "^1.8.0",
2022 | "object-keys": "^1.1.1",
2023 | "object.assign": "^4.1.1",
2024 | "string.prototype.trimend": "^1.0.1",
2025 | "string.prototype.trimstart": "^1.0.1"
2026 | },
2027 | "engines": {
2028 | "node": ">= 0.4"
2029 | }
2030 | },
2031 | "node_modules/string.prototype.trimstart": {
2032 | "version": "1.0.2",
2033 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz",
2034 | "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==",
2035 | "dev": true,
2036 | "dependencies": {
2037 | "define-properties": "^1.1.3",
2038 | "es-abstract": "^1.18.0-next.1"
2039 | }
2040 | },
2041 | "node_modules/string.prototype.trimstart/node_modules/es-abstract": {
2042 | "version": "1.18.0-next.1",
2043 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
2044 | "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
2045 | "dev": true,
2046 | "dependencies": {
2047 | "es-to-primitive": "^1.2.1",
2048 | "function-bind": "^1.1.1",
2049 | "has": "^1.0.3",
2050 | "has-symbols": "^1.0.1",
2051 | "is-callable": "^1.2.2",
2052 | "is-negative-zero": "^2.0.0",
2053 | "is-regex": "^1.1.1",
2054 | "object-inspect": "^1.8.0",
2055 | "object-keys": "^1.1.1",
2056 | "object.assign": "^4.1.1",
2057 | "string.prototype.trimend": "^1.0.1",
2058 | "string.prototype.trimstart": "^1.0.1"
2059 | },
2060 | "engines": {
2061 | "node": ">= 0.4"
2062 | }
2063 | },
2064 | "node_modules/strip-ansi": {
2065 | "version": "4.0.0",
2066 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
2067 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
2068 | "dev": true,
2069 | "dependencies": {
2070 | "ansi-regex": "^3.0.0"
2071 | },
2072 | "engines": {
2073 | "node": ">=4"
2074 | }
2075 | },
2076 | "node_modules/strip-bom": {
2077 | "version": "3.0.0",
2078 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
2079 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
2080 | "dev": true,
2081 | "engines": {
2082 | "node": ">=4"
2083 | }
2084 | },
2085 | "node_modules/strip-json-comments": {
2086 | "version": "2.0.1",
2087 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
2088 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
2089 | "dev": true,
2090 | "engines": {
2091 | "node": ">=0.10.0"
2092 | }
2093 | },
2094 | "node_modules/supports-color": {
2095 | "version": "5.5.0",
2096 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2097 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2098 | "dev": true,
2099 | "dependencies": {
2100 | "has-flag": "^3.0.0"
2101 | },
2102 | "engines": {
2103 | "node": ">=4"
2104 | }
2105 | },
2106 | "node_modules/table": {
2107 | "version": "5.4.6",
2108 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
2109 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
2110 | "dev": true,
2111 | "dependencies": {
2112 | "ajv": "^6.10.2",
2113 | "lodash": "^4.17.14",
2114 | "slice-ansi": "^2.1.0",
2115 | "string-width": "^3.0.0"
2116 | },
2117 | "engines": {
2118 | "node": ">=6.0.0"
2119 | }
2120 | },
2121 | "node_modules/table/node_modules/ansi-regex": {
2122 | "version": "4.1.1",
2123 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
2124 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
2125 | "dev": true,
2126 | "engines": {
2127 | "node": ">=6"
2128 | }
2129 | },
2130 | "node_modules/table/node_modules/string-width": {
2131 | "version": "3.1.0",
2132 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
2133 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
2134 | "dev": true,
2135 | "dependencies": {
2136 | "emoji-regex": "^7.0.1",
2137 | "is-fullwidth-code-point": "^2.0.0",
2138 | "strip-ansi": "^5.1.0"
2139 | },
2140 | "engines": {
2141 | "node": ">=6"
2142 | }
2143 | },
2144 | "node_modules/table/node_modules/strip-ansi": {
2145 | "version": "5.2.0",
2146 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
2147 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2148 | "dev": true,
2149 | "dependencies": {
2150 | "ansi-regex": "^4.1.0"
2151 | },
2152 | "engines": {
2153 | "node": ">=6"
2154 | }
2155 | },
2156 | "node_modules/text-table": {
2157 | "version": "0.2.0",
2158 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
2159 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
2160 | "dev": true
2161 | },
2162 | "node_modules/through": {
2163 | "version": "2.3.8",
2164 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2165 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
2166 | "dev": true
2167 | },
2168 | "node_modules/tmp": {
2169 | "version": "0.0.33",
2170 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
2171 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
2172 | "dev": true,
2173 | "dependencies": {
2174 | "os-tmpdir": "~1.0.2"
2175 | },
2176 | "engines": {
2177 | "node": ">=0.6.0"
2178 | }
2179 | },
2180 | "node_modules/tsconfig-paths": {
2181 | "version": "3.14.1",
2182 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
2183 | "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
2184 | "dev": true,
2185 | "dependencies": {
2186 | "@types/json5": "^0.0.29",
2187 | "json5": "^1.0.1",
2188 | "minimist": "^1.2.6",
2189 | "strip-bom": "^3.0.0"
2190 | }
2191 | },
2192 | "node_modules/tslib": {
2193 | "version": "1.10.0",
2194 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
2195 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
2196 | "dev": true
2197 | },
2198 | "node_modules/type-check": {
2199 | "version": "0.3.2",
2200 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
2201 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
2202 | "dev": true,
2203 | "dependencies": {
2204 | "prelude-ls": "~1.1.2"
2205 | },
2206 | "engines": {
2207 | "node": ">= 0.8.0"
2208 | }
2209 | },
2210 | "node_modules/unicode-canonical-property-names-ecmascript": {
2211 | "version": "1.0.4",
2212 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
2213 | "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
2214 | "dev": true,
2215 | "engines": {
2216 | "node": ">=4"
2217 | }
2218 | },
2219 | "node_modules/unicode-match-property-ecmascript": {
2220 | "version": "1.0.4",
2221 | "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
2222 | "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
2223 | "dev": true,
2224 | "dependencies": {
2225 | "unicode-canonical-property-names-ecmascript": "^1.0.4",
2226 | "unicode-property-aliases-ecmascript": "^1.0.4"
2227 | },
2228 | "engines": {
2229 | "node": ">=4"
2230 | }
2231 | },
2232 | "node_modules/unicode-match-property-value-ecmascript": {
2233 | "version": "1.1.0",
2234 | "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
2235 | "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
2236 | "dev": true,
2237 | "engines": {
2238 | "node": ">=4"
2239 | }
2240 | },
2241 | "node_modules/unicode-property-aliases-ecmascript": {
2242 | "version": "1.0.5",
2243 | "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
2244 | "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
2245 | "dev": true,
2246 | "engines": {
2247 | "node": ">=4"
2248 | }
2249 | },
2250 | "node_modules/uri-js": {
2251 | "version": "4.2.2",
2252 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
2253 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
2254 | "dev": true,
2255 | "dependencies": {
2256 | "punycode": "^2.1.0"
2257 | }
2258 | },
2259 | "node_modules/util": {
2260 | "version": "0.10.4",
2261 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
2262 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
2263 | "dev": true,
2264 | "dependencies": {
2265 | "inherits": "2.0.3"
2266 | }
2267 | },
2268 | "node_modules/util/node_modules/inherits": {
2269 | "version": "2.0.3",
2270 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2271 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
2272 | "dev": true
2273 | },
2274 | "node_modules/validate-npm-package-license": {
2275 | "version": "3.0.4",
2276 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
2277 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
2278 | "dev": true,
2279 | "dependencies": {
2280 | "spdx-correct": "^3.0.0",
2281 | "spdx-expression-parse": "^3.0.0"
2282 | }
2283 | },
2284 | "node_modules/which": {
2285 | "version": "1.3.1",
2286 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2287 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2288 | "dev": true,
2289 | "dependencies": {
2290 | "isexe": "^2.0.0"
2291 | },
2292 | "bin": {
2293 | "which": "bin/which"
2294 | }
2295 | },
2296 | "node_modules/word-wrap": {
2297 | "version": "1.2.3",
2298 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2299 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2300 | "dev": true,
2301 | "engines": {
2302 | "node": ">=0.10.0"
2303 | }
2304 | },
2305 | "node_modules/wrappy": {
2306 | "version": "1.0.2",
2307 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2308 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2309 | "dev": true
2310 | },
2311 | "node_modules/write": {
2312 | "version": "1.0.3",
2313 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
2314 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
2315 | "dev": true,
2316 | "dependencies": {
2317 | "mkdirp": "^0.5.1"
2318 | },
2319 | "engines": {
2320 | "node": ">=4"
2321 | }
2322 | }
2323 | },
2324 | "dependencies": {
2325 | "@babel/code-frame": {
2326 | "version": "7.8.3",
2327 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
2328 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
2329 | "dev": true,
2330 | "requires": {
2331 | "@babel/highlight": "^7.8.3"
2332 | }
2333 | },
2334 | "@babel/highlight": {
2335 | "version": "7.8.3",
2336 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
2337 | "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
2338 | "dev": true,
2339 | "requires": {
2340 | "chalk": "^2.0.0",
2341 | "esutils": "^2.0.2",
2342 | "js-tokens": "^4.0.0"
2343 | }
2344 | },
2345 | "@types/estree": {
2346 | "version": "0.0.39",
2347 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
2348 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
2349 | "dev": true
2350 | },
2351 | "@types/json5": {
2352 | "version": "0.0.29",
2353 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
2354 | "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
2355 | "dev": true
2356 | },
2357 | "@types/node": {
2358 | "version": "12.7.5",
2359 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz",
2360 | "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==",
2361 | "dev": true
2362 | },
2363 | "@types/resolve": {
2364 | "version": "0.0.8",
2365 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
2366 | "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
2367 | "dev": true,
2368 | "requires": {
2369 | "@types/node": "*"
2370 | }
2371 | },
2372 | "acorn": {
2373 | "version": "6.4.1",
2374 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
2375 | "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
2376 | "dev": true
2377 | },
2378 | "acorn-dynamic-import": {
2379 | "version": "4.0.0",
2380 | "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
2381 | "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
2382 | "dev": true
2383 | },
2384 | "acorn-jsx": {
2385 | "version": "5.0.1",
2386 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
2387 | "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
2388 | "dev": true
2389 | },
2390 | "ajv": {
2391 | "version": "6.12.6",
2392 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
2393 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
2394 | "dev": true,
2395 | "requires": {
2396 | "fast-deep-equal": "^3.1.1",
2397 | "fast-json-stable-stringify": "^2.0.0",
2398 | "json-schema-traverse": "^0.4.1",
2399 | "uri-js": "^4.2.2"
2400 | }
2401 | },
2402 | "ansi-escapes": {
2403 | "version": "3.2.0",
2404 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
2405 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
2406 | "dev": true
2407 | },
2408 | "ansi-regex": {
2409 | "version": "3.0.1",
2410 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
2411 | "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
2412 | "dev": true
2413 | },
2414 | "ansi-styles": {
2415 | "version": "3.2.1",
2416 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
2417 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
2418 | "dev": true,
2419 | "requires": {
2420 | "color-convert": "^1.9.0"
2421 | }
2422 | },
2423 | "argparse": {
2424 | "version": "1.0.10",
2425 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
2426 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
2427 | "dev": true,
2428 | "requires": {
2429 | "sprintf-js": "~1.0.2"
2430 | }
2431 | },
2432 | "array-includes": {
2433 | "version": "3.1.1",
2434 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
2435 | "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
2436 | "dev": true,
2437 | "requires": {
2438 | "define-properties": "^1.1.3",
2439 | "es-abstract": "^1.17.0",
2440 | "is-string": "^1.0.5"
2441 | }
2442 | },
2443 | "array.prototype.flat": {
2444 | "version": "1.2.3",
2445 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
2446 | "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
2447 | "dev": true,
2448 | "requires": {
2449 | "define-properties": "^1.1.3",
2450 | "es-abstract": "^1.17.0-next.1"
2451 | }
2452 | },
2453 | "astral-regex": {
2454 | "version": "1.0.0",
2455 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
2456 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
2457 | "dev": true
2458 | },
2459 | "balanced-match": {
2460 | "version": "1.0.0",
2461 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
2462 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
2463 | "dev": true
2464 | },
2465 | "brace-expansion": {
2466 | "version": "1.1.11",
2467 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
2468 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
2469 | "dev": true,
2470 | "requires": {
2471 | "balanced-match": "^1.0.0",
2472 | "concat-map": "0.0.1"
2473 | }
2474 | },
2475 | "buble": {
2476 | "version": "0.19.8",
2477 | "resolved": "https://registry.npmjs.org/buble/-/buble-0.19.8.tgz",
2478 | "integrity": "sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA==",
2479 | "dev": true,
2480 | "requires": {
2481 | "acorn": "^6.1.1",
2482 | "acorn-dynamic-import": "^4.0.0",
2483 | "acorn-jsx": "^5.0.1",
2484 | "chalk": "^2.4.2",
2485 | "magic-string": "^0.25.3",
2486 | "minimist": "^1.2.0",
2487 | "os-homedir": "^2.0.0",
2488 | "regexpu-core": "^4.5.4"
2489 | }
2490 | },
2491 | "call-bind": {
2492 | "version": "1.0.0",
2493 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
2494 | "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
2495 | "dev": true,
2496 | "requires": {
2497 | "function-bind": "^1.1.1",
2498 | "get-intrinsic": "^1.0.0"
2499 | }
2500 | },
2501 | "callsites": {
2502 | "version": "3.1.0",
2503 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
2504 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
2505 | "dev": true
2506 | },
2507 | "chalk": {
2508 | "version": "2.4.2",
2509 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
2510 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
2511 | "dev": true,
2512 | "requires": {
2513 | "ansi-styles": "^3.2.1",
2514 | "escape-string-regexp": "^1.0.5",
2515 | "supports-color": "^5.3.0"
2516 | }
2517 | },
2518 | "chardet": {
2519 | "version": "0.7.0",
2520 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
2521 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
2522 | "dev": true
2523 | },
2524 | "cli-cursor": {
2525 | "version": "2.1.0",
2526 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
2527 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
2528 | "dev": true,
2529 | "requires": {
2530 | "restore-cursor": "^2.0.0"
2531 | }
2532 | },
2533 | "cli-width": {
2534 | "version": "2.2.0",
2535 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
2536 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
2537 | "dev": true
2538 | },
2539 | "color-convert": {
2540 | "version": "1.9.3",
2541 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2542 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2543 | "dev": true,
2544 | "requires": {
2545 | "color-name": "1.1.3"
2546 | }
2547 | },
2548 | "color-name": {
2549 | "version": "1.1.3",
2550 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2551 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
2552 | "dev": true
2553 | },
2554 | "concat-map": {
2555 | "version": "0.0.1",
2556 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2557 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
2558 | "dev": true
2559 | },
2560 | "contains-path": {
2561 | "version": "0.1.0",
2562 | "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
2563 | "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
2564 | "dev": true
2565 | },
2566 | "cross-spawn": {
2567 | "version": "6.0.5",
2568 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
2569 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
2570 | "dev": true,
2571 | "requires": {
2572 | "nice-try": "^1.0.4",
2573 | "path-key": "^2.0.1",
2574 | "semver": "^5.5.0",
2575 | "shebang-command": "^1.2.0",
2576 | "which": "^1.2.9"
2577 | }
2578 | },
2579 | "debug": {
2580 | "version": "4.1.1",
2581 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
2582 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
2583 | "dev": true,
2584 | "requires": {
2585 | "ms": "^2.1.1"
2586 | }
2587 | },
2588 | "deep-is": {
2589 | "version": "0.1.3",
2590 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
2591 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
2592 | "dev": true
2593 | },
2594 | "define-properties": {
2595 | "version": "1.1.3",
2596 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
2597 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
2598 | "dev": true,
2599 | "requires": {
2600 | "object-keys": "^1.0.12"
2601 | }
2602 | },
2603 | "doctrine": {
2604 | "version": "3.0.0",
2605 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
2606 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
2607 | "dev": true,
2608 | "requires": {
2609 | "esutils": "^2.0.2"
2610 | }
2611 | },
2612 | "emoji-regex": {
2613 | "version": "7.0.3",
2614 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
2615 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
2616 | "dev": true
2617 | },
2618 | "error-ex": {
2619 | "version": "1.3.2",
2620 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
2621 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
2622 | "dev": true,
2623 | "requires": {
2624 | "is-arrayish": "^0.2.1"
2625 | }
2626 | },
2627 | "es-abstract": {
2628 | "version": "1.17.7",
2629 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
2630 | "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
2631 | "dev": true,
2632 | "requires": {
2633 | "es-to-primitive": "^1.2.1",
2634 | "function-bind": "^1.1.1",
2635 | "has": "^1.0.3",
2636 | "has-symbols": "^1.0.1",
2637 | "is-callable": "^1.2.2",
2638 | "is-regex": "^1.1.1",
2639 | "object-inspect": "^1.8.0",
2640 | "object-keys": "^1.1.1",
2641 | "object.assign": "^4.1.1",
2642 | "string.prototype.trimend": "^1.0.1",
2643 | "string.prototype.trimstart": "^1.0.1"
2644 | }
2645 | },
2646 | "es-to-primitive": {
2647 | "version": "1.2.1",
2648 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
2649 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
2650 | "dev": true,
2651 | "requires": {
2652 | "is-callable": "^1.1.4",
2653 | "is-date-object": "^1.0.1",
2654 | "is-symbol": "^1.0.2"
2655 | }
2656 | },
2657 | "escape-string-regexp": {
2658 | "version": "1.0.5",
2659 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2660 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
2661 | "dev": true
2662 | },
2663 | "eslint": {
2664 | "version": "5.16.0",
2665 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz",
2666 | "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==",
2667 | "dev": true,
2668 | "requires": {
2669 | "@babel/code-frame": "^7.0.0",
2670 | "ajv": "^6.9.1",
2671 | "chalk": "^2.1.0",
2672 | "cross-spawn": "^6.0.5",
2673 | "debug": "^4.0.1",
2674 | "doctrine": "^3.0.0",
2675 | "eslint-scope": "^4.0.3",
2676 | "eslint-utils": "^1.3.1",
2677 | "eslint-visitor-keys": "^1.0.0",
2678 | "espree": "^5.0.1",
2679 | "esquery": "^1.0.1",
2680 | "esutils": "^2.0.2",
2681 | "file-entry-cache": "^5.0.1",
2682 | "functional-red-black-tree": "^1.0.1",
2683 | "glob": "^7.1.2",
2684 | "globals": "^11.7.0",
2685 | "ignore": "^4.0.6",
2686 | "import-fresh": "^3.0.0",
2687 | "imurmurhash": "^0.1.4",
2688 | "inquirer": "^6.2.2",
2689 | "js-yaml": "^3.13.0",
2690 | "json-stable-stringify-without-jsonify": "^1.0.1",
2691 | "levn": "^0.3.0",
2692 | "lodash": "^4.17.11",
2693 | "minimatch": "^3.0.4",
2694 | "mkdirp": "^0.5.1",
2695 | "natural-compare": "^1.4.0",
2696 | "optionator": "^0.8.2",
2697 | "path-is-inside": "^1.0.2",
2698 | "progress": "^2.0.0",
2699 | "regexpp": "^2.0.1",
2700 | "semver": "^5.5.1",
2701 | "strip-ansi": "^4.0.0",
2702 | "strip-json-comments": "^2.0.1",
2703 | "table": "^5.2.3",
2704 | "text-table": "^0.2.0"
2705 | }
2706 | },
2707 | "eslint-config-semistandard": {
2708 | "version": "13.0.0",
2709 | "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-13.0.0.tgz",
2710 | "integrity": "sha512-ZuImKnf/9LeZjr6dtRJ0zEdQbjBwXu0PJR3wXJXoQeMooICMrYPyD70O1tIA9Ng+wutgLjB7UXvZOKYPvzHg+w==",
2711 | "dev": true
2712 | },
2713 | "eslint-config-standard": {
2714 | "version": "12.0.0",
2715 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz",
2716 | "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==",
2717 | "dev": true
2718 | },
2719 | "eslint-import-resolver-node": {
2720 | "version": "0.3.4",
2721 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
2722 | "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==",
2723 | "dev": true,
2724 | "requires": {
2725 | "debug": "^2.6.9",
2726 | "resolve": "^1.13.1"
2727 | },
2728 | "dependencies": {
2729 | "debug": {
2730 | "version": "2.6.9",
2731 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2732 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2733 | "dev": true,
2734 | "requires": {
2735 | "ms": "2.0.0"
2736 | }
2737 | },
2738 | "ms": {
2739 | "version": "2.0.0",
2740 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2741 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2742 | "dev": true
2743 | }
2744 | }
2745 | },
2746 | "eslint-module-utils": {
2747 | "version": "2.6.0",
2748 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
2749 | "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
2750 | "dev": true,
2751 | "requires": {
2752 | "debug": "^2.6.9",
2753 | "pkg-dir": "^2.0.0"
2754 | },
2755 | "dependencies": {
2756 | "debug": {
2757 | "version": "2.6.9",
2758 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2759 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2760 | "dev": true,
2761 | "requires": {
2762 | "ms": "2.0.0"
2763 | }
2764 | },
2765 | "ms": {
2766 | "version": "2.0.0",
2767 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2768 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2769 | "dev": true
2770 | }
2771 | }
2772 | },
2773 | "eslint-plugin-es": {
2774 | "version": "1.4.1",
2775 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz",
2776 | "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==",
2777 | "dev": true,
2778 | "requires": {
2779 | "eslint-utils": "^1.4.2",
2780 | "regexpp": "^2.0.1"
2781 | }
2782 | },
2783 | "eslint-plugin-import": {
2784 | "version": "2.22.1",
2785 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
2786 | "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
2787 | "dev": true,
2788 | "requires": {
2789 | "array-includes": "^3.1.1",
2790 | "array.prototype.flat": "^1.2.3",
2791 | "contains-path": "^0.1.0",
2792 | "debug": "^2.6.9",
2793 | "doctrine": "1.5.0",
2794 | "eslint-import-resolver-node": "^0.3.4",
2795 | "eslint-module-utils": "^2.6.0",
2796 | "has": "^1.0.3",
2797 | "minimatch": "^3.0.4",
2798 | "object.values": "^1.1.1",
2799 | "read-pkg-up": "^2.0.0",
2800 | "resolve": "^1.17.0",
2801 | "tsconfig-paths": "^3.9.0"
2802 | },
2803 | "dependencies": {
2804 | "debug": {
2805 | "version": "2.6.9",
2806 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2807 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2808 | "dev": true,
2809 | "requires": {
2810 | "ms": "2.0.0"
2811 | }
2812 | },
2813 | "doctrine": {
2814 | "version": "1.5.0",
2815 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
2816 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
2817 | "dev": true,
2818 | "requires": {
2819 | "esutils": "^2.0.2",
2820 | "isarray": "^1.0.0"
2821 | }
2822 | },
2823 | "ms": {
2824 | "version": "2.0.0",
2825 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2826 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2827 | "dev": true
2828 | },
2829 | "resolve": {
2830 | "version": "1.18.1",
2831 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
2832 | "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
2833 | "dev": true,
2834 | "requires": {
2835 | "is-core-module": "^2.0.0",
2836 | "path-parse": "^1.0.6"
2837 | }
2838 | }
2839 | }
2840 | },
2841 | "eslint-plugin-node": {
2842 | "version": "8.0.1",
2843 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz",
2844 | "integrity": "sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==",
2845 | "dev": true,
2846 | "requires": {
2847 | "eslint-plugin-es": "^1.3.1",
2848 | "eslint-utils": "^1.3.1",
2849 | "ignore": "^5.0.2",
2850 | "minimatch": "^3.0.4",
2851 | "resolve": "^1.8.1",
2852 | "semver": "^5.5.0"
2853 | },
2854 | "dependencies": {
2855 | "ignore": {
2856 | "version": "5.1.4",
2857 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
2858 | "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
2859 | "dev": true
2860 | }
2861 | }
2862 | },
2863 | "eslint-plugin-promise": {
2864 | "version": "4.2.1",
2865 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz",
2866 | "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==",
2867 | "dev": true
2868 | },
2869 | "eslint-plugin-standard": {
2870 | "version": "4.0.2",
2871 | "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.2.tgz",
2872 | "integrity": "sha512-nKptN8l7jksXkwFk++PhJB3cCDTcXOEyhISIN86Ue2feJ1LFyY3PrY3/xT2keXlJSY5bpmbiTG0f885/YKAvTA==",
2873 | "dev": true
2874 | },
2875 | "eslint-scope": {
2876 | "version": "4.0.3",
2877 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
2878 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
2879 | "dev": true,
2880 | "requires": {
2881 | "esrecurse": "^4.1.0",
2882 | "estraverse": "^4.1.1"
2883 | }
2884 | },
2885 | "eslint-utils": {
2886 | "version": "1.4.3",
2887 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
2888 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
2889 | "dev": true,
2890 | "requires": {
2891 | "eslint-visitor-keys": "^1.1.0"
2892 | }
2893 | },
2894 | "eslint-visitor-keys": {
2895 | "version": "1.1.0",
2896 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
2897 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
2898 | "dev": true
2899 | },
2900 | "espree": {
2901 | "version": "5.0.1",
2902 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
2903 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
2904 | "dev": true,
2905 | "requires": {
2906 | "acorn": "^6.0.7",
2907 | "acorn-jsx": "^5.0.0",
2908 | "eslint-visitor-keys": "^1.0.0"
2909 | }
2910 | },
2911 | "esprima": {
2912 | "version": "4.0.1",
2913 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
2914 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
2915 | "dev": true
2916 | },
2917 | "esquery": {
2918 | "version": "1.0.1",
2919 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
2920 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
2921 | "dev": true,
2922 | "requires": {
2923 | "estraverse": "^4.0.0"
2924 | }
2925 | },
2926 | "esrecurse": {
2927 | "version": "4.2.1",
2928 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
2929 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
2930 | "dev": true,
2931 | "requires": {
2932 | "estraverse": "^4.1.0"
2933 | }
2934 | },
2935 | "estraverse": {
2936 | "version": "4.3.0",
2937 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
2938 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
2939 | "dev": true
2940 | },
2941 | "estree-walker": {
2942 | "version": "0.6.1",
2943 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
2944 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
2945 | "dev": true
2946 | },
2947 | "esutils": {
2948 | "version": "2.0.3",
2949 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
2950 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
2951 | "dev": true
2952 | },
2953 | "eventemitter3": {
2954 | "version": "4.0.7",
2955 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
2956 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
2957 | "dev": true
2958 | },
2959 | "external-editor": {
2960 | "version": "3.1.0",
2961 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
2962 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
2963 | "dev": true,
2964 | "requires": {
2965 | "chardet": "^0.7.0",
2966 | "iconv-lite": "^0.4.24",
2967 | "tmp": "^0.0.33"
2968 | }
2969 | },
2970 | "fast-deep-equal": {
2971 | "version": "3.1.1",
2972 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
2973 | "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
2974 | "dev": true
2975 | },
2976 | "fast-json-stable-stringify": {
2977 | "version": "2.1.0",
2978 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2979 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
2980 | "dev": true
2981 | },
2982 | "fast-levenshtein": {
2983 | "version": "2.0.6",
2984 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2985 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
2986 | "dev": true
2987 | },
2988 | "figures": {
2989 | "version": "2.0.0",
2990 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
2991 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
2992 | "dev": true,
2993 | "requires": {
2994 | "escape-string-regexp": "^1.0.5"
2995 | }
2996 | },
2997 | "file-entry-cache": {
2998 | "version": "5.0.1",
2999 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
3000 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
3001 | "dev": true,
3002 | "requires": {
3003 | "flat-cache": "^2.0.1"
3004 | }
3005 | },
3006 | "find-up": {
3007 | "version": "2.1.0",
3008 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
3009 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
3010 | "dev": true,
3011 | "requires": {
3012 | "locate-path": "^2.0.0"
3013 | }
3014 | },
3015 | "flat-cache": {
3016 | "version": "2.0.1",
3017 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
3018 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
3019 | "dev": true,
3020 | "requires": {
3021 | "flatted": "^2.0.0",
3022 | "rimraf": "2.6.3",
3023 | "write": "1.0.3"
3024 | }
3025 | },
3026 | "flatted": {
3027 | "version": "2.0.1",
3028 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
3029 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
3030 | "dev": true
3031 | },
3032 | "fs.realpath": {
3033 | "version": "1.0.0",
3034 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
3035 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
3036 | "dev": true
3037 | },
3038 | "function-bind": {
3039 | "version": "1.1.1",
3040 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
3041 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
3042 | "dev": true
3043 | },
3044 | "functional-red-black-tree": {
3045 | "version": "1.0.1",
3046 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
3047 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
3048 | "dev": true
3049 | },
3050 | "get-intrinsic": {
3051 | "version": "1.0.1",
3052 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
3053 | "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
3054 | "dev": true,
3055 | "requires": {
3056 | "function-bind": "^1.1.1",
3057 | "has": "^1.0.3",
3058 | "has-symbols": "^1.0.1"
3059 | }
3060 | },
3061 | "glob": {
3062 | "version": "7.1.6",
3063 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
3064 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
3065 | "dev": true,
3066 | "requires": {
3067 | "fs.realpath": "^1.0.0",
3068 | "inflight": "^1.0.4",
3069 | "inherits": "2",
3070 | "minimatch": "^3.0.4",
3071 | "once": "^1.3.0",
3072 | "path-is-absolute": "^1.0.0"
3073 | }
3074 | },
3075 | "globals": {
3076 | "version": "11.12.0",
3077 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
3078 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
3079 | "dev": true
3080 | },
3081 | "graceful-fs": {
3082 | "version": "4.2.4",
3083 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
3084 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
3085 | "dev": true
3086 | },
3087 | "has": {
3088 | "version": "1.0.3",
3089 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
3090 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
3091 | "dev": true,
3092 | "requires": {
3093 | "function-bind": "^1.1.1"
3094 | }
3095 | },
3096 | "has-flag": {
3097 | "version": "3.0.0",
3098 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
3099 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
3100 | "dev": true
3101 | },
3102 | "has-symbols": {
3103 | "version": "1.0.1",
3104 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
3105 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
3106 | "dev": true
3107 | },
3108 | "hosted-git-info": {
3109 | "version": "2.8.9",
3110 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
3111 | "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
3112 | "dev": true
3113 | },
3114 | "iconv-lite": {
3115 | "version": "0.4.24",
3116 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
3117 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
3118 | "dev": true,
3119 | "requires": {
3120 | "safer-buffer": ">= 2.1.2 < 3"
3121 | }
3122 | },
3123 | "ignore": {
3124 | "version": "4.0.6",
3125 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
3126 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
3127 | "dev": true
3128 | },
3129 | "import-fresh": {
3130 | "version": "3.2.1",
3131 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
3132 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
3133 | "dev": true,
3134 | "requires": {
3135 | "parent-module": "^1.0.0",
3136 | "resolve-from": "^4.0.0"
3137 | }
3138 | },
3139 | "imurmurhash": {
3140 | "version": "0.1.4",
3141 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
3142 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
3143 | "dev": true
3144 | },
3145 | "inflight": {
3146 | "version": "1.0.6",
3147 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
3148 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
3149 | "dev": true,
3150 | "requires": {
3151 | "once": "^1.3.0",
3152 | "wrappy": "1"
3153 | }
3154 | },
3155 | "inherits": {
3156 | "version": "2.0.4",
3157 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
3158 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
3159 | "dev": true
3160 | },
3161 | "inquirer": {
3162 | "version": "6.5.2",
3163 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
3164 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
3165 | "dev": true,
3166 | "requires": {
3167 | "ansi-escapes": "^3.2.0",
3168 | "chalk": "^2.4.2",
3169 | "cli-cursor": "^2.1.0",
3170 | "cli-width": "^2.0.0",
3171 | "external-editor": "^3.0.3",
3172 | "figures": "^2.0.0",
3173 | "lodash": "^4.17.12",
3174 | "mute-stream": "0.0.7",
3175 | "run-async": "^2.2.0",
3176 | "rxjs": "^6.4.0",
3177 | "string-width": "^2.1.0",
3178 | "strip-ansi": "^5.1.0",
3179 | "through": "^2.3.6"
3180 | },
3181 | "dependencies": {
3182 | "ansi-regex": {
3183 | "version": "4.1.1",
3184 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
3185 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
3186 | "dev": true
3187 | },
3188 | "strip-ansi": {
3189 | "version": "5.2.0",
3190 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
3191 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
3192 | "dev": true,
3193 | "requires": {
3194 | "ansi-regex": "^4.1.0"
3195 | }
3196 | }
3197 | }
3198 | },
3199 | "is-arrayish": {
3200 | "version": "0.2.1",
3201 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
3202 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
3203 | "dev": true
3204 | },
3205 | "is-callable": {
3206 | "version": "1.2.2",
3207 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
3208 | "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
3209 | "dev": true
3210 | },
3211 | "is-core-module": {
3212 | "version": "2.1.0",
3213 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
3214 | "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
3215 | "dev": true,
3216 | "requires": {
3217 | "has": "^1.0.3"
3218 | }
3219 | },
3220 | "is-date-object": {
3221 | "version": "1.0.2",
3222 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
3223 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
3224 | "dev": true
3225 | },
3226 | "is-fullwidth-code-point": {
3227 | "version": "2.0.0",
3228 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
3229 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
3230 | "dev": true
3231 | },
3232 | "is-module": {
3233 | "version": "1.0.0",
3234 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
3235 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
3236 | "dev": true
3237 | },
3238 | "is-negative-zero": {
3239 | "version": "2.0.0",
3240 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
3241 | "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
3242 | "dev": true
3243 | },
3244 | "is-promise": {
3245 | "version": "2.1.0",
3246 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
3247 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
3248 | "dev": true
3249 | },
3250 | "is-reference": {
3251 | "version": "1.1.3",
3252 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz",
3253 | "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==",
3254 | "dev": true,
3255 | "requires": {
3256 | "@types/estree": "0.0.39"
3257 | }
3258 | },
3259 | "is-regex": {
3260 | "version": "1.1.1",
3261 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
3262 | "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
3263 | "dev": true,
3264 | "requires": {
3265 | "has-symbols": "^1.0.1"
3266 | }
3267 | },
3268 | "is-string": {
3269 | "version": "1.0.5",
3270 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
3271 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
3272 | "dev": true
3273 | },
3274 | "is-symbol": {
3275 | "version": "1.0.3",
3276 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
3277 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
3278 | "dev": true,
3279 | "requires": {
3280 | "has-symbols": "^1.0.1"
3281 | }
3282 | },
3283 | "isarray": {
3284 | "version": "1.0.0",
3285 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3286 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
3287 | "dev": true
3288 | },
3289 | "isexe": {
3290 | "version": "2.0.0",
3291 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3292 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
3293 | "dev": true
3294 | },
3295 | "js-tokens": {
3296 | "version": "4.0.0",
3297 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3298 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
3299 | "dev": true
3300 | },
3301 | "js-yaml": {
3302 | "version": "3.13.1",
3303 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
3304 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
3305 | "dev": true,
3306 | "requires": {
3307 | "argparse": "^1.0.7",
3308 | "esprima": "^4.0.0"
3309 | }
3310 | },
3311 | "jsesc": {
3312 | "version": "0.5.0",
3313 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
3314 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
3315 | "dev": true
3316 | },
3317 | "json-schema-traverse": {
3318 | "version": "0.4.1",
3319 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3320 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3321 | "dev": true
3322 | },
3323 | "json-stable-stringify-without-jsonify": {
3324 | "version": "1.0.1",
3325 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
3326 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
3327 | "dev": true
3328 | },
3329 | "json5": {
3330 | "version": "1.0.2",
3331 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
3332 | "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
3333 | "dev": true,
3334 | "requires": {
3335 | "minimist": "^1.2.0"
3336 | }
3337 | },
3338 | "levn": {
3339 | "version": "0.3.0",
3340 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
3341 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
3342 | "dev": true,
3343 | "requires": {
3344 | "prelude-ls": "~1.1.2",
3345 | "type-check": "~0.3.2"
3346 | }
3347 | },
3348 | "load-json-file": {
3349 | "version": "2.0.0",
3350 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
3351 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
3352 | "dev": true,
3353 | "requires": {
3354 | "graceful-fs": "^4.1.2",
3355 | "parse-json": "^2.2.0",
3356 | "pify": "^2.0.0",
3357 | "strip-bom": "^3.0.0"
3358 | }
3359 | },
3360 | "locate-path": {
3361 | "version": "2.0.0",
3362 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
3363 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
3364 | "dev": true,
3365 | "requires": {
3366 | "p-locate": "^2.0.0",
3367 | "path-exists": "^3.0.0"
3368 | }
3369 | },
3370 | "lodash": {
3371 | "version": "4.17.21",
3372 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
3373 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
3374 | "dev": true
3375 | },
3376 | "magic-string": {
3377 | "version": "0.25.3",
3378 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz",
3379 | "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==",
3380 | "dev": true,
3381 | "requires": {
3382 | "sourcemap-codec": "^1.4.4"
3383 | }
3384 | },
3385 | "mimic-fn": {
3386 | "version": "1.2.0",
3387 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
3388 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
3389 | "dev": true
3390 | },
3391 | "minimatch": {
3392 | "version": "3.0.4",
3393 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
3394 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
3395 | "dev": true,
3396 | "requires": {
3397 | "brace-expansion": "^1.1.7"
3398 | }
3399 | },
3400 | "minimist": {
3401 | "version": "1.2.6",
3402 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
3403 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
3404 | "dev": true
3405 | },
3406 | "mkdirp": {
3407 | "version": "0.5.5",
3408 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
3409 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
3410 | "dev": true,
3411 | "requires": {
3412 | "minimist": "^1.2.5"
3413 | }
3414 | },
3415 | "ms": {
3416 | "version": "2.1.2",
3417 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
3418 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
3419 | "dev": true
3420 | },
3421 | "mute-stream": {
3422 | "version": "0.0.7",
3423 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
3424 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
3425 | "dev": true
3426 | },
3427 | "natural-compare": {
3428 | "version": "1.4.0",
3429 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
3430 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
3431 | "dev": true
3432 | },
3433 | "nice-try": {
3434 | "version": "1.0.5",
3435 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
3436 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
3437 | "dev": true
3438 | },
3439 | "normalize-package-data": {
3440 | "version": "2.5.0",
3441 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
3442 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
3443 | "dev": true,
3444 | "requires": {
3445 | "hosted-git-info": "^2.1.4",
3446 | "resolve": "^1.10.0",
3447 | "semver": "2 || 3 || 4 || 5",
3448 | "validate-npm-package-license": "^3.0.1"
3449 | }
3450 | },
3451 | "object-inspect": {
3452 | "version": "1.8.0",
3453 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
3454 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
3455 | "dev": true
3456 | },
3457 | "object-keys": {
3458 | "version": "1.1.1",
3459 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
3460 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
3461 | "dev": true
3462 | },
3463 | "object.assign": {
3464 | "version": "4.1.2",
3465 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
3466 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
3467 | "dev": true,
3468 | "requires": {
3469 | "call-bind": "^1.0.0",
3470 | "define-properties": "^1.1.3",
3471 | "has-symbols": "^1.0.1",
3472 | "object-keys": "^1.1.1"
3473 | }
3474 | },
3475 | "object.values": {
3476 | "version": "1.1.1",
3477 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
3478 | "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
3479 | "dev": true,
3480 | "requires": {
3481 | "define-properties": "^1.1.3",
3482 | "es-abstract": "^1.17.0-next.1",
3483 | "function-bind": "^1.1.1",
3484 | "has": "^1.0.3"
3485 | }
3486 | },
3487 | "once": {
3488 | "version": "1.4.0",
3489 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3490 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3491 | "dev": true,
3492 | "requires": {
3493 | "wrappy": "1"
3494 | }
3495 | },
3496 | "onetime": {
3497 | "version": "2.0.1",
3498 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
3499 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
3500 | "dev": true,
3501 | "requires": {
3502 | "mimic-fn": "^1.0.0"
3503 | }
3504 | },
3505 | "optionator": {
3506 | "version": "0.8.3",
3507 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
3508 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
3509 | "dev": true,
3510 | "requires": {
3511 | "deep-is": "~0.1.3",
3512 | "fast-levenshtein": "~2.0.6",
3513 | "levn": "~0.3.0",
3514 | "prelude-ls": "~1.1.2",
3515 | "type-check": "~0.3.2",
3516 | "word-wrap": "~1.2.3"
3517 | }
3518 | },
3519 | "os-homedir": {
3520 | "version": "2.0.0",
3521 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-2.0.0.tgz",
3522 | "integrity": "sha512-saRNz0DSC5C/I++gFIaJTXoFJMRwiP5zHar5vV3xQ2TkgEw6hDCcU5F272JjUylpiVgBrZNQHnfjkLabTfb92Q==",
3523 | "dev": true
3524 | },
3525 | "os-tmpdir": {
3526 | "version": "1.0.2",
3527 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
3528 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
3529 | "dev": true
3530 | },
3531 | "p-limit": {
3532 | "version": "1.3.0",
3533 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
3534 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
3535 | "dev": true,
3536 | "requires": {
3537 | "p-try": "^1.0.0"
3538 | }
3539 | },
3540 | "p-locate": {
3541 | "version": "2.0.0",
3542 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
3543 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
3544 | "dev": true,
3545 | "requires": {
3546 | "p-limit": "^1.1.0"
3547 | }
3548 | },
3549 | "p-try": {
3550 | "version": "1.0.0",
3551 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
3552 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
3553 | "dev": true
3554 | },
3555 | "parent-module": {
3556 | "version": "1.0.1",
3557 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
3558 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
3559 | "dev": true,
3560 | "requires": {
3561 | "callsites": "^3.0.0"
3562 | }
3563 | },
3564 | "parse-json": {
3565 | "version": "2.2.0",
3566 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
3567 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
3568 | "dev": true,
3569 | "requires": {
3570 | "error-ex": "^1.2.0"
3571 | }
3572 | },
3573 | "path": {
3574 | "version": "0.12.7",
3575 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
3576 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
3577 | "dev": true,
3578 | "requires": {
3579 | "process": "^0.11.1",
3580 | "util": "^0.10.3"
3581 | }
3582 | },
3583 | "path-exists": {
3584 | "version": "3.0.0",
3585 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
3586 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
3587 | "dev": true
3588 | },
3589 | "path-is-absolute": {
3590 | "version": "1.0.1",
3591 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3592 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3593 | "dev": true
3594 | },
3595 | "path-is-inside": {
3596 | "version": "1.0.2",
3597 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
3598 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
3599 | "dev": true
3600 | },
3601 | "path-key": {
3602 | "version": "2.0.1",
3603 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
3604 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
3605 | "dev": true
3606 | },
3607 | "path-parse": {
3608 | "version": "1.0.7",
3609 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
3610 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
3611 | "dev": true
3612 | },
3613 | "path-type": {
3614 | "version": "2.0.0",
3615 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
3616 | "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
3617 | "dev": true,
3618 | "requires": {
3619 | "pify": "^2.0.0"
3620 | }
3621 | },
3622 | "phaser": {
3623 | "version": "3.55.2",
3624 | "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.55.2.tgz",
3625 | "integrity": "sha512-amKXsbb2Ht29dGPKvt1edq3yGGYKtq8373GpJYGKPNPnneYY6MtVTOgjHDuZwtmUyK4v86FugkT3hzW/N4tjxQ==",
3626 | "dev": true,
3627 | "requires": {
3628 | "eventemitter3": "^4.0.7",
3629 | "path": "^0.12.7"
3630 | }
3631 | },
3632 | "pify": {
3633 | "version": "2.3.0",
3634 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
3635 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
3636 | "dev": true
3637 | },
3638 | "pkg-dir": {
3639 | "version": "2.0.0",
3640 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
3641 | "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
3642 | "dev": true,
3643 | "requires": {
3644 | "find-up": "^2.1.0"
3645 | }
3646 | },
3647 | "prelude-ls": {
3648 | "version": "1.1.2",
3649 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
3650 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
3651 | "dev": true
3652 | },
3653 | "process": {
3654 | "version": "0.11.10",
3655 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
3656 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
3657 | "dev": true
3658 | },
3659 | "progress": {
3660 | "version": "2.0.3",
3661 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
3662 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
3663 | "dev": true
3664 | },
3665 | "punycode": {
3666 | "version": "2.1.1",
3667 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
3668 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
3669 | "dev": true
3670 | },
3671 | "read-pkg": {
3672 | "version": "2.0.0",
3673 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
3674 | "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
3675 | "dev": true,
3676 | "requires": {
3677 | "load-json-file": "^2.0.0",
3678 | "normalize-package-data": "^2.3.2",
3679 | "path-type": "^2.0.0"
3680 | }
3681 | },
3682 | "read-pkg-up": {
3683 | "version": "2.0.0",
3684 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
3685 | "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
3686 | "dev": true,
3687 | "requires": {
3688 | "find-up": "^2.0.0",
3689 | "read-pkg": "^2.0.0"
3690 | }
3691 | },
3692 | "regenerate": {
3693 | "version": "1.4.0",
3694 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
3695 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
3696 | "dev": true
3697 | },
3698 | "regenerate-unicode-properties": {
3699 | "version": "8.1.0",
3700 | "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
3701 | "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
3702 | "dev": true,
3703 | "requires": {
3704 | "regenerate": "^1.4.0"
3705 | }
3706 | },
3707 | "regexpp": {
3708 | "version": "2.0.1",
3709 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
3710 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
3711 | "dev": true
3712 | },
3713 | "regexpu-core": {
3714 | "version": "4.6.0",
3715 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
3716 | "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
3717 | "dev": true,
3718 | "requires": {
3719 | "regenerate": "^1.4.0",
3720 | "regenerate-unicode-properties": "^8.1.0",
3721 | "regjsgen": "^0.5.0",
3722 | "regjsparser": "^0.6.0",
3723 | "unicode-match-property-ecmascript": "^1.0.4",
3724 | "unicode-match-property-value-ecmascript": "^1.1.0"
3725 | }
3726 | },
3727 | "regjsgen": {
3728 | "version": "0.5.0",
3729 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
3730 | "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
3731 | "dev": true
3732 | },
3733 | "regjsparser": {
3734 | "version": "0.6.0",
3735 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
3736 | "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
3737 | "dev": true,
3738 | "requires": {
3739 | "jsesc": "~0.5.0"
3740 | }
3741 | },
3742 | "resolve": {
3743 | "version": "1.15.0",
3744 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz",
3745 | "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==",
3746 | "dev": true,
3747 | "requires": {
3748 | "path-parse": "^1.0.6"
3749 | }
3750 | },
3751 | "resolve-from": {
3752 | "version": "4.0.0",
3753 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
3754 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
3755 | "dev": true
3756 | },
3757 | "restore-cursor": {
3758 | "version": "2.0.0",
3759 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
3760 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
3761 | "dev": true,
3762 | "requires": {
3763 | "onetime": "^2.0.0",
3764 | "signal-exit": "^3.0.2"
3765 | }
3766 | },
3767 | "rimraf": {
3768 | "version": "2.6.3",
3769 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
3770 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
3771 | "dev": true,
3772 | "requires": {
3773 | "glob": "^7.1.3"
3774 | }
3775 | },
3776 | "rollup": {
3777 | "version": "1.32.1",
3778 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz",
3779 | "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==",
3780 | "dev": true,
3781 | "requires": {
3782 | "@types/estree": "*",
3783 | "@types/node": "*",
3784 | "acorn": "^7.1.0"
3785 | },
3786 | "dependencies": {
3787 | "acorn": {
3788 | "version": "7.4.1",
3789 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
3790 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
3791 | "dev": true
3792 | }
3793 | }
3794 | },
3795 | "rollup-plugin-buble": {
3796 | "version": "0.19.8",
3797 | "resolved": "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.19.8.tgz",
3798 | "integrity": "sha512-8J4zPk2DQdk3rxeZvxgzhHh/rm5nJkjwgcsUYisCQg1QbT5yagW+hehYEW7ZNns/NVbDCTv4JQ7h4fC8qKGOKw==",
3799 | "dev": true,
3800 | "requires": {
3801 | "buble": "^0.19.8",
3802 | "rollup-pluginutils": "^2.3.3"
3803 | }
3804 | },
3805 | "rollup-plugin-commonjs": {
3806 | "version": "10.1.0",
3807 | "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz",
3808 | "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==",
3809 | "dev": true,
3810 | "requires": {
3811 | "estree-walker": "^0.6.1",
3812 | "is-reference": "^1.1.2",
3813 | "magic-string": "^0.25.2",
3814 | "resolve": "^1.11.0",
3815 | "rollup-pluginutils": "^2.8.1"
3816 | }
3817 | },
3818 | "rollup-plugin-node-resolve": {
3819 | "version": "5.2.0",
3820 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz",
3821 | "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==",
3822 | "dev": true,
3823 | "requires": {
3824 | "@types/resolve": "0.0.8",
3825 | "builtin-modules": "^3.1.0",
3826 | "is-module": "^1.0.0",
3827 | "resolve": "^1.11.1",
3828 | "rollup-pluginutils": "^2.8.1"
3829 | },
3830 | "dependencies": {
3831 | "builtin-modules": {
3832 | "version": "3.1.0",
3833 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
3834 | "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
3835 | "dev": true
3836 | }
3837 | }
3838 | },
3839 | "rollup-pluginutils": {
3840 | "version": "2.8.2",
3841 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
3842 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
3843 | "dev": true,
3844 | "requires": {
3845 | "estree-walker": "^0.6.1"
3846 | }
3847 | },
3848 | "run-async": {
3849 | "version": "2.3.0",
3850 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
3851 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
3852 | "dev": true,
3853 | "requires": {
3854 | "is-promise": "^2.1.0"
3855 | }
3856 | },
3857 | "rxjs": {
3858 | "version": "6.5.4",
3859 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
3860 | "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
3861 | "dev": true,
3862 | "requires": {
3863 | "tslib": "^1.9.0"
3864 | }
3865 | },
3866 | "safer-buffer": {
3867 | "version": "2.1.2",
3868 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
3869 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
3870 | "dev": true
3871 | },
3872 | "semver": {
3873 | "version": "5.7.1",
3874 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
3875 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
3876 | "dev": true
3877 | },
3878 | "shebang-command": {
3879 | "version": "1.2.0",
3880 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
3881 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
3882 | "dev": true,
3883 | "requires": {
3884 | "shebang-regex": "^1.0.0"
3885 | }
3886 | },
3887 | "shebang-regex": {
3888 | "version": "1.0.0",
3889 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
3890 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
3891 | "dev": true
3892 | },
3893 | "signal-exit": {
3894 | "version": "3.0.2",
3895 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
3896 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
3897 | "dev": true
3898 | },
3899 | "slice-ansi": {
3900 | "version": "2.1.0",
3901 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
3902 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
3903 | "dev": true,
3904 | "requires": {
3905 | "ansi-styles": "^3.2.0",
3906 | "astral-regex": "^1.0.0",
3907 | "is-fullwidth-code-point": "^2.0.0"
3908 | }
3909 | },
3910 | "sourcemap-codec": {
3911 | "version": "1.4.6",
3912 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz",
3913 | "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==",
3914 | "dev": true
3915 | },
3916 | "spdx-correct": {
3917 | "version": "3.1.1",
3918 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
3919 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
3920 | "dev": true,
3921 | "requires": {
3922 | "spdx-expression-parse": "^3.0.0",
3923 | "spdx-license-ids": "^3.0.0"
3924 | }
3925 | },
3926 | "spdx-exceptions": {
3927 | "version": "2.3.0",
3928 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
3929 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
3930 | "dev": true
3931 | },
3932 | "spdx-expression-parse": {
3933 | "version": "3.0.1",
3934 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
3935 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
3936 | "dev": true,
3937 | "requires": {
3938 | "spdx-exceptions": "^2.1.0",
3939 | "spdx-license-ids": "^3.0.0"
3940 | }
3941 | },
3942 | "spdx-license-ids": {
3943 | "version": "3.0.6",
3944 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
3945 | "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
3946 | "dev": true
3947 | },
3948 | "sprintf-js": {
3949 | "version": "1.0.3",
3950 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
3951 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
3952 | "dev": true
3953 | },
3954 | "string-width": {
3955 | "version": "2.1.1",
3956 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
3957 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
3958 | "dev": true,
3959 | "requires": {
3960 | "is-fullwidth-code-point": "^2.0.0",
3961 | "strip-ansi": "^4.0.0"
3962 | }
3963 | },
3964 | "string.prototype.trimend": {
3965 | "version": "1.0.2",
3966 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz",
3967 | "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==",
3968 | "dev": true,
3969 | "requires": {
3970 | "define-properties": "^1.1.3",
3971 | "es-abstract": "^1.18.0-next.1"
3972 | },
3973 | "dependencies": {
3974 | "es-abstract": {
3975 | "version": "1.18.0-next.1",
3976 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
3977 | "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
3978 | "dev": true,
3979 | "requires": {
3980 | "es-to-primitive": "^1.2.1",
3981 | "function-bind": "^1.1.1",
3982 | "has": "^1.0.3",
3983 | "has-symbols": "^1.0.1",
3984 | "is-callable": "^1.2.2",
3985 | "is-negative-zero": "^2.0.0",
3986 | "is-regex": "^1.1.1",
3987 | "object-inspect": "^1.8.0",
3988 | "object-keys": "^1.1.1",
3989 | "object.assign": "^4.1.1",
3990 | "string.prototype.trimend": "^1.0.1",
3991 | "string.prototype.trimstart": "^1.0.1"
3992 | }
3993 | }
3994 | }
3995 | },
3996 | "string.prototype.trimstart": {
3997 | "version": "1.0.2",
3998 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz",
3999 | "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==",
4000 | "dev": true,
4001 | "requires": {
4002 | "define-properties": "^1.1.3",
4003 | "es-abstract": "^1.18.0-next.1"
4004 | },
4005 | "dependencies": {
4006 | "es-abstract": {
4007 | "version": "1.18.0-next.1",
4008 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
4009 | "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
4010 | "dev": true,
4011 | "requires": {
4012 | "es-to-primitive": "^1.2.1",
4013 | "function-bind": "^1.1.1",
4014 | "has": "^1.0.3",
4015 | "has-symbols": "^1.0.1",
4016 | "is-callable": "^1.2.2",
4017 | "is-negative-zero": "^2.0.0",
4018 | "is-regex": "^1.1.1",
4019 | "object-inspect": "^1.8.0",
4020 | "object-keys": "^1.1.1",
4021 | "object.assign": "^4.1.1",
4022 | "string.prototype.trimend": "^1.0.1",
4023 | "string.prototype.trimstart": "^1.0.1"
4024 | }
4025 | }
4026 | }
4027 | },
4028 | "strip-ansi": {
4029 | "version": "4.0.0",
4030 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
4031 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
4032 | "dev": true,
4033 | "requires": {
4034 | "ansi-regex": "^3.0.0"
4035 | }
4036 | },
4037 | "strip-bom": {
4038 | "version": "3.0.0",
4039 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
4040 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
4041 | "dev": true
4042 | },
4043 | "strip-json-comments": {
4044 | "version": "2.0.1",
4045 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
4046 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
4047 | "dev": true
4048 | },
4049 | "supports-color": {
4050 | "version": "5.5.0",
4051 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4052 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4053 | "dev": true,
4054 | "requires": {
4055 | "has-flag": "^3.0.0"
4056 | }
4057 | },
4058 | "table": {
4059 | "version": "5.4.6",
4060 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
4061 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
4062 | "dev": true,
4063 | "requires": {
4064 | "ajv": "^6.10.2",
4065 | "lodash": "^4.17.14",
4066 | "slice-ansi": "^2.1.0",
4067 | "string-width": "^3.0.0"
4068 | },
4069 | "dependencies": {
4070 | "ansi-regex": {
4071 | "version": "4.1.1",
4072 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
4073 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
4074 | "dev": true
4075 | },
4076 | "string-width": {
4077 | "version": "3.1.0",
4078 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
4079 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
4080 | "dev": true,
4081 | "requires": {
4082 | "emoji-regex": "^7.0.1",
4083 | "is-fullwidth-code-point": "^2.0.0",
4084 | "strip-ansi": "^5.1.0"
4085 | }
4086 | },
4087 | "strip-ansi": {
4088 | "version": "5.2.0",
4089 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
4090 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
4091 | "dev": true,
4092 | "requires": {
4093 | "ansi-regex": "^4.1.0"
4094 | }
4095 | }
4096 | }
4097 | },
4098 | "text-table": {
4099 | "version": "0.2.0",
4100 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
4101 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
4102 | "dev": true
4103 | },
4104 | "through": {
4105 | "version": "2.3.8",
4106 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
4107 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
4108 | "dev": true
4109 | },
4110 | "tmp": {
4111 | "version": "0.0.33",
4112 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
4113 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
4114 | "dev": true,
4115 | "requires": {
4116 | "os-tmpdir": "~1.0.2"
4117 | }
4118 | },
4119 | "tsconfig-paths": {
4120 | "version": "3.14.1",
4121 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
4122 | "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
4123 | "dev": true,
4124 | "requires": {
4125 | "@types/json5": "^0.0.29",
4126 | "json5": "^1.0.1",
4127 | "minimist": "^1.2.6",
4128 | "strip-bom": "^3.0.0"
4129 | }
4130 | },
4131 | "tslib": {
4132 | "version": "1.10.0",
4133 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
4134 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
4135 | "dev": true
4136 | },
4137 | "type-check": {
4138 | "version": "0.3.2",
4139 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
4140 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
4141 | "dev": true,
4142 | "requires": {
4143 | "prelude-ls": "~1.1.2"
4144 | }
4145 | },
4146 | "unicode-canonical-property-names-ecmascript": {
4147 | "version": "1.0.4",
4148 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
4149 | "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
4150 | "dev": true
4151 | },
4152 | "unicode-match-property-ecmascript": {
4153 | "version": "1.0.4",
4154 | "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
4155 | "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
4156 | "dev": true,
4157 | "requires": {
4158 | "unicode-canonical-property-names-ecmascript": "^1.0.4",
4159 | "unicode-property-aliases-ecmascript": "^1.0.4"
4160 | }
4161 | },
4162 | "unicode-match-property-value-ecmascript": {
4163 | "version": "1.1.0",
4164 | "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
4165 | "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
4166 | "dev": true
4167 | },
4168 | "unicode-property-aliases-ecmascript": {
4169 | "version": "1.0.5",
4170 | "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
4171 | "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
4172 | "dev": true
4173 | },
4174 | "uri-js": {
4175 | "version": "4.2.2",
4176 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
4177 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
4178 | "dev": true,
4179 | "requires": {
4180 | "punycode": "^2.1.0"
4181 | }
4182 | },
4183 | "util": {
4184 | "version": "0.10.4",
4185 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
4186 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
4187 | "dev": true,
4188 | "requires": {
4189 | "inherits": "2.0.3"
4190 | },
4191 | "dependencies": {
4192 | "inherits": {
4193 | "version": "2.0.3",
4194 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
4195 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
4196 | "dev": true
4197 | }
4198 | }
4199 | },
4200 | "validate-npm-package-license": {
4201 | "version": "3.0.4",
4202 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
4203 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
4204 | "dev": true,
4205 | "requires": {
4206 | "spdx-correct": "^3.0.0",
4207 | "spdx-expression-parse": "^3.0.0"
4208 | }
4209 | },
4210 | "which": {
4211 | "version": "1.3.1",
4212 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
4213 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
4214 | "dev": true,
4215 | "requires": {
4216 | "isexe": "^2.0.0"
4217 | }
4218 | },
4219 | "word-wrap": {
4220 | "version": "1.2.3",
4221 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
4222 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
4223 | "dev": true
4224 | },
4225 | "wrappy": {
4226 | "version": "1.0.2",
4227 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4228 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
4229 | "dev": true
4230 | },
4231 | "write": {
4232 | "version": "1.0.3",
4233 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
4234 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
4235 | "dev": true,
4236 | "requires": {
4237 | "mkdirp": "^0.5.1"
4238 | }
4239 | }
4240 | }
4241 | }
4242 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "phaser-plugin-debug-draw",
3 | "version": "7.1.0",
4 | "description": "Simple debug display for Phaser 3",
5 | "main": "dist/phaser-plugin-debug-draw.umd.js",
6 | "module": "dist/phaser-plugin-debug-draw.esm.js",
7 | "browser": "dist/phaser-plugin-debug-draw.umd.js",
8 | "files": [
9 | "/dist",
10 | "/src"
11 | ],
12 | "scripts": {
13 | "build": "rollup -c",
14 | "start": "rollup -c -w",
15 | "preversion": "npm run build && npm run test:dist && git add dist",
16 | "test": "eslint src/main.js",
17 | "test:dist": "node -c dist/phaser-plugin-debug-draw.umd.js"
18 | },
19 | "repository": {
20 | "type": "git",
21 | "url": "git+https://github.com/samme/phaser-plugin-debug-draw.git"
22 | },
23 | "keywords": [
24 | "phaser-plugin",
25 | "phaser3-plugin"
26 | ],
27 | "author": "samme",
28 | "license": "ISC",
29 | "bugs": {
30 | "url": "https://github.com/samme/phaser-plugin-debug-draw/issues"
31 | },
32 | "homepage": "https://github.com/samme/phaser-plugin-debug-draw#readme",
33 | "devDependencies": {
34 | "eslint": "^5.16.0",
35 | "eslint-config-semistandard": "^13.0.0",
36 | "eslint-config-standard": "^12.0.0",
37 | "eslint-plugin-import": "^2.22.1",
38 | "eslint-plugin-node": "^8.0.1",
39 | "eslint-plugin-promise": "^4.2.1",
40 | "eslint-plugin-standard": "^4.0.2",
41 | "phaser": "3.55.2",
42 | "rollup": "^1.32.1",
43 | "rollup-plugin-buble": "^0.19.8",
44 | "rollup-plugin-commonjs": "^10.1.0",
45 | "rollup-plugin-node-resolve": "^5.2.0"
46 | },
47 | "peerDependencies": {
48 | "phaser": "^3.53.0"
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/samme/phaser-plugin-debug-draw/74c1da5bb516643776fe76e97f910081daa795c5/preview.png
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import resolve from 'rollup-plugin-node-resolve';
2 | import commonjs from 'rollup-plugin-commonjs';
3 | import buble from 'rollup-plugin-buble';
4 | import pkg from './package.json';
5 |
6 | export default [
7 | {
8 | input: 'src/main.js',
9 | output: [
10 | { file: pkg.browser, format: 'umd', name: 'PhaserDebugDrawPlugin', globals: { phaser: 'Phaser' } },
11 | { file: pkg.module, format: 'es' }
12 | ],
13 | external: ['phaser'],
14 | plugins: [
15 | resolve(),
16 | commonjs(),
17 | buble({ exclude: ['node_modules/**'] })
18 | ]
19 | }
20 | ];
21 |
--------------------------------------------------------------------------------
/src/colors.js:
--------------------------------------------------------------------------------
1 | export default {
2 | aqua: 0x00d9f7,
3 | black: 0x000000,
4 | blue: 0x0050d4,
5 | fuchsia: 0xff00c3,
6 | gray: 0x333333,
7 | green: 0x00d942,
8 | lime: 0xb4d900,
9 | maroon: 0x790009,
10 | navy: 0x002b75,
11 | olive: 0x00b562,
12 | orange: 0xeb7700,
13 | purple: 0x8d00ff,
14 | red: 0xeb0012,
15 | silver: 0x777777,
16 | teal: 0x00a6a6,
17 | white: 0xffffff,
18 | yellow: 0xebcf00
19 | };
20 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Phaser from 'phaser';
2 | import colors from './colors';
3 |
4 | const { cos, max, sin } = Math;
5 | const { START, PRE_RENDER, SHUTDOWN, DESTROY } = Phaser.Scenes.Events;
6 | const { Each } = Phaser.Utils.Array;
7 | const POINTER_RADIUS = 20;
8 |
9 | class DebugDrawPlugin extends Phaser.Plugins.ScenePlugin {
10 | boot () {
11 | if (Phaser.VERSION.split('.')[1] < 53) {
12 | throw new Error('Phaser v3.53.0 or greater is required. Or use ');
13 | }
14 |
15 | this.systems.events
16 | .on(START, this.sceneStart, this)
17 | .on(PRE_RENDER, this.scenePreRender, this)
18 | .on(SHUTDOWN, this.sceneShutdown, this)
19 | .once(DESTROY, this.sceneDestroy, this);
20 |
21 | if (this.systems.settings.isBooted) {
22 | this.sceneStart();
23 | }
24 | }
25 |
26 | sceneStart () {
27 | this.graphic = this.scene.add.graphics().setDepth(Number.MAX_VALUE);
28 | }
29 |
30 | sceneShutdown () {
31 | this.graphic.destroy();
32 | this.graphic = null;
33 | }
34 |
35 | scenePreRender () {
36 | this.drawAll();
37 | }
38 |
39 | drawAll () {
40 | const { cameras, displayList, lights } = this.systems;
41 |
42 | if (!displayList.length) return;
43 |
44 | const disabledInputObjs = [];
45 | const inputObjs = [];
46 | const maskObjs = [];
47 | const otherObjs = [];
48 | const showInput = this.showInput && this.systems.input.isActive();
49 |
50 | this.graphic.clear();
51 |
52 | displayList.each(this.processObj, this, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput);
53 |
54 | if (otherObjs.length) {
55 | this.drawOthers(otherObjs);
56 | }
57 |
58 | if (disabledInputObjs.length) {
59 | this.drawDisabledInputs(disabledInputObjs);
60 | }
61 |
62 | if (inputObjs.length) {
63 | this.drawInputs(inputObjs);
64 | }
65 |
66 | if (maskObjs.length) {
67 | this.drawMasks(maskObjs);
68 | }
69 |
70 | if (showInput && this.showPointers) {
71 | this.drawPointers(this.getPointers());
72 | }
73 |
74 | this.drawCamera(cameras.main);
75 |
76 | if (lights && lights.active && this.showLights) {
77 | this.drawLights(lights.lights);
78 | }
79 |
80 | // For Mesh/Rope debug callbacks
81 | this.setColor(this.color);
82 | }
83 |
84 | processObj (obj, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput) {
85 | if (obj.input && showInput) {
86 | if (obj.input.enabled) {
87 | inputObjs[inputObjs.length] = obj;
88 | } else {
89 | disabledInputObjs[disabledInputObjs.length] = obj;
90 | }
91 | } else if (obj.type === 'Layer') {
92 | Each(obj.list, this.processObj, this, disabledInputObjs, inputObjs, maskObjs, otherObjs, showInput);
93 | } else {
94 | otherObjs[otherObjs.length] = obj;
95 | }
96 |
97 | const maskObj = obj.mask ? obj.mask.bitmapMask : null;
98 |
99 | if (maskObj && maskObjs.indexOf(maskObj) === -1) {
100 | maskObjs[maskObjs.length] = maskObj;
101 | }
102 | }
103 |
104 | sceneDestroy () {
105 | this.systems.events
106 | .off(START, this.sceneStart, this)
107 | .off(PRE_RENDER, this.scenePreRender, this)
108 | .off(SHUTDOWN, this.sceneShutdown, this)
109 | .off(DESTROY, this.sceneDestroy, this);
110 |
111 | this.scene = null;
112 | this.systems = null;
113 | }
114 |
115 | drawOthers (objs) {
116 | this.setColor(this.color);
117 |
118 | objs.forEach(this.drawObj, this);
119 | }
120 |
121 | drawDisabledInputs (objs) {
122 | this.setColor(this.inputDisabledColor);
123 |
124 | objs.forEach(this.drawObjInput, this);
125 | }
126 |
127 | drawInputs (objs) {
128 | this.setColor(this.inputColor);
129 |
130 | objs.forEach(this.drawObjInput, this);
131 | }
132 |
133 | drawMasks (objs) {
134 | this.setColor(this.maskColor);
135 |
136 | objs.forEach(this.drawObj, this);
137 | }
138 |
139 | drawObj (obj) {
140 | this.dot(obj.x, obj.y);
141 |
142 | if ('originX' in obj) {
143 | let { width, height } = obj;
144 |
145 | if ('displayWidth' in obj) {
146 | width = obj.displayWidth;
147 | height = obj.displayHeight;
148 | }
149 |
150 | if (width || height) {
151 | this.graphic.strokeRect(obj.x - obj.originX * width, obj.y - obj.originY * height, width, height);
152 |
153 | if (obj.rotation && this.showRotation) {
154 | const rad = 0.5 * max(width, height);
155 |
156 | this.line(obj.x, obj.y, cos(obj.rotation) * rad, sin(obj.rotation) * rad);
157 | }
158 | }
159 | }
160 | }
161 |
162 | drawObjInput (obj) {
163 | this.drawObj(obj);
164 | }
165 |
166 | drawPointers (pointers) {
167 | pointers.forEach(this.drawPointer, this);
168 | }
169 |
170 | drawPointer (pointer) {
171 | if (!pointer.active && !this.showInactivePointers) return;
172 |
173 | const { x, y, zoom } = this.systems.cameras.main;
174 | const worldX = pointer.worldX - x;
175 | const worldY = pointer.worldY - y;
176 |
177 | this.setColor(this.getColorForPointer(pointer));
178 |
179 | if (pointer.locked) {
180 | this.graphic.strokeRect(worldX - POINTER_RADIUS, worldY - POINTER_RADIUS, 2 * POINTER_RADIUS, 2 * POINTER_RADIUS);
181 | this.line(worldX, worldY, pointer.movementX, pointer.movementY);
182 | } else {
183 | this.graphic.strokeCircle(worldX, worldY, POINTER_RADIUS);
184 | }
185 |
186 | if (pointer.isDown) {
187 | this.line(worldX, worldY, (pointer.downX - pointer.x) / zoom, (pointer.downY - pointer.y) / zoom);
188 | }
189 | }
190 |
191 | drawCamera (camera) {
192 | if (camera.useBounds) {
193 | this.setColor(this.cameraBoundsColor);
194 | this.graphic.strokeRectShape(camera._bounds);
195 | }
196 |
197 | if (camera.deadzone) {
198 | this.setColor(this.cameraDeadzoneColor);
199 | this.graphic.strokeRectShape(camera.deadzone);
200 | }
201 |
202 | const { _follow } = camera;
203 |
204 | if (_follow) {
205 | const { followOffset } = camera;
206 |
207 | this.setColor(this.cameraFollowColor);
208 | this.dot(_follow.x, _follow.y);
209 | this.lineDelta(_follow, followOffset, -1);
210 | }
211 | }
212 |
213 | drawLights (lights) {
214 | this.setColor(this.lightColor);
215 |
216 | lights.forEach(this.drawLight, this);
217 | }
218 |
219 | drawLight (light) {
220 | this.graphic.strokeCircleShape(light);
221 | }
222 |
223 | getColorForPointer (pointer) {
224 | if (pointer.isDown) return this.pointerDownColor;
225 | if (!pointer.active) return this.pointerInactiveColor;
226 |
227 | return this.pointerColor;
228 | }
229 |
230 | getPointers () {
231 | const { input } = this.systems;
232 |
233 | return [
234 | input.mousePointer,
235 | input.pointer1,
236 | input.pointer2,
237 | input.pointer3,
238 | input.pointer4,
239 | input.pointer5,
240 | input.pointer6,
241 | input.pointer7,
242 | input.pointer8,
243 | input.pointer9
244 | ].filter(Boolean);
245 | }
246 |
247 | toggle () {
248 | this.graphic.setVisible(!this.graphic.visible);
249 | }
250 |
251 | setColor (color) {
252 | this.graphic.fillStyle(color, this.alpha).lineStyle(this.lineWidth, color, this.alpha);
253 | }
254 |
255 | line (x, y, dx, dy) {
256 | if (!dx && !dy) return;
257 | this.graphic.lineBetween(x, y, x + dx, y + dy);
258 | }
259 |
260 | lineDelta (start, delta, scale = 1) {
261 | this.line(start.x, start.y, scale * delta.x, scale * delta.y);
262 | }
263 |
264 | dot (x, y) {
265 | this.graphic.fillPoint(x, y, 3 * this.lineWidth);
266 | }
267 |
268 | dotPoint (p) {
269 | this.dot(p.x, p.y);
270 | }
271 | }
272 |
273 | Object.assign(DebugDrawPlugin.prototype, {
274 | alpha: 1,
275 | cameraBoundsColor: colors.fuchsia,
276 | cameraDeadzoneColor: colors.orange,
277 | cameraFollowColor: colors.orange,
278 | color: colors.aqua,
279 | inputColor: colors.yellow,
280 | inputDisabledColor: colors.silver,
281 | lightColor: colors.purple,
282 | lineWidth: 1,
283 | maskColor: colors.red,
284 | pointerColor: colors.yellow,
285 | pointerDownColor: colors.green,
286 | pointerInactiveColor: colors.silver,
287 | showInactivePointers: false,
288 | showInput: true,
289 | showLights: true,
290 | showPointers: true,
291 | showRotation: true
292 | });
293 |
294 | export default DebugDrawPlugin;
295 |
--------------------------------------------------------------------------------
/tests/.eslintrc.yml:
--------------------------------------------------------------------------------
1 | extends: semistandard
2 | env:
3 | browser: true
4 | es6: false
5 | globals:
6 | Phaser: false
7 | PhaserDebugDrawPlugin: false
8 | parserOptions:
9 | sourceType: script
10 | rules:
11 | no-console:
12 | - warn
13 | - allow:
14 | - assert
15 | - log
16 |
--------------------------------------------------------------------------------
/tests/assets/blue-planet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/samme/phaser-plugin-debug-draw/74c1da5bb516643776fe76e97f910081daa795c5/tests/assets/blue-planet.png
--------------------------------------------------------------------------------
/tests/assets/elephant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/samme/phaser-plugin-debug-draw/74c1da5bb516643776fe76e97f910081daa795c5/tests/assets/elephant.png
--------------------------------------------------------------------------------
/tests/assets/grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/samme/phaser-plugin-debug-draw/74c1da5bb516643776fe76e97f910081daa795c5/tests/assets/grid.png
--------------------------------------------------------------------------------
/tests/assets/mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/samme/phaser-plugin-debug-draw/74c1da5bb516643776fe76e97f910081daa795c5/tests/assets/mask.png
--------------------------------------------------------------------------------
/tests/assets/nebula.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/samme/phaser-plugin-debug-draw/74c1da5bb516643776fe76e97f910081daa795c5/tests/assets/nebula.png
--------------------------------------------------------------------------------
/tests/assets/starfield.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/samme/phaser-plugin-debug-draw/74c1da5bb516643776fe76e97f910081daa795c5/tests/assets/starfield.png
--------------------------------------------------------------------------------
/tests/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 | Test of Phaser 3 Debug Draw Plugin
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/tests/tests.js:
--------------------------------------------------------------------------------
1 | console.assert(Phaser, 'Phaser', Phaser);
2 | console.assert(Phaser.VERSION === '3.55.2', 'Phaser VERSION is 3.55.2', Phaser.VERSION);
3 | console.assert(PhaserDebugDrawPlugin, 'PhaserDebugDrawPlugin', PhaserDebugDrawPlugin);
4 |
5 | var WHITE = 0xffffff;
6 | var GREEN = 0x00ffff;
7 | var RED = 0xff0000;
8 | var Geom = Phaser.Geom;
9 | var IncX = Phaser.Actions.IncX;
10 | var WrapInRectangle = Phaser.Actions.WrapInRectangle;
11 | var images = ['blue-planet', 'elephant', 'mask', 'nebula', 'starfield']
12 | .map(function (name) { return { key: name }; });
13 | var sprites, maskImage, nebula, starfield, planet, controls, bounds;
14 |
15 | function dragStart (pointer, gameObject) {
16 | gameObject.setTint(GREEN, GREEN, RED, RED);
17 | }
18 |
19 | function drag (pointer, gameObject, dragX, dragY) {
20 | gameObject.setPosition(dragX, dragY);
21 | }
22 |
23 | function dragEnd (pointer, gameObject) {
24 | gameObject.clearTint();
25 | }
26 |
27 | function snapshot () {
28 | this.game.renderer.snapshot(function (image) {
29 | image.style.width = '200px';
30 | image.style.height = '150px';
31 |
32 | document.body.appendChild(image);
33 | });
34 | }
35 |
36 | var scene = {
37 |
38 | preload: function () {
39 | this.load.image(images);
40 | },
41 |
42 | create: function () {
43 | this.lights.enable().setAmbientColor(WHITE);
44 |
45 | this.add.pointlight(512, 192, 0xffffff, 64, 0.5, 0.05);
46 |
47 | this.lights.addLight(128, 128, 256, RED, 2);
48 |
49 | bounds = Geom.Rectangle.Clone(this.sys.game.config);
50 | starfield = this.add.tileSprite(512, 384, 1024, 1024, 'starfield').setBlendMode(1).setPipeline('Light2D');
51 | nebula = this.add.tileSprite(512, 384, 1024, 1024, 'nebula').setBlendMode(1).setPipeline('Light2D');
52 | planet = this.add.image(512, 384, 'blue-planet');
53 | maskImage = this.make.image({ key: 'mask', add: false });
54 |
55 | var mask = maskImage.createBitmapMask();
56 |
57 | planet.setMask(mask);
58 |
59 | var group = this.add.group({
60 | key: 'elephant',
61 | frameQuantity: 5,
62 | setXY: { x: 128, y: 64, stepX: 128, stepY: 128 },
63 | hitArea: new Geom.Rectangle(-16, 16, 128, 64),
64 | hitAreaCallback: Geom.Rectangle.Contains
65 | });
66 |
67 | sprites = group.getChildren();
68 |
69 | sprites[0]
70 | .setName('inertElephant')
71 | .disableInteractive();
72 |
73 | sprites[1]
74 | .setName('invisibleElephant')
75 | .setVisible(false);
76 |
77 | sprites[2]
78 | .setName('maskedElephant')
79 | .setMask(mask);
80 |
81 | sprites[3]
82 | .setName('infinitesimalElephant')
83 | .setScale(0);
84 |
85 | var layer = this.add.layer();
86 |
87 | layer.add(sprites);
88 |
89 | Phaser.Actions.PropertyValueSet(sprites, 'angle', -15);
90 |
91 | this.input
92 | .setDraggable(sprites, true)
93 | .on('drag', drag)
94 | .on('dragstart', dragStart)
95 | .on('dragend', dragEnd);
96 |
97 | this.add.tween({
98 | targets: sprites,
99 | angle: 15,
100 | duration: 2000,
101 | ease: 'Sine.easeInOut',
102 | loop: -1,
103 | yoyo: true
104 | });
105 |
106 | var mesh = this.add.mesh(512, 192, 'elephant')
107 | .setName('meshElephant')
108 | .addVertices([ -1, 1, 1, 1, -1, -1, 1, -1 ], [ 0, 0, 1, 0, 0, 1, 1, 1 ], [ 0, 2, 1, 2, 3, 1 ])
109 | .panZ(40);
110 |
111 | mesh.setDebug(this.debugDraw.graphic);
112 |
113 | this.tweens.add({
114 | targets: mesh.modelRotation,
115 | props: {
116 | x: { value: '-0.5', delay: 0, duration: 1000 },
117 | y: { value: '-0.5', delay: 500, duration: 750 }
118 | },
119 | ease: 'Sine.easeInOut',
120 | repeat: -1,
121 | yoyo: true
122 | });
123 |
124 | sprites.push(mesh);
125 |
126 | var rope = this.add.rope(768, 192, 'elephant', null, 10)
127 | .setName('elephantRope');
128 |
129 | rope.setDebug(this.debugDraw.graphic);
130 |
131 | this.add.tween({
132 | targets: rope.points,
133 | delay: this.tweens.stagger(100),
134 | duration: 1000,
135 | ease: 'Sine.easeInOut',
136 | props: { y: 16 },
137 | repeat: -1,
138 | yoyo: true,
139 | onUpdate: function (tween, target) { rope.setDirty(); }
140 | });
141 |
142 | sprites.push(rope);
143 |
144 | this.add.text(0, 0, 'Drag the elephants around');
145 |
146 | this.add.star(128, 32, 5, 8, 16, 0xffffff, 0.5);
147 |
148 | this.input.keyboard
149 | .on('keyup-T', function () { this.debugDraw.toggle(); }, this)
150 | .on('keyup-R', function () { this.scene.restart(); }, this)
151 | .on('keyup-U', function () { this.scene.remove(); }, this)
152 | .on('keyup-C', function () { this.cameras.main.setScroll(0, 0).setZoom(1); }, this)
153 | .on('keyup-I', function () { this.debugDraw.showInput = !this.debugDraw.showInput; }, this)
154 | .on('keyup-P', function () { this.debugDraw.showPointers = !this.debugDraw.showPointers; }, this)
155 | .on('keyup-O', function () { this.debugDraw.showRotation = !this.debugDraw.showRotation; }, this)
156 | .once('keyup-S', snapshot, this);
157 |
158 | var cursors = this.input.keyboard.createCursorKeys();
159 |
160 | controls = new Phaser.Cameras.Controls.FixedKeyControl({
161 | camera: this.cameras.main,
162 | left: cursors.left,
163 | right: cursors.right,
164 | up: cursors.up,
165 | down: cursors.down,
166 | zoomIn: this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.Q),
167 | zoomOut: this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.E),
168 | speed: 0.2
169 | });
170 |
171 | console.log('this.debugDraw', this.debugDraw);
172 | },
173 |
174 | update: function (time, delta) {
175 | var pointer = this.input.activePointer;
176 |
177 | maskImage.setPosition(pointer.worldX, pointer.worldY);
178 | nebula.tilePositionX -= 0.5;
179 | starfield.tilePositionX -= 0.25;
180 | planet.angle += 0.1;
181 |
182 | IncX(sprites, -1);
183 | WrapInRectangle(sprites, bounds, 50);
184 |
185 | controls.update(delta);
186 | }
187 |
188 | };
189 |
190 | window.game = new Phaser.Game({
191 | scene: scene,
192 | plugins: {
193 | scene: [{ key: 'DebugDrawPlugin', plugin: PhaserDebugDrawPlugin, mapping: 'debugDraw' }]
194 | },
195 | loader: { path: 'assets/' },
196 | audio: { noAudio: true }
197 | });
198 |
--------------------------------------------------------------------------------