├── .gitignore ├── LICENSE ├── README.md ├── bin └── .gitkeep ├── dist ├── explode_shape_layer.jsx └── explode_shape_layer.min.jsx ├── gulpfile.js ├── package.json ├── pnpm-lock.yaml ├── script-exemple.gif └── src ├── config.dev.jsx ├── config.jsx ├── explode_shape_layer.jsx ├── progressBar.jsx └── utils.jsx /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | bin/ 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [After Effects Script] Explode Shape layer 2 | 3 | [![GitHub release](https://img.shields.io/github/release/Eliepse/AEScript-Explode-Shape-Layer.svg)](https://github.com/Eliepse/AEScript-Explode-Shape-Layer/releases/latest) [![license](https://img.shields.io/github/license/Eliepse/AEScript-Explode-Shape-Layer.svg)](https://github.com/Eliepse/AEScript-Explode-Shape-Layer/blob/master/LICENSE) [![Software](https://img.shields.io/badge/plugin-Adobe%20After%20Effect-blue.svg)](https://www.adobe.com/fr/products/aftereffects.html) 4 | 5 | __Explode Shape Layer__ is an After Effects Script that allow you to extract shapes from a _shape layer_ to individual layers. 6 | 7 | To get the script, click the link : [Download the script](https://github.com/Eliepse/AfterEffectsScript-Explode-Shape-Layer/releases/latest) 8 | 9 | ## How to use it ? 10 | 11 | The usageis very simple: 12 | - Select the layer to explode (shape layer only) 13 | - Click the button 14 | - Tadaaa ! 15 | 16 | ![Preview of the script](./script-exemple.gif) 17 | 18 | ## How do I install it ? 19 | 20 | Copy the `.jsxbin` or `.jsx` file into your After Effets' _ScriptUI Panels_ folder: 21 | - Windows: `Program Files\Adobe\Adobe After Effects \Support Files\Scripts\ScriptUI Panels\` 22 | - Mac OS: `Applications/Adobe After Effects \Scripts\ScriptUI Panels\` 23 | 24 | Then, activate the script in AE menu : `window -> explode_shape_layer` 25 | 26 | #### Alternative 27 | 28 | You can directly launch the script using AE menu: `File -> Scripts -> Run Script File` 29 | 30 | ## Compatibility 31 | Tested on : 32 | - After Effects __CC 2019__ (version 16.1.2) 33 | - After Effects __CC 2018__ 34 | - After Effects __CC 2017__ 35 | -------------------------------------------------------------------------------- /bin/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eliepse/AEScript-Explode-Shape-Layer/b9d63ad11cfce3b8f5a980616c3348bd4969fabe/bin/.gitkeep -------------------------------------------------------------------------------- /dist/explode_shape_layer.jsx: -------------------------------------------------------------------------------- 1 | var configs = { 2 | title: 'Explode layer tool', 3 | debug : false, 4 | log : false, 5 | itemAmountWarning : 50, 6 | dryRun : false, 7 | }; 8 | 9 | function cLog(text) { 10 | if (!configs.log) { 11 | return; 12 | } 13 | 14 | $.writeln(text); 15 | } 16 | 17 | function cDebug(text) { 18 | if (!configs.debug) { 19 | return; 20 | } 21 | 22 | $.writeln(text); 23 | } 24 | 25 | function listMatchNames(object) { 26 | 27 | for(var i=1; i <= object.numProperties; i++) { 28 | 29 | var prop = object.property(i); 30 | consLog(prop.matchName + '('+ prop.name +')'); 31 | 32 | } 33 | 34 | } 35 | 36 | function ExecutionTime() { 37 | 38 | var startTime; 39 | var endTime; 40 | var execTime; 41 | 42 | this.constructor = function () {} 43 | 44 | this.start = function () { 45 | startTime = new Date().getTime(); 46 | } 47 | 48 | this.stop = function () { 49 | endTime = new Date().getTime() 50 | execTime = endTime - startTime; 51 | } 52 | 53 | this.time = function () { 54 | return 'Execution time : ' + Math.floor(execTime / 1000) + 's ' + (execTime % 1000) + 'ms'; 55 | } 56 | 57 | } 58 | 59 | function ProgressBar(min, max, current) { 60 | 61 | var _window, 62 | _progressBar, 63 | _infos, 64 | _real, 65 | _cursor, 66 | _isVisible; 67 | 68 | this.testInfos = 'Processing element :current on :max'; 69 | 70 | this.constructor = function(min, max, current) { 71 | 72 | _this = this; 73 | _isVisible = false; 74 | 75 | _real = { min : min, max : max, current : current }; 76 | _cursor = { min : 0, max : 100, current : 0 }; 77 | 78 | _cursor.max = (_real.max - _real.min) + 1; 79 | 80 | // Instanciate the window 81 | _window = new Window('palette', configs.title, undefined, { 82 | resizeable : false, 83 | borderless : 'not quite true', 84 | }); 85 | _window.preferredSize = [420, 40]; 86 | 87 | // Instanciate the progress bar 88 | _progressBar = _window.add("progressbar", undefined, _cursor.min, _cursor.max); 89 | _progressBar.preferredSize.width = 400; 90 | _progressBar.show(); 91 | 92 | // Instanciate text infos 93 | _infos = _window.add("statictext", undefined, 'Loading, please wait', { 94 | justify: 'center' 95 | }); 96 | _infos.preferredSize = [400, 17]; 97 | 98 | this.update(current); 99 | 100 | 101 | return this; 102 | 103 | } 104 | 105 | this.start = function () { 106 | _isVisible = true; 107 | this.update(_real.current) 108 | _window.show(); 109 | } 110 | 111 | this.end = function () { 112 | _window.hide(); 113 | } 114 | 115 | this.update = function(step) { 116 | 117 | _real.current = step; 118 | _cursor.current = (_real.current + 1) - _real.min; 119 | 120 | var infos = this.testInfos 121 | .replace(':current', _cursor.current) 122 | .replace(':max', _cursor.max); 123 | 124 | _progressBar.value = _cursor.current; 125 | _infos.text = infos; 126 | 127 | cDebug(infos); 128 | 129 | updateGraphics(); 130 | } 131 | 132 | function updateGraphics() { 133 | if(!_isVisible) return; 134 | _window.update(); 135 | } 136 | 137 | return this.constructor(min, max, current); 138 | 139 | } 140 | 141 | // this.bar.value = Math.round(( (this.barProps.step) * 100) / this.barProps.max) 142 | 143 | /* 144 | * @requires utils.jsx 145 | * @requires progressBar.jsx 146 | */ 147 | 148 | function explodeLayer(layer) { 149 | 150 | cLog('Exploding layer : ' + layer.name); 151 | 152 | // Get the elements of the original shape layer 153 | var contents = layer.property("Contents"); 154 | var layers = []; 155 | 156 | if(contents.numProperties > configs.itemAmountWarning) { 157 | 158 | var go = confirm( 159 | 'You have more than ' + configs.itemAmountWarning + ' elements. ' 160 | + 'Execution time might be long, are you sure you want to continue ?' 161 | ); 162 | 163 | if(!go) return; 164 | 165 | } 166 | 167 | var pb = new ProgressBar(1, contents.numProperties, 1); 168 | pb.start(); 169 | 170 | try { 171 | // Browse through contents array 172 | for(var i = contents.numProperties; i > 0; i--) { 173 | 174 | // Get the original property 175 | var _prop = contents.property(i); 176 | pb.update(contents.numProperties - i) 177 | 178 | // Skip the property if not enabled 179 | if (!_prop.enabled) continue; 180 | 181 | // Duplicate the original layer and rename with property name 182 | var new_layer = emptyDuplicateLayer(layer) 183 | 184 | new_layer.name = layer.name + ' - ' + _prop.name; 185 | new_layer.enabled = false; 186 | new_layer.shy = true; 187 | 188 | layers.push(new_layer); 189 | 190 | if (!new_layer.property("Contents").canAddProperty(_prop.matchName)) continue; 191 | 192 | var prop = new_layer.property("Contents").addProperty(_prop.matchName) 193 | 194 | copyProperties(_prop, prop, 0) 195 | 196 | } 197 | } catch(e) { 198 | cLog("An error occured: " + e.message); 199 | pb.end(); 200 | } 201 | 202 | 203 | pb.end(); 204 | 205 | for(var i = 0; i < layers.length; i++) { 206 | layers[i].enabled = true; 207 | layers[i].shy = false; 208 | if(configs.dryRun) layers[i].remove(); 209 | } 210 | 211 | return layers; 212 | 213 | } 214 | 215 | function explode() { 216 | 217 | // Check if multiple layers selected 218 | if(app.project.activeItem.selectedLayers.length > 1) { 219 | alert("Select a single shape layer"); 220 | return; 221 | } 222 | 223 | var selectedLayer = app.project.activeItem.selectedLayers[0]; 224 | 225 | // Check if the layer is null or wrong type 226 | if(selectedLayer == undefined || selectedLayer.matchName !== 'ADBE Vector Layer') { 227 | alert("Select a shape layer"); 228 | return; 229 | } 230 | 231 | cLog('==================') 232 | 233 | cLog('Configs :') 234 | for(config in configs) { 235 | if(configs.hasOwnProperty(config)) 236 | cLog(' ' + config + ' : ' + configs[config]) 237 | } 238 | 239 | cLog('') 240 | 241 | var execTime = new ExecutionTime(); 242 | execTime.start(); 243 | 244 | var hideShyLayers_originalState = selectedLayer.containingComp.hideShyLayers; 245 | selectedLayer.containingComp.hideShyLayers = true; 246 | 247 | var layers = explodeLayer(selectedLayer); 248 | 249 | selectedLayer.moveToBeginning() 250 | selectedLayer.containingComp.hideShyLayers = hideShyLayers_originalState; 251 | 252 | execTime.stop(); 253 | cLog(execTime.time()); 254 | 255 | } 256 | 257 | function emptyDuplicateLayer(layer) { 258 | var new_layer = layer.containingComp.layers.addShape(); 259 | 260 | new_layer['anchorPoint'].setValue( layer['anchorPoint'].value ); 261 | new_layer['position'].setValue( layer['position'].value ); 262 | new_layer['scale'].setValue( layer['scale'].value ); 263 | new_layer['rotation'].setValue( layer['rotation'].value ); 264 | new_layer['opacity'].setValue( layer['opacity'].value ); 265 | 266 | return new_layer; 267 | } 268 | 269 | var treeChildPrefix = "⌞ "; 270 | var propertiesBlacklist = [ 271 | 'ADBE Vector Taper StartWidthPx', 272 | 'ADBE Vector Taper EndWidthPx', 273 | 'ADBE Vector Taper Wave Cycles', 274 | 'ADBE Vector Stroke Dashes', 275 | 'ADBE Vector Materials Group', 276 | ]; 277 | 278 | /** 279 | * Copy properties of a layer to another (recursive). 280 | * 281 | * @param {Object} origin 282 | * @param {Object} target 283 | * @param {Number} level 284 | */ 285 | function copyProperties(origin, target, level) { 286 | var indent = repeatStr(" ", level); 287 | 288 | // if(level === 0) { 289 | cDebug(indent + origin.name); 290 | // } 291 | 292 | // Process (copy) each property of the origin to the target 293 | for(var i=1; i <= origin.numProperties; i++) { 294 | var originalProp = origin.property(i); 295 | var matchName = originalProp.matchName; 296 | 297 | // Do not copy disabled properties 298 | if(!originalProp.enabled) { 299 | cDebug(indent + treeChildPrefix + matchName + " (skipped: disabled)"); 300 | continue; 301 | }; 302 | 303 | 304 | // Get or create the target property 305 | var targetProp = target.property(matchName); 306 | 307 | if(!targetProp) { 308 | targetProp = target.addProperty(matchName); 309 | } 310 | 311 | // Still no property ? Then the property is probably not supported 312 | if(!targetProp) { 313 | cDebug(indent + treeChildPrefix + matchName + " (skipped: cannot be added)"); 314 | continue; 315 | } 316 | 317 | // Skip properties that cannot be set without being displayed 318 | if(arrayIncludes(propertiesBlacklist, matchName)) { 319 | cDebug(indent + "⚬ " + matchName + " (skipped: not editable when hidden)"); 320 | continue; 321 | } 322 | 323 | // Handle property 324 | if(typeof originalProp.setValue === "function") { 325 | cDebug(indent + treeChildPrefix + matchName); 326 | targetProp.setValue(originalProp.value); 327 | continue; 328 | } 329 | 330 | // Handle property groups/layers 331 | if(originalProp.numProperties > 0) { 332 | cDebug(indent + treeChildPrefix + matchName); 333 | copyProperties(originalProp, targetProp, level + 1); 334 | continue; 335 | } 336 | 337 | cDebug(indent + "⦵ " + matchName + " (skipped: no reason)"); 338 | } 339 | } 340 | 341 | /** 342 | * Check if an element (the needle) is present in a given array. 343 | * 344 | * @param {Array} arr 345 | * @param {*} needle 346 | * @returns Boolean 347 | */ 348 | function arrayIncludes(arr, needle) { 349 | for(var i=arr.length - 1; i>=0; i--){ 350 | if(arr[i] === needle) { 351 | return true; 352 | } 353 | } 354 | 355 | return false; 356 | } 357 | 358 | /** 359 | * Repeat a string a given times into a single string output. 360 | * 361 | * @param {String} str 362 | * @param {Number} amount 363 | * @returns String 364 | */ 365 | function repeatStr(str, amount) { 366 | var rtn = ""; 367 | for(var i=0; iconfigs.itemAmountWarning&&!confirm("You have more than "+configs.itemAmountWarning+" elements. Execution time might be long, are you sure you want to continue ?"))return;var n=new ProgressBar(1,t.numProperties,1);n.start();try{for(var o=t.numProperties;0", 22 | "license": "Unlicense", 23 | "bugs": { 24 | "url": "https://github.com/Eliepse/AEScript-Explode-Shape-Layer/issues" 25 | }, 26 | "homepage": "https://github.com/Eliepse/AEScript-Explode-Shape-Layer#readme", 27 | "devDependencies": { 28 | "gulp": "^4.0.2", 29 | "gulp-concat": "^2.6.1", 30 | "gulp-rename": "^2.0.0", 31 | "gulp-resolve-dependencies": "^4.1.0", 32 | "gulp-uglify": "^3.0.2", 33 | "pump": "^3.0.0" 34 | }, 35 | "pnpm": { 36 | "overrides": { 37 | "glob-parent@<5.1.2": ">=5.1.2" 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | overrides: 4 | glob-parent@<5.1.2: '>=5.1.2' 5 | 6 | specifiers: 7 | gulp: ^4.0.2 8 | gulp-concat: ^2.6.1 9 | gulp-rename: ^2.0.0 10 | gulp-resolve-dependencies: ^4.1.0 11 | gulp-uglify: ^3.0.2 12 | pump: ^3.0.0 13 | 14 | devDependencies: 15 | gulp: 4.0.2 16 | gulp-concat: 2.6.1 17 | gulp-rename: 2.0.0 18 | gulp-resolve-dependencies: 4.1.0 19 | gulp-uglify: 3.0.2 20 | pump: 3.0.0 21 | 22 | packages: 23 | 24 | /ansi-colors/1.1.0: 25 | resolution: {integrity: sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==} 26 | engines: {node: '>=0.10.0'} 27 | dependencies: 28 | ansi-wrap: 0.1.0 29 | dev: true 30 | 31 | /ansi-colors/3.2.4: 32 | resolution: {integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==} 33 | engines: {node: '>=6'} 34 | dev: true 35 | 36 | /ansi-gray/0.1.1: 37 | resolution: {integrity: sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==} 38 | engines: {node: '>=0.10.0'} 39 | dependencies: 40 | ansi-wrap: 0.1.0 41 | dev: true 42 | 43 | /ansi-regex/2.1.1: 44 | resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} 45 | engines: {node: '>=0.10.0'} 46 | dev: true 47 | 48 | /ansi-wrap/0.1.0: 49 | resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==} 50 | engines: {node: '>=0.10.0'} 51 | dev: true 52 | 53 | /anymatch/2.0.0: 54 | resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} 55 | dependencies: 56 | micromatch: 3.1.10 57 | normalize-path: 2.1.1 58 | transitivePeerDependencies: 59 | - supports-color 60 | dev: true 61 | 62 | /append-buffer/1.0.2: 63 | resolution: {integrity: sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==} 64 | engines: {node: '>=0.10.0'} 65 | dependencies: 66 | buffer-equal: 1.0.0 67 | dev: true 68 | 69 | /archy/1.0.0: 70 | resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} 71 | dev: true 72 | 73 | /arr-diff/4.0.0: 74 | resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} 75 | engines: {node: '>=0.10.0'} 76 | dev: true 77 | 78 | /arr-filter/1.1.2: 79 | resolution: {integrity: sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==} 80 | engines: {node: '>=0.10.0'} 81 | dependencies: 82 | make-iterator: 1.0.1 83 | dev: true 84 | 85 | /arr-flatten/1.1.0: 86 | resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} 87 | engines: {node: '>=0.10.0'} 88 | dev: true 89 | 90 | /arr-map/2.0.2: 91 | resolution: {integrity: sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==} 92 | engines: {node: '>=0.10.0'} 93 | dependencies: 94 | make-iterator: 1.0.1 95 | dev: true 96 | 97 | /arr-union/3.1.0: 98 | resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} 99 | engines: {node: '>=0.10.0'} 100 | dev: true 101 | 102 | /array-each/1.0.1: 103 | resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} 104 | engines: {node: '>=0.10.0'} 105 | dev: true 106 | 107 | /array-initial/1.1.0: 108 | resolution: {integrity: sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==} 109 | engines: {node: '>=0.10.0'} 110 | dependencies: 111 | array-slice: 1.1.0 112 | is-number: 4.0.0 113 | dev: true 114 | 115 | /array-last/1.3.0: 116 | resolution: {integrity: sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==} 117 | engines: {node: '>=0.10.0'} 118 | dependencies: 119 | is-number: 4.0.0 120 | dev: true 121 | 122 | /array-slice/1.1.0: 123 | resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==} 124 | engines: {node: '>=0.10.0'} 125 | dev: true 126 | 127 | /array-sort/1.0.0: 128 | resolution: {integrity: sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==} 129 | engines: {node: '>=0.10.0'} 130 | dependencies: 131 | default-compare: 1.0.0 132 | get-value: 2.0.6 133 | kind-of: 5.1.0 134 | dev: true 135 | 136 | /array-unique/0.3.2: 137 | resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} 138 | engines: {node: '>=0.10.0'} 139 | dev: true 140 | 141 | /assign-symbols/1.0.0: 142 | resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} 143 | engines: {node: '>=0.10.0'} 144 | dev: true 145 | 146 | /async-done/1.3.2: 147 | resolution: {integrity: sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==} 148 | engines: {node: '>= 0.10'} 149 | dependencies: 150 | end-of-stream: 1.4.4 151 | once: 1.4.0 152 | process-nextick-args: 2.0.1 153 | stream-exhaust: 1.0.2 154 | dev: true 155 | 156 | /async-each/1.0.3: 157 | resolution: {integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==} 158 | dev: true 159 | 160 | /async-settle/1.0.0: 161 | resolution: {integrity: sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==} 162 | engines: {node: '>= 0.10'} 163 | dependencies: 164 | async-done: 1.3.2 165 | dev: true 166 | 167 | /atob/2.1.2: 168 | resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} 169 | engines: {node: '>= 4.5.0'} 170 | hasBin: true 171 | dev: true 172 | 173 | /bach/1.2.0: 174 | resolution: {integrity: sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==} 175 | engines: {node: '>= 0.10'} 176 | dependencies: 177 | arr-filter: 1.1.2 178 | arr-flatten: 1.1.0 179 | arr-map: 2.0.2 180 | array-each: 1.0.1 181 | array-initial: 1.1.0 182 | array-last: 1.3.0 183 | async-done: 1.3.2 184 | async-settle: 1.0.0 185 | now-and-later: 2.0.1 186 | dev: true 187 | 188 | /balanced-match/1.0.2: 189 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 190 | dev: true 191 | 192 | /base/0.11.2: 193 | resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} 194 | engines: {node: '>=0.10.0'} 195 | dependencies: 196 | cache-base: 1.0.1 197 | class-utils: 0.3.6 198 | component-emitter: 1.3.0 199 | define-property: 1.0.0 200 | isobject: 3.0.1 201 | mixin-deep: 1.3.2 202 | pascalcase: 0.1.1 203 | dev: true 204 | 205 | /binary-extensions/1.13.1: 206 | resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} 207 | engines: {node: '>=0.10.0'} 208 | dev: true 209 | 210 | /bindings/1.5.0: 211 | resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} 212 | requiresBuild: true 213 | dependencies: 214 | file-uri-to-path: 1.0.0 215 | dev: true 216 | optional: true 217 | 218 | /brace-expansion/1.1.11: 219 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 220 | dependencies: 221 | balanced-match: 1.0.2 222 | concat-map: 0.0.1 223 | dev: true 224 | 225 | /braces/2.3.2: 226 | resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} 227 | engines: {node: '>=0.10.0'} 228 | dependencies: 229 | arr-flatten: 1.1.0 230 | array-unique: 0.3.2 231 | extend-shallow: 2.0.1 232 | fill-range: 4.0.0 233 | isobject: 3.0.1 234 | repeat-element: 1.1.4 235 | snapdragon: 0.8.2 236 | snapdragon-node: 2.1.1 237 | split-string: 3.1.0 238 | to-regex: 3.0.2 239 | transitivePeerDependencies: 240 | - supports-color 241 | dev: true 242 | 243 | /buffer-equal/1.0.0: 244 | resolution: {integrity: sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==} 245 | engines: {node: '>=0.4.0'} 246 | dev: true 247 | 248 | /buffer-from/1.1.2: 249 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 250 | dev: true 251 | 252 | /cache-base/1.0.1: 253 | resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} 254 | engines: {node: '>=0.10.0'} 255 | dependencies: 256 | collection-visit: 1.0.0 257 | component-emitter: 1.3.0 258 | get-value: 2.0.6 259 | has-value: 1.0.0 260 | isobject: 3.0.1 261 | set-value: 2.0.1 262 | to-object-path: 0.3.0 263 | union-value: 1.0.1 264 | unset-value: 1.0.0 265 | dev: true 266 | 267 | /call-bind/1.0.2: 268 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 269 | dependencies: 270 | function-bind: 1.1.1 271 | get-intrinsic: 1.1.2 272 | dev: true 273 | 274 | /camelcase/3.0.0: 275 | resolution: {integrity: sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==} 276 | engines: {node: '>=0.10.0'} 277 | dev: true 278 | 279 | /chokidar/2.1.8: 280 | resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} 281 | deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies 282 | dependencies: 283 | anymatch: 2.0.0 284 | async-each: 1.0.3 285 | braces: 2.3.2 286 | glob-parent: 6.0.2 287 | inherits: 2.0.4 288 | is-binary-path: 1.0.1 289 | is-glob: 4.0.3 290 | normalize-path: 3.0.0 291 | path-is-absolute: 1.0.1 292 | readdirp: 2.2.1 293 | upath: 1.2.0 294 | optionalDependencies: 295 | fsevents: 1.2.13 296 | transitivePeerDependencies: 297 | - supports-color 298 | dev: true 299 | 300 | /class-utils/0.3.6: 301 | resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} 302 | engines: {node: '>=0.10.0'} 303 | dependencies: 304 | arr-union: 3.1.0 305 | define-property: 0.2.5 306 | isobject: 3.0.1 307 | static-extend: 0.1.2 308 | dev: true 309 | 310 | /cliui/3.2.0: 311 | resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==} 312 | dependencies: 313 | string-width: 1.0.2 314 | strip-ansi: 3.0.1 315 | wrap-ansi: 2.1.0 316 | dev: true 317 | 318 | /clone-buffer/1.0.0: 319 | resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} 320 | engines: {node: '>= 0.10'} 321 | dev: true 322 | 323 | /clone-regexp/2.2.0: 324 | resolution: {integrity: sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==} 325 | engines: {node: '>=6'} 326 | dependencies: 327 | is-regexp: 2.1.0 328 | dev: true 329 | 330 | /clone-stats/1.0.0: 331 | resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} 332 | dev: true 333 | 334 | /clone/2.1.2: 335 | resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} 336 | engines: {node: '>=0.8'} 337 | dev: true 338 | 339 | /cloneable-readable/1.1.3: 340 | resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} 341 | dependencies: 342 | inherits: 2.0.4 343 | process-nextick-args: 2.0.1 344 | readable-stream: 2.3.7 345 | dev: true 346 | 347 | /code-point-at/1.1.0: 348 | resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} 349 | engines: {node: '>=0.10.0'} 350 | dev: true 351 | 352 | /collection-map/1.0.0: 353 | resolution: {integrity: sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==} 354 | engines: {node: '>=0.10.0'} 355 | dependencies: 356 | arr-map: 2.0.2 357 | for-own: 1.0.0 358 | make-iterator: 1.0.1 359 | dev: true 360 | 361 | /collection-visit/1.0.0: 362 | resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} 363 | engines: {node: '>=0.10.0'} 364 | dependencies: 365 | map-visit: 1.0.0 366 | object-visit: 1.0.1 367 | dev: true 368 | 369 | /color-support/1.1.3: 370 | resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} 371 | hasBin: true 372 | dev: true 373 | 374 | /component-emitter/1.3.0: 375 | resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} 376 | dev: true 377 | 378 | /concat-map/0.0.1: 379 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 380 | dev: true 381 | 382 | /concat-stream/1.6.2: 383 | resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} 384 | engines: {'0': node >= 0.8} 385 | dependencies: 386 | buffer-from: 1.1.2 387 | inherits: 2.0.4 388 | readable-stream: 2.3.7 389 | typedarray: 0.0.6 390 | dev: true 391 | 392 | /concat-with-sourcemaps/1.1.0: 393 | resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} 394 | dependencies: 395 | source-map: 0.6.1 396 | dev: true 397 | 398 | /convert-source-map/1.8.0: 399 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 400 | dependencies: 401 | safe-buffer: 5.1.2 402 | dev: true 403 | 404 | /copy-descriptor/0.1.1: 405 | resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} 406 | engines: {node: '>=0.10.0'} 407 | dev: true 408 | 409 | /copy-props/2.0.5: 410 | resolution: {integrity: sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==} 411 | dependencies: 412 | each-props: 1.3.2 413 | is-plain-object: 5.0.0 414 | dev: true 415 | 416 | /core-util-is/1.0.3: 417 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 418 | dev: true 419 | 420 | /d/1.0.1: 421 | resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} 422 | dependencies: 423 | es5-ext: 0.10.61 424 | type: 1.2.0 425 | dev: true 426 | 427 | /dag/0.0.1: 428 | resolution: {integrity: sha512-VLfp+U2LHnnKsoLcwr6Lnoz0AmBtL4H0o8VI34qsi1so75KL0/46bprkuSfVq0/5jn3SsPZsNKe38QBxC1nhGw==} 429 | dev: true 430 | 431 | /debug/2.6.9: 432 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 433 | peerDependencies: 434 | supports-color: '*' 435 | peerDependenciesMeta: 436 | supports-color: 437 | optional: true 438 | dependencies: 439 | ms: 2.0.0 440 | dev: true 441 | 442 | /decamelize/1.2.0: 443 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 444 | engines: {node: '>=0.10.0'} 445 | dev: true 446 | 447 | /decode-uri-component/0.2.0: 448 | resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} 449 | engines: {node: '>=0.10'} 450 | dev: true 451 | 452 | /default-compare/1.0.0: 453 | resolution: {integrity: sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==} 454 | engines: {node: '>=0.10.0'} 455 | dependencies: 456 | kind-of: 5.1.0 457 | dev: true 458 | 459 | /default-resolution/2.0.0: 460 | resolution: {integrity: sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==} 461 | engines: {node: '>= 0.10'} 462 | dev: true 463 | 464 | /define-properties/1.1.4: 465 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 466 | engines: {node: '>= 0.4'} 467 | dependencies: 468 | has-property-descriptors: 1.0.0 469 | object-keys: 1.1.1 470 | dev: true 471 | 472 | /define-property/0.2.5: 473 | resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} 474 | engines: {node: '>=0.10.0'} 475 | dependencies: 476 | is-descriptor: 0.1.6 477 | dev: true 478 | 479 | /define-property/1.0.0: 480 | resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} 481 | engines: {node: '>=0.10.0'} 482 | dependencies: 483 | is-descriptor: 1.0.2 484 | dev: true 485 | 486 | /define-property/2.0.2: 487 | resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} 488 | engines: {node: '>=0.10.0'} 489 | dependencies: 490 | is-descriptor: 1.0.2 491 | isobject: 3.0.1 492 | dev: true 493 | 494 | /detect-file/1.0.0: 495 | resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} 496 | engines: {node: '>=0.10.0'} 497 | dev: true 498 | 499 | /duplexify/3.7.1: 500 | resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} 501 | dependencies: 502 | end-of-stream: 1.4.4 503 | inherits: 2.0.4 504 | readable-stream: 2.3.7 505 | stream-shift: 1.0.1 506 | dev: true 507 | 508 | /each-props/1.3.2: 509 | resolution: {integrity: sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==} 510 | dependencies: 511 | is-plain-object: 2.0.4 512 | object.defaults: 1.1.0 513 | dev: true 514 | 515 | /end-of-stream/1.4.4: 516 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 517 | dependencies: 518 | once: 1.4.0 519 | dev: true 520 | 521 | /error-ex/1.3.2: 522 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 523 | dependencies: 524 | is-arrayish: 0.2.1 525 | dev: true 526 | 527 | /es5-ext/0.10.61: 528 | resolution: {integrity: sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==} 529 | engines: {node: '>=0.10'} 530 | requiresBuild: true 531 | dependencies: 532 | es6-iterator: 2.0.3 533 | es6-symbol: 3.1.3 534 | next-tick: 1.1.0 535 | dev: true 536 | 537 | /es6-iterator/2.0.3: 538 | resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} 539 | dependencies: 540 | d: 1.0.1 541 | es5-ext: 0.10.61 542 | es6-symbol: 3.1.3 543 | dev: true 544 | 545 | /es6-symbol/3.1.3: 546 | resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} 547 | dependencies: 548 | d: 1.0.1 549 | ext: 1.6.0 550 | dev: true 551 | 552 | /es6-weak-map/2.0.3: 553 | resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} 554 | dependencies: 555 | d: 1.0.1 556 | es5-ext: 0.10.61 557 | es6-iterator: 2.0.3 558 | es6-symbol: 3.1.3 559 | dev: true 560 | 561 | /expand-brackets/2.1.4: 562 | resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} 563 | engines: {node: '>=0.10.0'} 564 | dependencies: 565 | debug: 2.6.9 566 | define-property: 0.2.5 567 | extend-shallow: 2.0.1 568 | posix-character-classes: 0.1.1 569 | regex-not: 1.0.2 570 | snapdragon: 0.8.2 571 | to-regex: 3.0.2 572 | transitivePeerDependencies: 573 | - supports-color 574 | dev: true 575 | 576 | /expand-tilde/2.0.2: 577 | resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} 578 | engines: {node: '>=0.10.0'} 579 | dependencies: 580 | homedir-polyfill: 1.0.3 581 | dev: true 582 | 583 | /ext/1.6.0: 584 | resolution: {integrity: sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==} 585 | dependencies: 586 | type: 2.6.0 587 | dev: true 588 | 589 | /extend-shallow/2.0.1: 590 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} 591 | engines: {node: '>=0.10.0'} 592 | dependencies: 593 | is-extendable: 0.1.1 594 | dev: true 595 | 596 | /extend-shallow/3.0.2: 597 | resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} 598 | engines: {node: '>=0.10.0'} 599 | dependencies: 600 | assign-symbols: 1.0.0 601 | is-extendable: 1.0.1 602 | dev: true 603 | 604 | /extend/3.0.2: 605 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 606 | dev: true 607 | 608 | /extglob/2.0.4: 609 | resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} 610 | engines: {node: '>=0.10.0'} 611 | dependencies: 612 | array-unique: 0.3.2 613 | define-property: 1.0.0 614 | expand-brackets: 2.1.4 615 | extend-shallow: 2.0.1 616 | fragment-cache: 0.2.1 617 | regex-not: 1.0.2 618 | snapdragon: 0.8.2 619 | to-regex: 3.0.2 620 | transitivePeerDependencies: 621 | - supports-color 622 | dev: true 623 | 624 | /fancy-log/1.3.3: 625 | resolution: {integrity: sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==} 626 | engines: {node: '>= 0.10'} 627 | dependencies: 628 | ansi-gray: 0.1.1 629 | color-support: 1.1.3 630 | parse-node-version: 1.0.1 631 | time-stamp: 1.1.0 632 | dev: true 633 | 634 | /fast-levenshtein/1.1.4: 635 | resolution: {integrity: sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==} 636 | dev: true 637 | 638 | /file-uri-to-path/1.0.0: 639 | resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 640 | requiresBuild: true 641 | dev: true 642 | optional: true 643 | 644 | /fill-range/4.0.0: 645 | resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} 646 | engines: {node: '>=0.10.0'} 647 | dependencies: 648 | extend-shallow: 2.0.1 649 | is-number: 3.0.0 650 | repeat-string: 1.6.1 651 | to-regex-range: 2.1.1 652 | dev: true 653 | 654 | /find-up/1.1.2: 655 | resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} 656 | engines: {node: '>=0.10.0'} 657 | dependencies: 658 | path-exists: 2.1.0 659 | pinkie-promise: 2.0.1 660 | dev: true 661 | 662 | /findup-sync/2.0.0: 663 | resolution: {integrity: sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==} 664 | engines: {node: '>= 0.10'} 665 | dependencies: 666 | detect-file: 1.0.0 667 | is-glob: 3.1.0 668 | micromatch: 3.1.10 669 | resolve-dir: 1.0.1 670 | transitivePeerDependencies: 671 | - supports-color 672 | dev: true 673 | 674 | /findup-sync/3.0.0: 675 | resolution: {integrity: sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==} 676 | engines: {node: '>= 0.10'} 677 | dependencies: 678 | detect-file: 1.0.0 679 | is-glob: 4.0.3 680 | micromatch: 3.1.10 681 | resolve-dir: 1.0.1 682 | transitivePeerDependencies: 683 | - supports-color 684 | dev: true 685 | 686 | /fined/1.2.0: 687 | resolution: {integrity: sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==} 688 | engines: {node: '>= 0.10'} 689 | dependencies: 690 | expand-tilde: 2.0.2 691 | is-plain-object: 2.0.4 692 | object.defaults: 1.1.0 693 | object.pick: 1.3.0 694 | parse-filepath: 1.0.2 695 | dev: true 696 | 697 | /flagged-respawn/1.0.1: 698 | resolution: {integrity: sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==} 699 | engines: {node: '>= 0.10'} 700 | dev: true 701 | 702 | /flush-write-stream/1.1.1: 703 | resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} 704 | dependencies: 705 | inherits: 2.0.4 706 | readable-stream: 2.3.7 707 | dev: true 708 | 709 | /for-in/1.0.2: 710 | resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} 711 | engines: {node: '>=0.10.0'} 712 | dev: true 713 | 714 | /for-own/1.0.0: 715 | resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==} 716 | engines: {node: '>=0.10.0'} 717 | dependencies: 718 | for-in: 1.0.2 719 | dev: true 720 | 721 | /fragment-cache/0.2.1: 722 | resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} 723 | engines: {node: '>=0.10.0'} 724 | dependencies: 725 | map-cache: 0.2.2 726 | dev: true 727 | 728 | /fs-mkdirp-stream/1.0.0: 729 | resolution: {integrity: sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==} 730 | engines: {node: '>= 0.10'} 731 | dependencies: 732 | graceful-fs: 4.2.10 733 | through2: 2.0.5 734 | dev: true 735 | 736 | /fs.realpath/1.0.0: 737 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 738 | dev: true 739 | 740 | /fsevents/1.2.13: 741 | resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} 742 | engines: {node: '>= 4.0'} 743 | os: [darwin] 744 | deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. 745 | requiresBuild: true 746 | dependencies: 747 | bindings: 1.5.0 748 | nan: 2.16.0 749 | dev: true 750 | optional: true 751 | 752 | /function-bind/1.1.1: 753 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 754 | dev: true 755 | 756 | /get-caller-file/1.0.3: 757 | resolution: {integrity: sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==} 758 | dev: true 759 | 760 | /get-intrinsic/1.1.2: 761 | resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} 762 | dependencies: 763 | function-bind: 1.1.1 764 | has: 1.0.3 765 | has-symbols: 1.0.3 766 | dev: true 767 | 768 | /get-value/2.0.6: 769 | resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} 770 | engines: {node: '>=0.10.0'} 771 | dev: true 772 | 773 | /glob-parent/6.0.2: 774 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 775 | engines: {node: '>=10.13.0'} 776 | dependencies: 777 | is-glob: 4.0.3 778 | dev: true 779 | 780 | /glob-stream/6.1.0: 781 | resolution: {integrity: sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==} 782 | engines: {node: '>= 0.10'} 783 | dependencies: 784 | extend: 3.0.2 785 | glob: 7.2.3 786 | glob-parent: 6.0.2 787 | is-negated-glob: 1.0.0 788 | ordered-read-streams: 1.0.1 789 | pumpify: 1.5.1 790 | readable-stream: 2.3.7 791 | remove-trailing-separator: 1.1.0 792 | to-absolute-glob: 2.0.2 793 | unique-stream: 2.3.1 794 | dev: true 795 | 796 | /glob-watcher/5.0.5: 797 | resolution: {integrity: sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==} 798 | engines: {node: '>= 0.10'} 799 | dependencies: 800 | anymatch: 2.0.0 801 | async-done: 1.3.2 802 | chokidar: 2.1.8 803 | is-negated-glob: 1.0.0 804 | just-debounce: 1.1.0 805 | normalize-path: 3.0.0 806 | object.defaults: 1.1.0 807 | transitivePeerDependencies: 808 | - supports-color 809 | dev: true 810 | 811 | /glob/7.2.3: 812 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 813 | dependencies: 814 | fs.realpath: 1.0.0 815 | inflight: 1.0.6 816 | inherits: 2.0.4 817 | minimatch: 3.1.2 818 | once: 1.4.0 819 | path-is-absolute: 1.0.1 820 | dev: true 821 | 822 | /global-modules/1.0.0: 823 | resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} 824 | engines: {node: '>=0.10.0'} 825 | dependencies: 826 | global-prefix: 1.0.2 827 | is-windows: 1.0.2 828 | resolve-dir: 1.0.1 829 | dev: true 830 | 831 | /global-prefix/1.0.2: 832 | resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} 833 | engines: {node: '>=0.10.0'} 834 | dependencies: 835 | expand-tilde: 2.0.2 836 | homedir-polyfill: 1.0.3 837 | ini: 1.3.8 838 | is-windows: 1.0.2 839 | which: 1.3.1 840 | dev: true 841 | 842 | /glogg/1.0.2: 843 | resolution: {integrity: sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==} 844 | engines: {node: '>= 0.10'} 845 | dependencies: 846 | sparkles: 1.0.1 847 | dev: true 848 | 849 | /graceful-fs/4.2.10: 850 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 851 | dev: true 852 | 853 | /gulp-cli/2.3.0: 854 | resolution: {integrity: sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==} 855 | engines: {node: '>= 0.10'} 856 | hasBin: true 857 | dependencies: 858 | ansi-colors: 1.1.0 859 | archy: 1.0.0 860 | array-sort: 1.0.0 861 | color-support: 1.1.3 862 | concat-stream: 1.6.2 863 | copy-props: 2.0.5 864 | fancy-log: 1.3.3 865 | gulplog: 1.0.0 866 | interpret: 1.4.0 867 | isobject: 3.0.1 868 | liftoff: 3.1.0 869 | matchdep: 2.0.0 870 | mute-stdout: 1.0.1 871 | pretty-hrtime: 1.0.3 872 | replace-homedir: 1.0.0 873 | semver-greatest-satisfied-range: 1.1.0 874 | v8flags: 3.2.0 875 | yargs: 7.1.2 876 | transitivePeerDependencies: 877 | - supports-color 878 | dev: true 879 | 880 | /gulp-concat/2.6.1: 881 | resolution: {integrity: sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==} 882 | engines: {node: '>= 0.10'} 883 | dependencies: 884 | concat-with-sourcemaps: 1.1.0 885 | through2: 2.0.5 886 | vinyl: 2.2.1 887 | dev: true 888 | 889 | /gulp-rename/2.0.0: 890 | resolution: {integrity: sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==} 891 | engines: {node: '>=4'} 892 | dev: true 893 | 894 | /gulp-resolve-dependencies/4.1.0: 895 | resolution: {integrity: sha512-vuHyIJHsLHTePnzoMX2SEiVd9S7R6DRKj16A9zGBt0cc7VyA7ho7HPgUhioV1A3Jn/NQnATI3ZaRlALZBeCPFQ==} 896 | engines: {node: '>=6'} 897 | dependencies: 898 | ansi-colors: 3.2.4 899 | clone-regexp: 2.2.0 900 | dag: 0.0.1 901 | fancy-log: 1.3.3 902 | lodash.merge: 4.6.2 903 | vinyl: 2.2.1 904 | dev: true 905 | 906 | /gulp-uglify/3.0.2: 907 | resolution: {integrity: sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==} 908 | dependencies: 909 | array-each: 1.0.1 910 | extend-shallow: 3.0.2 911 | gulplog: 1.0.0 912 | has-gulplog: 0.1.0 913 | isobject: 3.0.1 914 | make-error-cause: 1.2.2 915 | safe-buffer: 5.2.1 916 | through2: 2.0.5 917 | uglify-js: 3.16.2 918 | vinyl-sourcemaps-apply: 0.2.1 919 | dev: true 920 | 921 | /gulp/4.0.2: 922 | resolution: {integrity: sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==} 923 | engines: {node: '>= 0.10'} 924 | hasBin: true 925 | dependencies: 926 | glob-watcher: 5.0.5 927 | gulp-cli: 2.3.0 928 | undertaker: 1.3.0 929 | vinyl-fs: 3.0.3 930 | transitivePeerDependencies: 931 | - supports-color 932 | dev: true 933 | 934 | /gulplog/1.0.0: 935 | resolution: {integrity: sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==} 936 | engines: {node: '>= 0.10'} 937 | dependencies: 938 | glogg: 1.0.2 939 | dev: true 940 | 941 | /has-gulplog/0.1.0: 942 | resolution: {integrity: sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==} 943 | engines: {node: '>= 0.10'} 944 | dependencies: 945 | sparkles: 1.0.1 946 | dev: true 947 | 948 | /has-property-descriptors/1.0.0: 949 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 950 | dependencies: 951 | get-intrinsic: 1.1.2 952 | dev: true 953 | 954 | /has-symbols/1.0.3: 955 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 956 | engines: {node: '>= 0.4'} 957 | dev: true 958 | 959 | /has-value/0.3.1: 960 | resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} 961 | engines: {node: '>=0.10.0'} 962 | dependencies: 963 | get-value: 2.0.6 964 | has-values: 0.1.4 965 | isobject: 2.1.0 966 | dev: true 967 | 968 | /has-value/1.0.0: 969 | resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} 970 | engines: {node: '>=0.10.0'} 971 | dependencies: 972 | get-value: 2.0.6 973 | has-values: 1.0.0 974 | isobject: 3.0.1 975 | dev: true 976 | 977 | /has-values/0.1.4: 978 | resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} 979 | engines: {node: '>=0.10.0'} 980 | dev: true 981 | 982 | /has-values/1.0.0: 983 | resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} 984 | engines: {node: '>=0.10.0'} 985 | dependencies: 986 | is-number: 3.0.0 987 | kind-of: 4.0.0 988 | dev: true 989 | 990 | /has/1.0.3: 991 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 992 | engines: {node: '>= 0.4.0'} 993 | dependencies: 994 | function-bind: 1.1.1 995 | dev: true 996 | 997 | /homedir-polyfill/1.0.3: 998 | resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} 999 | engines: {node: '>=0.10.0'} 1000 | dependencies: 1001 | parse-passwd: 1.0.0 1002 | dev: true 1003 | 1004 | /hosted-git-info/2.8.9: 1005 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1006 | dev: true 1007 | 1008 | /inflight/1.0.6: 1009 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1010 | dependencies: 1011 | once: 1.4.0 1012 | wrappy: 1.0.2 1013 | dev: true 1014 | 1015 | /inherits/2.0.4: 1016 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1017 | dev: true 1018 | 1019 | /ini/1.3.8: 1020 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1021 | dev: true 1022 | 1023 | /interpret/1.4.0: 1024 | resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} 1025 | engines: {node: '>= 0.10'} 1026 | dev: true 1027 | 1028 | /invert-kv/1.0.0: 1029 | resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} 1030 | engines: {node: '>=0.10.0'} 1031 | dev: true 1032 | 1033 | /is-absolute/1.0.0: 1034 | resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} 1035 | engines: {node: '>=0.10.0'} 1036 | dependencies: 1037 | is-relative: 1.0.0 1038 | is-windows: 1.0.2 1039 | dev: true 1040 | 1041 | /is-accessor-descriptor/0.1.6: 1042 | resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} 1043 | engines: {node: '>=0.10.0'} 1044 | dependencies: 1045 | kind-of: 3.2.2 1046 | dev: true 1047 | 1048 | /is-accessor-descriptor/1.0.0: 1049 | resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} 1050 | engines: {node: '>=0.10.0'} 1051 | dependencies: 1052 | kind-of: 6.0.3 1053 | dev: true 1054 | 1055 | /is-arrayish/0.2.1: 1056 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1057 | dev: true 1058 | 1059 | /is-binary-path/1.0.1: 1060 | resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} 1061 | engines: {node: '>=0.10.0'} 1062 | dependencies: 1063 | binary-extensions: 1.13.1 1064 | dev: true 1065 | 1066 | /is-buffer/1.1.6: 1067 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} 1068 | dev: true 1069 | 1070 | /is-core-module/2.9.0: 1071 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 1072 | dependencies: 1073 | has: 1.0.3 1074 | dev: true 1075 | 1076 | /is-data-descriptor/0.1.4: 1077 | resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} 1078 | engines: {node: '>=0.10.0'} 1079 | dependencies: 1080 | kind-of: 3.2.2 1081 | dev: true 1082 | 1083 | /is-data-descriptor/1.0.0: 1084 | resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} 1085 | engines: {node: '>=0.10.0'} 1086 | dependencies: 1087 | kind-of: 6.0.3 1088 | dev: true 1089 | 1090 | /is-descriptor/0.1.6: 1091 | resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} 1092 | engines: {node: '>=0.10.0'} 1093 | dependencies: 1094 | is-accessor-descriptor: 0.1.6 1095 | is-data-descriptor: 0.1.4 1096 | kind-of: 5.1.0 1097 | dev: true 1098 | 1099 | /is-descriptor/1.0.2: 1100 | resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} 1101 | engines: {node: '>=0.10.0'} 1102 | dependencies: 1103 | is-accessor-descriptor: 1.0.0 1104 | is-data-descriptor: 1.0.0 1105 | kind-of: 6.0.3 1106 | dev: true 1107 | 1108 | /is-extendable/0.1.1: 1109 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} 1110 | engines: {node: '>=0.10.0'} 1111 | dev: true 1112 | 1113 | /is-extendable/1.0.1: 1114 | resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} 1115 | engines: {node: '>=0.10.0'} 1116 | dependencies: 1117 | is-plain-object: 2.0.4 1118 | dev: true 1119 | 1120 | /is-extglob/2.1.1: 1121 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1122 | engines: {node: '>=0.10.0'} 1123 | dev: true 1124 | 1125 | /is-fullwidth-code-point/1.0.0: 1126 | resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} 1127 | engines: {node: '>=0.10.0'} 1128 | dependencies: 1129 | number-is-nan: 1.0.1 1130 | dev: true 1131 | 1132 | /is-glob/3.1.0: 1133 | resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} 1134 | engines: {node: '>=0.10.0'} 1135 | dependencies: 1136 | is-extglob: 2.1.1 1137 | dev: true 1138 | 1139 | /is-glob/4.0.3: 1140 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1141 | engines: {node: '>=0.10.0'} 1142 | dependencies: 1143 | is-extglob: 2.1.1 1144 | dev: true 1145 | 1146 | /is-negated-glob/1.0.0: 1147 | resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==} 1148 | engines: {node: '>=0.10.0'} 1149 | dev: true 1150 | 1151 | /is-number/3.0.0: 1152 | resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} 1153 | engines: {node: '>=0.10.0'} 1154 | dependencies: 1155 | kind-of: 3.2.2 1156 | dev: true 1157 | 1158 | /is-number/4.0.0: 1159 | resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} 1160 | engines: {node: '>=0.10.0'} 1161 | dev: true 1162 | 1163 | /is-plain-object/2.0.4: 1164 | resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} 1165 | engines: {node: '>=0.10.0'} 1166 | dependencies: 1167 | isobject: 3.0.1 1168 | dev: true 1169 | 1170 | /is-plain-object/5.0.0: 1171 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} 1172 | engines: {node: '>=0.10.0'} 1173 | dev: true 1174 | 1175 | /is-regexp/2.1.0: 1176 | resolution: {integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==} 1177 | engines: {node: '>=6'} 1178 | dev: true 1179 | 1180 | /is-relative/1.0.0: 1181 | resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} 1182 | engines: {node: '>=0.10.0'} 1183 | dependencies: 1184 | is-unc-path: 1.0.0 1185 | dev: true 1186 | 1187 | /is-unc-path/1.0.0: 1188 | resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} 1189 | engines: {node: '>=0.10.0'} 1190 | dependencies: 1191 | unc-path-regex: 0.1.2 1192 | dev: true 1193 | 1194 | /is-utf8/0.2.1: 1195 | resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} 1196 | dev: true 1197 | 1198 | /is-valid-glob/1.0.0: 1199 | resolution: {integrity: sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==} 1200 | engines: {node: '>=0.10.0'} 1201 | dev: true 1202 | 1203 | /is-windows/1.0.2: 1204 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 1205 | engines: {node: '>=0.10.0'} 1206 | dev: true 1207 | 1208 | /isarray/1.0.0: 1209 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1210 | dev: true 1211 | 1212 | /isexe/2.0.0: 1213 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1214 | dev: true 1215 | 1216 | /isobject/2.1.0: 1217 | resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} 1218 | engines: {node: '>=0.10.0'} 1219 | dependencies: 1220 | isarray: 1.0.0 1221 | dev: true 1222 | 1223 | /isobject/3.0.1: 1224 | resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} 1225 | engines: {node: '>=0.10.0'} 1226 | dev: true 1227 | 1228 | /json-stable-stringify-without-jsonify/1.0.1: 1229 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1230 | dev: true 1231 | 1232 | /just-debounce/1.1.0: 1233 | resolution: {integrity: sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==} 1234 | dev: true 1235 | 1236 | /kind-of/3.2.2: 1237 | resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} 1238 | engines: {node: '>=0.10.0'} 1239 | dependencies: 1240 | is-buffer: 1.1.6 1241 | dev: true 1242 | 1243 | /kind-of/4.0.0: 1244 | resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} 1245 | engines: {node: '>=0.10.0'} 1246 | dependencies: 1247 | is-buffer: 1.1.6 1248 | dev: true 1249 | 1250 | /kind-of/5.1.0: 1251 | resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} 1252 | engines: {node: '>=0.10.0'} 1253 | dev: true 1254 | 1255 | /kind-of/6.0.3: 1256 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 1257 | engines: {node: '>=0.10.0'} 1258 | dev: true 1259 | 1260 | /last-run/1.1.1: 1261 | resolution: {integrity: sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==} 1262 | engines: {node: '>= 0.10'} 1263 | dependencies: 1264 | default-resolution: 2.0.0 1265 | es6-weak-map: 2.0.3 1266 | dev: true 1267 | 1268 | /lazystream/1.0.1: 1269 | resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} 1270 | engines: {node: '>= 0.6.3'} 1271 | dependencies: 1272 | readable-stream: 2.3.7 1273 | dev: true 1274 | 1275 | /lcid/1.0.0: 1276 | resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} 1277 | engines: {node: '>=0.10.0'} 1278 | dependencies: 1279 | invert-kv: 1.0.0 1280 | dev: true 1281 | 1282 | /lead/1.0.0: 1283 | resolution: {integrity: sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==} 1284 | engines: {node: '>= 0.10'} 1285 | dependencies: 1286 | flush-write-stream: 1.1.1 1287 | dev: true 1288 | 1289 | /liftoff/3.1.0: 1290 | resolution: {integrity: sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==} 1291 | engines: {node: '>= 0.8'} 1292 | dependencies: 1293 | extend: 3.0.2 1294 | findup-sync: 3.0.0 1295 | fined: 1.2.0 1296 | flagged-respawn: 1.0.1 1297 | is-plain-object: 2.0.4 1298 | object.map: 1.0.1 1299 | rechoir: 0.6.2 1300 | resolve: 1.22.1 1301 | transitivePeerDependencies: 1302 | - supports-color 1303 | dev: true 1304 | 1305 | /load-json-file/1.1.0: 1306 | resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} 1307 | engines: {node: '>=0.10.0'} 1308 | dependencies: 1309 | graceful-fs: 4.2.10 1310 | parse-json: 2.2.0 1311 | pify: 2.3.0 1312 | pinkie-promise: 2.0.1 1313 | strip-bom: 2.0.0 1314 | dev: true 1315 | 1316 | /lodash.merge/4.6.2: 1317 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1318 | dev: true 1319 | 1320 | /make-error-cause/1.2.2: 1321 | resolution: {integrity: sha512-4TO2Y3HkBnis4c0dxhAgD/jprySYLACf7nwN6V0HAHDx59g12WlRpUmFy1bRHamjGUEEBrEvCq6SUpsEE2lhUg==} 1322 | dependencies: 1323 | make-error: 1.3.6 1324 | dev: true 1325 | 1326 | /make-error/1.3.6: 1327 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 1328 | dev: true 1329 | 1330 | /make-iterator/1.0.1: 1331 | resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==} 1332 | engines: {node: '>=0.10.0'} 1333 | dependencies: 1334 | kind-of: 6.0.3 1335 | dev: true 1336 | 1337 | /map-cache/0.2.2: 1338 | resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} 1339 | engines: {node: '>=0.10.0'} 1340 | dev: true 1341 | 1342 | /map-visit/1.0.0: 1343 | resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} 1344 | engines: {node: '>=0.10.0'} 1345 | dependencies: 1346 | object-visit: 1.0.1 1347 | dev: true 1348 | 1349 | /matchdep/2.0.0: 1350 | resolution: {integrity: sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==} 1351 | engines: {node: '>= 0.10.0'} 1352 | dependencies: 1353 | findup-sync: 2.0.0 1354 | micromatch: 3.1.10 1355 | resolve: 1.22.1 1356 | stack-trace: 0.0.10 1357 | transitivePeerDependencies: 1358 | - supports-color 1359 | dev: true 1360 | 1361 | /micromatch/3.1.10: 1362 | resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} 1363 | engines: {node: '>=0.10.0'} 1364 | dependencies: 1365 | arr-diff: 4.0.0 1366 | array-unique: 0.3.2 1367 | braces: 2.3.2 1368 | define-property: 2.0.2 1369 | extend-shallow: 3.0.2 1370 | extglob: 2.0.4 1371 | fragment-cache: 0.2.1 1372 | kind-of: 6.0.3 1373 | nanomatch: 1.2.13 1374 | object.pick: 1.3.0 1375 | regex-not: 1.0.2 1376 | snapdragon: 0.8.2 1377 | to-regex: 3.0.2 1378 | transitivePeerDependencies: 1379 | - supports-color 1380 | dev: true 1381 | 1382 | /minimatch/3.1.2: 1383 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1384 | dependencies: 1385 | brace-expansion: 1.1.11 1386 | dev: true 1387 | 1388 | /mixin-deep/1.3.2: 1389 | resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} 1390 | engines: {node: '>=0.10.0'} 1391 | dependencies: 1392 | for-in: 1.0.2 1393 | is-extendable: 1.0.1 1394 | dev: true 1395 | 1396 | /ms/2.0.0: 1397 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1398 | dev: true 1399 | 1400 | /mute-stdout/1.0.1: 1401 | resolution: {integrity: sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==} 1402 | engines: {node: '>= 0.10'} 1403 | dev: true 1404 | 1405 | /nan/2.16.0: 1406 | resolution: {integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==} 1407 | requiresBuild: true 1408 | dev: true 1409 | optional: true 1410 | 1411 | /nanomatch/1.2.13: 1412 | resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} 1413 | engines: {node: '>=0.10.0'} 1414 | dependencies: 1415 | arr-diff: 4.0.0 1416 | array-unique: 0.3.2 1417 | define-property: 2.0.2 1418 | extend-shallow: 3.0.2 1419 | fragment-cache: 0.2.1 1420 | is-windows: 1.0.2 1421 | kind-of: 6.0.3 1422 | object.pick: 1.3.0 1423 | regex-not: 1.0.2 1424 | snapdragon: 0.8.2 1425 | to-regex: 3.0.2 1426 | transitivePeerDependencies: 1427 | - supports-color 1428 | dev: true 1429 | 1430 | /next-tick/1.1.0: 1431 | resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} 1432 | dev: true 1433 | 1434 | /normalize-package-data/2.5.0: 1435 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1436 | dependencies: 1437 | hosted-git-info: 2.8.9 1438 | resolve: 1.22.1 1439 | semver: 5.7.1 1440 | validate-npm-package-license: 3.0.4 1441 | dev: true 1442 | 1443 | /normalize-path/2.1.1: 1444 | resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} 1445 | engines: {node: '>=0.10.0'} 1446 | dependencies: 1447 | remove-trailing-separator: 1.1.0 1448 | dev: true 1449 | 1450 | /normalize-path/3.0.0: 1451 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1452 | engines: {node: '>=0.10.0'} 1453 | dev: true 1454 | 1455 | /now-and-later/2.0.1: 1456 | resolution: {integrity: sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==} 1457 | engines: {node: '>= 0.10'} 1458 | dependencies: 1459 | once: 1.4.0 1460 | dev: true 1461 | 1462 | /number-is-nan/1.0.1: 1463 | resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} 1464 | engines: {node: '>=0.10.0'} 1465 | dev: true 1466 | 1467 | /object-copy/0.1.0: 1468 | resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} 1469 | engines: {node: '>=0.10.0'} 1470 | dependencies: 1471 | copy-descriptor: 0.1.1 1472 | define-property: 0.2.5 1473 | kind-of: 3.2.2 1474 | dev: true 1475 | 1476 | /object-keys/1.1.1: 1477 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1478 | engines: {node: '>= 0.4'} 1479 | dev: true 1480 | 1481 | /object-visit/1.0.1: 1482 | resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} 1483 | engines: {node: '>=0.10.0'} 1484 | dependencies: 1485 | isobject: 3.0.1 1486 | dev: true 1487 | 1488 | /object.assign/4.1.2: 1489 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 1490 | engines: {node: '>= 0.4'} 1491 | dependencies: 1492 | call-bind: 1.0.2 1493 | define-properties: 1.1.4 1494 | has-symbols: 1.0.3 1495 | object-keys: 1.1.1 1496 | dev: true 1497 | 1498 | /object.defaults/1.1.0: 1499 | resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==} 1500 | engines: {node: '>=0.10.0'} 1501 | dependencies: 1502 | array-each: 1.0.1 1503 | array-slice: 1.1.0 1504 | for-own: 1.0.0 1505 | isobject: 3.0.1 1506 | dev: true 1507 | 1508 | /object.map/1.0.1: 1509 | resolution: {integrity: sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==} 1510 | engines: {node: '>=0.10.0'} 1511 | dependencies: 1512 | for-own: 1.0.0 1513 | make-iterator: 1.0.1 1514 | dev: true 1515 | 1516 | /object.pick/1.3.0: 1517 | resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} 1518 | engines: {node: '>=0.10.0'} 1519 | dependencies: 1520 | isobject: 3.0.1 1521 | dev: true 1522 | 1523 | /object.reduce/1.0.1: 1524 | resolution: {integrity: sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==} 1525 | engines: {node: '>=0.10.0'} 1526 | dependencies: 1527 | for-own: 1.0.0 1528 | make-iterator: 1.0.1 1529 | dev: true 1530 | 1531 | /once/1.4.0: 1532 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1533 | dependencies: 1534 | wrappy: 1.0.2 1535 | dev: true 1536 | 1537 | /ordered-read-streams/1.0.1: 1538 | resolution: {integrity: sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==} 1539 | dependencies: 1540 | readable-stream: 2.3.7 1541 | dev: true 1542 | 1543 | /os-locale/1.4.0: 1544 | resolution: {integrity: sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==} 1545 | engines: {node: '>=0.10.0'} 1546 | dependencies: 1547 | lcid: 1.0.0 1548 | dev: true 1549 | 1550 | /parse-filepath/1.0.2: 1551 | resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} 1552 | engines: {node: '>=0.8'} 1553 | dependencies: 1554 | is-absolute: 1.0.0 1555 | map-cache: 0.2.2 1556 | path-root: 0.1.1 1557 | dev: true 1558 | 1559 | /parse-json/2.2.0: 1560 | resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} 1561 | engines: {node: '>=0.10.0'} 1562 | dependencies: 1563 | error-ex: 1.3.2 1564 | dev: true 1565 | 1566 | /parse-node-version/1.0.1: 1567 | resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} 1568 | engines: {node: '>= 0.10'} 1569 | dev: true 1570 | 1571 | /parse-passwd/1.0.0: 1572 | resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} 1573 | engines: {node: '>=0.10.0'} 1574 | dev: true 1575 | 1576 | /pascalcase/0.1.1: 1577 | resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} 1578 | engines: {node: '>=0.10.0'} 1579 | dev: true 1580 | 1581 | /path-exists/2.1.0: 1582 | resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} 1583 | engines: {node: '>=0.10.0'} 1584 | dependencies: 1585 | pinkie-promise: 2.0.1 1586 | dev: true 1587 | 1588 | /path-is-absolute/1.0.1: 1589 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1590 | engines: {node: '>=0.10.0'} 1591 | dev: true 1592 | 1593 | /path-parse/1.0.7: 1594 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1595 | dev: true 1596 | 1597 | /path-root-regex/0.1.2: 1598 | resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} 1599 | engines: {node: '>=0.10.0'} 1600 | dev: true 1601 | 1602 | /path-root/0.1.1: 1603 | resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} 1604 | engines: {node: '>=0.10.0'} 1605 | dependencies: 1606 | path-root-regex: 0.1.2 1607 | dev: true 1608 | 1609 | /path-type/1.1.0: 1610 | resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} 1611 | engines: {node: '>=0.10.0'} 1612 | dependencies: 1613 | graceful-fs: 4.2.10 1614 | pify: 2.3.0 1615 | pinkie-promise: 2.0.1 1616 | dev: true 1617 | 1618 | /pify/2.3.0: 1619 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1620 | engines: {node: '>=0.10.0'} 1621 | dev: true 1622 | 1623 | /pinkie-promise/2.0.1: 1624 | resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} 1625 | engines: {node: '>=0.10.0'} 1626 | dependencies: 1627 | pinkie: 2.0.4 1628 | dev: true 1629 | 1630 | /pinkie/2.0.4: 1631 | resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} 1632 | engines: {node: '>=0.10.0'} 1633 | dev: true 1634 | 1635 | /posix-character-classes/0.1.1: 1636 | resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} 1637 | engines: {node: '>=0.10.0'} 1638 | dev: true 1639 | 1640 | /pretty-hrtime/1.0.3: 1641 | resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} 1642 | engines: {node: '>= 0.8'} 1643 | dev: true 1644 | 1645 | /process-nextick-args/2.0.1: 1646 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 1647 | dev: true 1648 | 1649 | /pump/2.0.1: 1650 | resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} 1651 | dependencies: 1652 | end-of-stream: 1.4.4 1653 | once: 1.4.0 1654 | dev: true 1655 | 1656 | /pump/3.0.0: 1657 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 1658 | dependencies: 1659 | end-of-stream: 1.4.4 1660 | once: 1.4.0 1661 | dev: true 1662 | 1663 | /pumpify/1.5.1: 1664 | resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} 1665 | dependencies: 1666 | duplexify: 3.7.1 1667 | inherits: 2.0.4 1668 | pump: 2.0.1 1669 | dev: true 1670 | 1671 | /read-pkg-up/1.0.1: 1672 | resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} 1673 | engines: {node: '>=0.10.0'} 1674 | dependencies: 1675 | find-up: 1.1.2 1676 | read-pkg: 1.1.0 1677 | dev: true 1678 | 1679 | /read-pkg/1.1.0: 1680 | resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} 1681 | engines: {node: '>=0.10.0'} 1682 | dependencies: 1683 | load-json-file: 1.1.0 1684 | normalize-package-data: 2.5.0 1685 | path-type: 1.1.0 1686 | dev: true 1687 | 1688 | /readable-stream/2.3.7: 1689 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} 1690 | dependencies: 1691 | core-util-is: 1.0.3 1692 | inherits: 2.0.4 1693 | isarray: 1.0.0 1694 | process-nextick-args: 2.0.1 1695 | safe-buffer: 5.1.2 1696 | string_decoder: 1.1.1 1697 | util-deprecate: 1.0.2 1698 | dev: true 1699 | 1700 | /readdirp/2.2.1: 1701 | resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} 1702 | engines: {node: '>=0.10'} 1703 | dependencies: 1704 | graceful-fs: 4.2.10 1705 | micromatch: 3.1.10 1706 | readable-stream: 2.3.7 1707 | transitivePeerDependencies: 1708 | - supports-color 1709 | dev: true 1710 | 1711 | /rechoir/0.6.2: 1712 | resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} 1713 | engines: {node: '>= 0.10'} 1714 | dependencies: 1715 | resolve: 1.22.1 1716 | dev: true 1717 | 1718 | /regex-not/1.0.2: 1719 | resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} 1720 | engines: {node: '>=0.10.0'} 1721 | dependencies: 1722 | extend-shallow: 3.0.2 1723 | safe-regex: 1.1.0 1724 | dev: true 1725 | 1726 | /remove-bom-buffer/3.0.0: 1727 | resolution: {integrity: sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==} 1728 | engines: {node: '>=0.10.0'} 1729 | dependencies: 1730 | is-buffer: 1.1.6 1731 | is-utf8: 0.2.1 1732 | dev: true 1733 | 1734 | /remove-bom-stream/1.2.0: 1735 | resolution: {integrity: sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==} 1736 | engines: {node: '>= 0.10'} 1737 | dependencies: 1738 | remove-bom-buffer: 3.0.0 1739 | safe-buffer: 5.2.1 1740 | through2: 2.0.5 1741 | dev: true 1742 | 1743 | /remove-trailing-separator/1.1.0: 1744 | resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} 1745 | dev: true 1746 | 1747 | /repeat-element/1.1.4: 1748 | resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} 1749 | engines: {node: '>=0.10.0'} 1750 | dev: true 1751 | 1752 | /repeat-string/1.6.1: 1753 | resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} 1754 | engines: {node: '>=0.10'} 1755 | dev: true 1756 | 1757 | /replace-ext/1.0.1: 1758 | resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} 1759 | engines: {node: '>= 0.10'} 1760 | dev: true 1761 | 1762 | /replace-homedir/1.0.0: 1763 | resolution: {integrity: sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==} 1764 | engines: {node: '>= 0.10'} 1765 | dependencies: 1766 | homedir-polyfill: 1.0.3 1767 | is-absolute: 1.0.0 1768 | remove-trailing-separator: 1.1.0 1769 | dev: true 1770 | 1771 | /require-directory/2.1.1: 1772 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1773 | engines: {node: '>=0.10.0'} 1774 | dev: true 1775 | 1776 | /require-main-filename/1.0.1: 1777 | resolution: {integrity: sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==} 1778 | dev: true 1779 | 1780 | /resolve-dir/1.0.1: 1781 | resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} 1782 | engines: {node: '>=0.10.0'} 1783 | dependencies: 1784 | expand-tilde: 2.0.2 1785 | global-modules: 1.0.0 1786 | dev: true 1787 | 1788 | /resolve-options/1.1.0: 1789 | resolution: {integrity: sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==} 1790 | engines: {node: '>= 0.10'} 1791 | dependencies: 1792 | value-or-function: 3.0.0 1793 | dev: true 1794 | 1795 | /resolve-url/0.2.1: 1796 | resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} 1797 | deprecated: https://github.com/lydell/resolve-url#deprecated 1798 | dev: true 1799 | 1800 | /resolve/1.22.1: 1801 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1802 | hasBin: true 1803 | dependencies: 1804 | is-core-module: 2.9.0 1805 | path-parse: 1.0.7 1806 | supports-preserve-symlinks-flag: 1.0.0 1807 | dev: true 1808 | 1809 | /ret/0.1.15: 1810 | resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} 1811 | engines: {node: '>=0.12'} 1812 | dev: true 1813 | 1814 | /safe-buffer/5.1.2: 1815 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 1816 | dev: true 1817 | 1818 | /safe-buffer/5.2.1: 1819 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1820 | dev: true 1821 | 1822 | /safe-regex/1.1.0: 1823 | resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} 1824 | dependencies: 1825 | ret: 0.1.15 1826 | dev: true 1827 | 1828 | /semver-greatest-satisfied-range/1.1.0: 1829 | resolution: {integrity: sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==} 1830 | engines: {node: '>= 0.10'} 1831 | dependencies: 1832 | sver-compat: 1.5.0 1833 | dev: true 1834 | 1835 | /semver/5.7.1: 1836 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 1837 | hasBin: true 1838 | dev: true 1839 | 1840 | /set-blocking/2.0.0: 1841 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 1842 | dev: true 1843 | 1844 | /set-value/2.0.1: 1845 | resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} 1846 | engines: {node: '>=0.10.0'} 1847 | dependencies: 1848 | extend-shallow: 2.0.1 1849 | is-extendable: 0.1.1 1850 | is-plain-object: 2.0.4 1851 | split-string: 3.1.0 1852 | dev: true 1853 | 1854 | /snapdragon-node/2.1.1: 1855 | resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} 1856 | engines: {node: '>=0.10.0'} 1857 | dependencies: 1858 | define-property: 1.0.0 1859 | isobject: 3.0.1 1860 | snapdragon-util: 3.0.1 1861 | dev: true 1862 | 1863 | /snapdragon-util/3.0.1: 1864 | resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} 1865 | engines: {node: '>=0.10.0'} 1866 | dependencies: 1867 | kind-of: 3.2.2 1868 | dev: true 1869 | 1870 | /snapdragon/0.8.2: 1871 | resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} 1872 | engines: {node: '>=0.10.0'} 1873 | dependencies: 1874 | base: 0.11.2 1875 | debug: 2.6.9 1876 | define-property: 0.2.5 1877 | extend-shallow: 2.0.1 1878 | map-cache: 0.2.2 1879 | source-map: 0.5.7 1880 | source-map-resolve: 0.5.3 1881 | use: 3.1.1 1882 | transitivePeerDependencies: 1883 | - supports-color 1884 | dev: true 1885 | 1886 | /source-map-resolve/0.5.3: 1887 | resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} 1888 | deprecated: See https://github.com/lydell/source-map-resolve#deprecated 1889 | dependencies: 1890 | atob: 2.1.2 1891 | decode-uri-component: 0.2.0 1892 | resolve-url: 0.2.1 1893 | source-map-url: 0.4.1 1894 | urix: 0.1.0 1895 | dev: true 1896 | 1897 | /source-map-url/0.4.1: 1898 | resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} 1899 | deprecated: See https://github.com/lydell/source-map-url#deprecated 1900 | dev: true 1901 | 1902 | /source-map/0.5.7: 1903 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} 1904 | engines: {node: '>=0.10.0'} 1905 | dev: true 1906 | 1907 | /source-map/0.6.1: 1908 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1909 | engines: {node: '>=0.10.0'} 1910 | dev: true 1911 | 1912 | /sparkles/1.0.1: 1913 | resolution: {integrity: sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==} 1914 | engines: {node: '>= 0.10'} 1915 | dev: true 1916 | 1917 | /spdx-correct/3.1.1: 1918 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 1919 | dependencies: 1920 | spdx-expression-parse: 3.0.1 1921 | spdx-license-ids: 3.0.11 1922 | dev: true 1923 | 1924 | /spdx-exceptions/2.3.0: 1925 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 1926 | dev: true 1927 | 1928 | /spdx-expression-parse/3.0.1: 1929 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1930 | dependencies: 1931 | spdx-exceptions: 2.3.0 1932 | spdx-license-ids: 3.0.11 1933 | dev: true 1934 | 1935 | /spdx-license-ids/3.0.11: 1936 | resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} 1937 | dev: true 1938 | 1939 | /split-string/3.1.0: 1940 | resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} 1941 | engines: {node: '>=0.10.0'} 1942 | dependencies: 1943 | extend-shallow: 3.0.2 1944 | dev: true 1945 | 1946 | /stack-trace/0.0.10: 1947 | resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} 1948 | dev: true 1949 | 1950 | /static-extend/0.1.2: 1951 | resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} 1952 | engines: {node: '>=0.10.0'} 1953 | dependencies: 1954 | define-property: 0.2.5 1955 | object-copy: 0.1.0 1956 | dev: true 1957 | 1958 | /stream-exhaust/1.0.2: 1959 | resolution: {integrity: sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==} 1960 | dev: true 1961 | 1962 | /stream-shift/1.0.1: 1963 | resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} 1964 | dev: true 1965 | 1966 | /string-width/1.0.2: 1967 | resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} 1968 | engines: {node: '>=0.10.0'} 1969 | dependencies: 1970 | code-point-at: 1.1.0 1971 | is-fullwidth-code-point: 1.0.0 1972 | strip-ansi: 3.0.1 1973 | dev: true 1974 | 1975 | /string_decoder/1.1.1: 1976 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 1977 | dependencies: 1978 | safe-buffer: 5.1.2 1979 | dev: true 1980 | 1981 | /strip-ansi/3.0.1: 1982 | resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} 1983 | engines: {node: '>=0.10.0'} 1984 | dependencies: 1985 | ansi-regex: 2.1.1 1986 | dev: true 1987 | 1988 | /strip-bom/2.0.0: 1989 | resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} 1990 | engines: {node: '>=0.10.0'} 1991 | dependencies: 1992 | is-utf8: 0.2.1 1993 | dev: true 1994 | 1995 | /supports-preserve-symlinks-flag/1.0.0: 1996 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1997 | engines: {node: '>= 0.4'} 1998 | dev: true 1999 | 2000 | /sver-compat/1.5.0: 2001 | resolution: {integrity: sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==} 2002 | dependencies: 2003 | es6-iterator: 2.0.3 2004 | es6-symbol: 3.1.3 2005 | dev: true 2006 | 2007 | /through2-filter/3.0.0: 2008 | resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==} 2009 | dependencies: 2010 | through2: 2.0.5 2011 | xtend: 4.0.2 2012 | dev: true 2013 | 2014 | /through2/2.0.5: 2015 | resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} 2016 | dependencies: 2017 | readable-stream: 2.3.7 2018 | xtend: 4.0.2 2019 | dev: true 2020 | 2021 | /time-stamp/1.1.0: 2022 | resolution: {integrity: sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==} 2023 | engines: {node: '>=0.10.0'} 2024 | dev: true 2025 | 2026 | /to-absolute-glob/2.0.2: 2027 | resolution: {integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==} 2028 | engines: {node: '>=0.10.0'} 2029 | dependencies: 2030 | is-absolute: 1.0.0 2031 | is-negated-glob: 1.0.0 2032 | dev: true 2033 | 2034 | /to-object-path/0.3.0: 2035 | resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} 2036 | engines: {node: '>=0.10.0'} 2037 | dependencies: 2038 | kind-of: 3.2.2 2039 | dev: true 2040 | 2041 | /to-regex-range/2.1.1: 2042 | resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} 2043 | engines: {node: '>=0.10.0'} 2044 | dependencies: 2045 | is-number: 3.0.0 2046 | repeat-string: 1.6.1 2047 | dev: true 2048 | 2049 | /to-regex/3.0.2: 2050 | resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} 2051 | engines: {node: '>=0.10.0'} 2052 | dependencies: 2053 | define-property: 2.0.2 2054 | extend-shallow: 3.0.2 2055 | regex-not: 1.0.2 2056 | safe-regex: 1.1.0 2057 | dev: true 2058 | 2059 | /to-through/2.0.0: 2060 | resolution: {integrity: sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==} 2061 | engines: {node: '>= 0.10'} 2062 | dependencies: 2063 | through2: 2.0.5 2064 | dev: true 2065 | 2066 | /type/1.2.0: 2067 | resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} 2068 | dev: true 2069 | 2070 | /type/2.6.0: 2071 | resolution: {integrity: sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==} 2072 | dev: true 2073 | 2074 | /typedarray/0.0.6: 2075 | resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} 2076 | dev: true 2077 | 2078 | /uglify-js/3.16.2: 2079 | resolution: {integrity: sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==} 2080 | engines: {node: '>=0.8.0'} 2081 | hasBin: true 2082 | dev: true 2083 | 2084 | /unc-path-regex/0.1.2: 2085 | resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} 2086 | engines: {node: '>=0.10.0'} 2087 | dev: true 2088 | 2089 | /undertaker-registry/1.0.1: 2090 | resolution: {integrity: sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==} 2091 | engines: {node: '>= 0.10'} 2092 | dev: true 2093 | 2094 | /undertaker/1.3.0: 2095 | resolution: {integrity: sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==} 2096 | engines: {node: '>= 0.10'} 2097 | dependencies: 2098 | arr-flatten: 1.1.0 2099 | arr-map: 2.0.2 2100 | bach: 1.2.0 2101 | collection-map: 1.0.0 2102 | es6-weak-map: 2.0.3 2103 | fast-levenshtein: 1.1.4 2104 | last-run: 1.1.1 2105 | object.defaults: 1.1.0 2106 | object.reduce: 1.0.1 2107 | undertaker-registry: 1.0.1 2108 | dev: true 2109 | 2110 | /union-value/1.0.1: 2111 | resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} 2112 | engines: {node: '>=0.10.0'} 2113 | dependencies: 2114 | arr-union: 3.1.0 2115 | get-value: 2.0.6 2116 | is-extendable: 0.1.1 2117 | set-value: 2.0.1 2118 | dev: true 2119 | 2120 | /unique-stream/2.3.1: 2121 | resolution: {integrity: sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==} 2122 | dependencies: 2123 | json-stable-stringify-without-jsonify: 1.0.1 2124 | through2-filter: 3.0.0 2125 | dev: true 2126 | 2127 | /unset-value/1.0.0: 2128 | resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} 2129 | engines: {node: '>=0.10.0'} 2130 | dependencies: 2131 | has-value: 0.3.1 2132 | isobject: 3.0.1 2133 | dev: true 2134 | 2135 | /upath/1.2.0: 2136 | resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} 2137 | engines: {node: '>=4'} 2138 | dev: true 2139 | 2140 | /urix/0.1.0: 2141 | resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} 2142 | deprecated: Please see https://github.com/lydell/urix#deprecated 2143 | dev: true 2144 | 2145 | /use/3.1.1: 2146 | resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} 2147 | engines: {node: '>=0.10.0'} 2148 | dev: true 2149 | 2150 | /util-deprecate/1.0.2: 2151 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2152 | dev: true 2153 | 2154 | /v8flags/3.2.0: 2155 | resolution: {integrity: sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==} 2156 | engines: {node: '>= 0.10'} 2157 | dependencies: 2158 | homedir-polyfill: 1.0.3 2159 | dev: true 2160 | 2161 | /validate-npm-package-license/3.0.4: 2162 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2163 | dependencies: 2164 | spdx-correct: 3.1.1 2165 | spdx-expression-parse: 3.0.1 2166 | dev: true 2167 | 2168 | /value-or-function/3.0.0: 2169 | resolution: {integrity: sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==} 2170 | engines: {node: '>= 0.10'} 2171 | dev: true 2172 | 2173 | /vinyl-fs/3.0.3: 2174 | resolution: {integrity: sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==} 2175 | engines: {node: '>= 0.10'} 2176 | dependencies: 2177 | fs-mkdirp-stream: 1.0.0 2178 | glob-stream: 6.1.0 2179 | graceful-fs: 4.2.10 2180 | is-valid-glob: 1.0.0 2181 | lazystream: 1.0.1 2182 | lead: 1.0.0 2183 | object.assign: 4.1.2 2184 | pumpify: 1.5.1 2185 | readable-stream: 2.3.7 2186 | remove-bom-buffer: 3.0.0 2187 | remove-bom-stream: 1.2.0 2188 | resolve-options: 1.1.0 2189 | through2: 2.0.5 2190 | to-through: 2.0.0 2191 | value-or-function: 3.0.0 2192 | vinyl: 2.2.1 2193 | vinyl-sourcemap: 1.1.0 2194 | dev: true 2195 | 2196 | /vinyl-sourcemap/1.1.0: 2197 | resolution: {integrity: sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==} 2198 | engines: {node: '>= 0.10'} 2199 | dependencies: 2200 | append-buffer: 1.0.2 2201 | convert-source-map: 1.8.0 2202 | graceful-fs: 4.2.10 2203 | normalize-path: 2.1.1 2204 | now-and-later: 2.0.1 2205 | remove-bom-buffer: 3.0.0 2206 | vinyl: 2.2.1 2207 | dev: true 2208 | 2209 | /vinyl-sourcemaps-apply/0.2.1: 2210 | resolution: {integrity: sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==} 2211 | dependencies: 2212 | source-map: 0.5.7 2213 | dev: true 2214 | 2215 | /vinyl/2.2.1: 2216 | resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} 2217 | engines: {node: '>= 0.10'} 2218 | dependencies: 2219 | clone: 2.1.2 2220 | clone-buffer: 1.0.0 2221 | clone-stats: 1.0.0 2222 | cloneable-readable: 1.1.3 2223 | remove-trailing-separator: 1.1.0 2224 | replace-ext: 1.0.1 2225 | dev: true 2226 | 2227 | /which-module/1.0.0: 2228 | resolution: {integrity: sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==} 2229 | dev: true 2230 | 2231 | /which/1.3.1: 2232 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2233 | hasBin: true 2234 | dependencies: 2235 | isexe: 2.0.0 2236 | dev: true 2237 | 2238 | /wrap-ansi/2.1.0: 2239 | resolution: {integrity: sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==} 2240 | engines: {node: '>=0.10.0'} 2241 | dependencies: 2242 | string-width: 1.0.2 2243 | strip-ansi: 3.0.1 2244 | dev: true 2245 | 2246 | /wrappy/1.0.2: 2247 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2248 | dev: true 2249 | 2250 | /xtend/4.0.2: 2251 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2252 | engines: {node: '>=0.4'} 2253 | dev: true 2254 | 2255 | /y18n/3.2.2: 2256 | resolution: {integrity: sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==} 2257 | dev: true 2258 | 2259 | /yargs-parser/5.0.1: 2260 | resolution: {integrity: sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==} 2261 | dependencies: 2262 | camelcase: 3.0.0 2263 | object.assign: 4.1.2 2264 | dev: true 2265 | 2266 | /yargs/7.1.2: 2267 | resolution: {integrity: sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==} 2268 | dependencies: 2269 | camelcase: 3.0.0 2270 | cliui: 3.2.0 2271 | decamelize: 1.2.0 2272 | get-caller-file: 1.0.3 2273 | os-locale: 1.4.0 2274 | read-pkg-up: 1.0.1 2275 | require-directory: 2.1.1 2276 | require-main-filename: 1.0.1 2277 | set-blocking: 2.0.0 2278 | string-width: 1.0.2 2279 | which-module: 1.0.0 2280 | y18n: 3.2.2 2281 | yargs-parser: 5.0.1 2282 | dev: true 2283 | -------------------------------------------------------------------------------- /script-exemple.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eliepse/AEScript-Explode-Shape-Layer/b9d63ad11cfce3b8f5a980616c3348bd4969fabe/script-exemple.gif -------------------------------------------------------------------------------- /src/config.dev.jsx: -------------------------------------------------------------------------------- 1 | var configs = { 2 | title: 'Explode layer tool', 3 | debug : true, 4 | log : true, 5 | itemAmountWarning : 50, 6 | dryRun : false, 7 | }; 8 | -------------------------------------------------------------------------------- /src/config.jsx: -------------------------------------------------------------------------------- 1 | var configs = { 2 | title: 'Explode layer tool', 3 | debug : false, 4 | log : false, 5 | itemAmountWarning : 50, 6 | dryRun : false, 7 | }; 8 | -------------------------------------------------------------------------------- /src/explode_shape_layer.jsx: -------------------------------------------------------------------------------- 1 | /* 2 | * @requires utils.jsx 3 | * @requires progressBar.jsx 4 | */ 5 | 6 | function explodeLayer(layer) { 7 | 8 | cLog('Exploding layer : ' + layer.name); 9 | 10 | // Get the elements of the original shape layer 11 | var contents = layer.property("Contents"); 12 | var layers = []; 13 | 14 | if(contents.numProperties > configs.itemAmountWarning) { 15 | 16 | var go = confirm( 17 | 'You have more than ' + configs.itemAmountWarning + ' elements. ' 18 | + 'Execution time might be long, are you sure you want to continue ?' 19 | ); 20 | 21 | if(!go) return; 22 | 23 | } 24 | 25 | var pb = new ProgressBar(1, contents.numProperties, 1); 26 | pb.start(); 27 | 28 | try { 29 | // Browse through contents array 30 | for(var i = contents.numProperties; i > 0; i--) { 31 | 32 | // Get the original property 33 | var _prop = contents.property(i); 34 | pb.update(contents.numProperties - i) 35 | 36 | // Skip the property if not enabled 37 | if (!_prop.enabled) continue; 38 | 39 | // Duplicate the original layer and rename with property name 40 | var new_layer = emptyDuplicateLayer(layer) 41 | 42 | new_layer.name = layer.name + ' - ' + _prop.name; 43 | new_layer.enabled = false; 44 | new_layer.shy = true; 45 | 46 | layers.push(new_layer); 47 | 48 | if (!new_layer.property("Contents").canAddProperty(_prop.matchName)) continue; 49 | 50 | var prop = new_layer.property("Contents").addProperty(_prop.matchName) 51 | 52 | copyProperties(_prop, prop, 0) 53 | 54 | } 55 | } catch(e) { 56 | cLog("An error occured: " + e.message); 57 | pb.end(); 58 | } 59 | 60 | 61 | pb.end(); 62 | 63 | for(var i = 0; i < layers.length; i++) { 64 | layers[i].enabled = true; 65 | layers[i].shy = false; 66 | if(configs.dryRun) layers[i].remove(); 67 | } 68 | 69 | return layers; 70 | 71 | } 72 | 73 | function explode() { 74 | 75 | // Check if multiple layers selected 76 | if(app.project.activeItem.selectedLayers.length > 1) { 77 | alert("Select a single shape layer"); 78 | return; 79 | } 80 | 81 | var selectedLayer = app.project.activeItem.selectedLayers[0]; 82 | 83 | // Check if the layer is null or wrong type 84 | if(selectedLayer == undefined || selectedLayer.matchName !== 'ADBE Vector Layer') { 85 | alert("Select a shape layer"); 86 | return; 87 | } 88 | 89 | cLog('==================') 90 | 91 | cLog('Configs :') 92 | for(config in configs) { 93 | if(configs.hasOwnProperty(config)) 94 | cLog(' ' + config + ' : ' + configs[config]) 95 | } 96 | 97 | cLog('') 98 | 99 | var execTime = new ExecutionTime(); 100 | execTime.start(); 101 | 102 | var hideShyLayers_originalState = selectedLayer.containingComp.hideShyLayers; 103 | selectedLayer.containingComp.hideShyLayers = true; 104 | 105 | var layers = explodeLayer(selectedLayer); 106 | 107 | selectedLayer.moveToBeginning() 108 | selectedLayer.containingComp.hideShyLayers = hideShyLayers_originalState; 109 | 110 | execTime.stop(); 111 | cLog(execTime.time()); 112 | 113 | } 114 | 115 | function emptyDuplicateLayer(layer) { 116 | var new_layer = layer.containingComp.layers.addShape(); 117 | 118 | new_layer['anchorPoint'].setValue( layer['anchorPoint'].value ); 119 | new_layer['position'].setValue( layer['position'].value ); 120 | new_layer['scale'].setValue( layer['scale'].value ); 121 | new_layer['rotation'].setValue( layer['rotation'].value ); 122 | new_layer['opacity'].setValue( layer['opacity'].value ); 123 | 124 | return new_layer; 125 | } 126 | 127 | var treeChildPrefix = "⌞ "; 128 | var propertiesBlacklist = [ 129 | 'ADBE Vector Taper StartWidthPx', 130 | 'ADBE Vector Taper EndWidthPx', 131 | 'ADBE Vector Taper Wave Cycles', 132 | 'ADBE Vector Stroke Dashes', 133 | 'ADBE Vector Materials Group', 134 | ]; 135 | 136 | /** 137 | * Copy properties of a layer to another (recursive). 138 | * 139 | * @param {Object} origin 140 | * @param {Object} target 141 | * @param {Number} level 142 | */ 143 | function copyProperties(origin, target, level) { 144 | var indent = repeatStr(" ", level); 145 | 146 | // if(level === 0) { 147 | cDebug(indent + origin.name); 148 | // } 149 | 150 | // Process (copy) each property of the origin to the target 151 | for(var i=1; i <= origin.numProperties; i++) { 152 | var originalProp = origin.property(i); 153 | var matchName = originalProp.matchName; 154 | 155 | // Do not copy disabled properties 156 | if(!originalProp.enabled) { 157 | cDebug(indent + treeChildPrefix + matchName + " (skipped: disabled)"); 158 | continue; 159 | }; 160 | 161 | 162 | // Get or create the target property 163 | var targetProp = target.property(matchName); 164 | 165 | if(!targetProp) { 166 | targetProp = target.addProperty(matchName); 167 | } 168 | 169 | // Still no property ? Then the property is probably not supported 170 | if(!targetProp) { 171 | cDebug(indent + treeChildPrefix + matchName + " (skipped: cannot be added)"); 172 | continue; 173 | } 174 | 175 | // Skip properties that cannot be set without being displayed 176 | if(arrayIncludes(propertiesBlacklist, matchName)) { 177 | cDebug(indent + "⚬ " + matchName + " (skipped: not editable when hidden)"); 178 | continue; 179 | } 180 | 181 | // Handle property 182 | if(typeof originalProp.setValue === "function") { 183 | cDebug(indent + treeChildPrefix + matchName); 184 | targetProp.setValue(originalProp.value); 185 | continue; 186 | } 187 | 188 | // Handle property groups/layers 189 | if(originalProp.numProperties > 0) { 190 | cDebug(indent + treeChildPrefix + matchName); 191 | copyProperties(originalProp, targetProp, level + 1); 192 | continue; 193 | } 194 | 195 | cDebug(indent + "⦵ " + matchName + " (skipped: no reason)"); 196 | } 197 | } 198 | 199 | /** 200 | * Check if an element (the needle) is present in a given array. 201 | * 202 | * @param {Array} arr 203 | * @param {*} needle 204 | * @returns Boolean 205 | */ 206 | function arrayIncludes(arr, needle) { 207 | for(var i=arr.length - 1; i>=0; i--){ 208 | if(arr[i] === needle) { 209 | return true; 210 | } 211 | } 212 | 213 | return false; 214 | } 215 | 216 | /** 217 | * Repeat a string a given times into a single string output. 218 | * 219 | * @param {String} str 220 | * @param {Number} amount 221 | * @returns String 222 | */ 223 | function repeatStr(str, amount) { 224 | var rtn = ""; 225 | for(var i=0; i