From e2493664edf66cb4fc2992a75526f80256b45f1e Mon Sep 17 00:00:00 2001 From: jfh Date: Sat, 3 Oct 2020 19:04:20 +0200 Subject: [PATCH 1/6] initial commit --- .../ext-server_opensave/ext-php_savefile.js | 3 +- .../ext-server_opensave.js | 11 +++---- src/editor/index.js | 4 +-- src/editor/svgedit.js | 31 ++++++++++++++++--- 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/src/editor/extensions/ext-server_opensave/ext-php_savefile.js b/src/editor/extensions/ext-server_opensave/ext-php_savefile.js index a66d747d..05110be1 100644 --- a/src/editor/extensions/ext-server_opensave/ext-php_savefile.js +++ b/src/editor/extensions/ext-server_opensave/ext-php_savefile.js @@ -6,7 +6,6 @@ export default { init ({$}) { const svgEditor = this; const { - curConfig: {extPath}, canvas: svgCanvas } = svgEditor; /** @@ -17,7 +16,7 @@ export default { const title = svgCanvas.getDocumentTitle(); return title.trim(); } - const saveSvgAction = extPath + 'savefile.php'; + const saveSvgAction = './savefile.php'; svgEditor.setCustomHandlers({ save (win, data) { const svg = '\n' + data, diff --git a/src/editor/extensions/ext-server_opensave/ext-server_opensave.js b/src/editor/extensions/ext-server_opensave/ext-server_opensave.js index ff58e4c3..d30eee6e 100644 --- a/src/editor/extensions/ext-server_opensave/ext-server_opensave.js +++ b/src/editor/extensions/ext-server_opensave/ext-server_opensave.js @@ -27,7 +27,6 @@ export default { const strings = await loadExtensionTranslation(svgEditor.curPrefs.lang); const { curConfig: { - extPath, avoidClientSide, // Deprecated avoidClientSideDownload, avoidClientSideOpen }, @@ -76,8 +75,8 @@ export default { return false; } const - saveSvgAction = extPath + 'filesave.php', - saveImgAction = extPath + 'filesave.php'; + saveSvgAction = './filesave.php', + saveImgAction = './filesave.php'; // Create upload target (hidden iframe) let cancelled = false; @@ -174,9 +173,9 @@ export default { if (window.FileReader && !avoidClientSideOpen) { return; } // Change these to appropriate script file - const openSvgAction = extPath + 'fileopen.php?type=load_svg'; - const importSvgAction = extPath + 'fileopen.php?type=import_svg'; - const importImgAction = extPath + 'fileopen.php?type=import_img'; + const openSvgAction = './fileopen.php?type=load_svg'; + const importSvgAction = './fileopen.php?type=import_svg'; + const importImgAction = './fileopen.php?type=import_img'; // Set up function for PHP uploader to use svgEditor.processFile = function (str64, type) { diff --git a/src/editor/index.js b/src/editor/index.js index b46e7b70..44e85ad3 100644 --- a/src/editor/index.js +++ b/src/editor/index.js @@ -35,7 +35,8 @@ svgEditor.setConfig( // EXTENSION CONFIG svgEditor.setConfig({ extensions: [], - noDefaultExtensions: false + noDefaultExtensions: false, + userExtensions: [] }); // OTHER CONFIG @@ -60,7 +61,6 @@ svgEditor.setConfig({ // no_save_warning: false, // PATH CONFIGURATION // imgPath: 'images/', - // extPath: 'extensions/', /* Uncomment the following to allow at least same domain (embedded) access, including `file:///` access. diff --git a/src/editor/svgedit.js b/src/editor/svgedit.js index e19bdf18..c3c0762a 100644 --- a/src/editor/svgedit.js +++ b/src/editor/svgedit.js @@ -157,7 +157,6 @@ const callbacks = [], * @property {string} [canvasName="default"] Used to namespace storage provided via `ext-storage.js`; you can use this if you wish to have multiple independent instances of SVG Edit on the same domain * @property {boolean} [no_save_warning=false] If `true`, prevents the warning dialog box from appearing when closing/reloading the page. Mostly useful for testing. * @property {string} [imgPath="images/"] The path where the SVG icons are located, with trailing slash. Note that as of version 2.7, this is not configurable by URL for security reasons. - * @property {string} [extPath="extensions/"] The path used for extension files, with trailing slash. Note that as of version 2.7, this is not configurable by URL for security reasons. * @property {boolean} [preventAllURLConfig=false] Set to `true` to override the ability for URLs to set non-content configuration (including extension config). Must be set early, i.e., in `svgedit-config-iife.js`; extension loading is too late! * @property {boolean} [preventURLContentLoading=false] Set to `true` to override the ability for URLs to set URL-based SVG content. Must be set early, i.e., in `svgedit-config-iife.js`; extension loading is too late! * @property {boolean} [lockExtensions=false] Set to `true` to override the ability for URLs to set their own extensions; disallowed in URL setting. There is no need for this when `preventAllURLConfig` is used. Must be set early, i.e., in `svgedit-config-iife.js`; extension loading is too late! @@ -231,7 +230,6 @@ const callbacks = [], no_save_warning: false, // PATH CONFIGURATION // The following path configuration items are disallowed in the URL (as should any future path configurations) - extPath: './extensions/', imgPath: './images/', // DOCUMENT PROPERTIES // Change the following to a preference (already in the Document Properties dialog)? @@ -693,7 +691,7 @@ editor.init = function () { // security reasons, even for same-domain // ones given potential to interact in undesirable // ways with other script resources - ['extPath', 'imgPath'] + ['userExtensions', 'imgPath'] .forEach(function (pathConfig) { if (urldata[pathConfig]) { delete urldata[pathConfig]; @@ -771,6 +769,7 @@ editor.init = function () { setIcons(); // Wait for dbox as needed for i18n try { + // load standard extensions await Promise.all( curConfig.extensions.map(async (extname) => { /** @@ -783,8 +782,7 @@ editor.init = function () { /** * @type {module:SVGEditor.ExtensionObject} */ - const url = `${curConfig.extPath}${extname}/${extname}.js`; - const imported = await import(url); + const imported = await import(`./extensions/${extname}/${extname}.js`); const {name = extname, init} = imported.default; return editor.addExtension(name, (init && init.bind(editor)), {$, langParam}); } catch (err) { @@ -794,6 +792,29 @@ editor.init = function () { } }) ); + // load user extensions (given as pathNames) + await Promise.all( + curConfig.userExtensions.map(async (extPathName) => { + /** + * @tutorial ExtensionDocs + * @typedef {PlainObject} module:SVGEditor.ExtensionObject + * @property {string} [name] Name of the extension. Used internally; no need for i18n. Defaults to extension name without beginning "ext-" or ending ".js". + * @property {module:svgcanvas.ExtensionInitCallback} [init] + */ + try { + /** + * @type {module:SVGEditor.ExtensionObject} + */ + const imported = await import(extPathName); + const {name, init} = imported.default; + return editor.addExtension(name, (init && init.bind(editor)), {$, langParam}); + } catch (err) { + // Todo: Add config to alert any errors + console.error('Extension failed to load: ' + extPathName + '; ', err); // eslint-disable-line no-console + return undefined; + } + }) + ); svgCanvas.bind( 'extensions_added', /** From cfbb5a5ec82c2bc5547f2045c1968468cf358251 Mon Sep 17 00:00:00 2001 From: jfh Date: Sun, 4 Oct 2020 23:07:31 +0200 Subject: [PATCH 2/6] npm update + fix linked to this update found an issue with eslint when empty comments were used. --- .eslintrc.js | 3 +- cypress/integration/unit/contextmenu.js | 6 +- cypress/integration/unit/draw.js | 66 +-- cypress/integration/unit/history.js | 56 +- cypress/integration/unit/math.js | 6 +- cypress/integration/unit/recalculate.js | 2 +- cypress/integration/unit/select.js | 8 +- cypress/integration/unit/svgtransformlist.js | 12 +- cypress/integration/unit/units.js | 6 +- cypress/integration/unit/utilities.js | 4 +- package-lock.json | 584 ++++++++++++++++--- package.json | 20 +- src/editor/embedapi.js | 2 +- src/editor/jgraduate/jQuery.jGraduate.js | 4 +- src/svgcanvas/svgcanvas.js | 8 +- 15 files changed, 594 insertions(+), 193 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 22f2dbbb..e465ca6b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -123,7 +123,8 @@ module.exports = { 'import/no-anonymous-default-export': 'off', 'node/no-unsupported-features/node-builtins': 'warn', 'prefer-exponentiation-operator': 'warn', - 'node/no-unsupported-features/es-syntax': 'off' + 'node/no-unsupported-features/es-syntax': 'off', + 'no-unsanitized/method': 'off' }, overrides: [ // Locales have no need for importing outside of SVG-Edit diff --git a/cypress/integration/unit/contextmenu.js b/cypress/integration/unit/contextmenu.js index 575cbc00..ef3fce6d 100644 --- a/cypress/integration/unit/contextmenu.js +++ b/cypress/integration/unit/contextmenu.js @@ -38,7 +38,7 @@ describe('contextmenu', function () { }); it('Test svgedit.contextmenu adds valid menu item', function () { - const validItem = {id: 'valid', label: 'anicelabel', action () { /* */ }}; + const validItem = {id: 'valid', label: 'anicelabel', action () { /* empty fn */ }}; contextmenu.add(validItem); assert.ok(contextmenu.hasCustomHandler('valid'), 'Valid menu item is added.'); @@ -46,8 +46,8 @@ describe('contextmenu', function () { }); it('Test svgedit.contextmenu rejects valid duplicate menu item id', function () { - const validItem1 = {id: 'valid', label: 'anicelabel', action () { /**/ }}; - const validItem2 = {id: 'valid', label: 'anicelabel', action () { /**/ }}; + const validItem1 = {id: 'valid', label: 'anicelabel', action () { /* empty fn */ }}; + const validItem2 = {id: 'valid', label: 'anicelabel', action () { /* empty fn */ }}; contextmenu.add(validItem1); assert.throws( diff --git a/cypress/integration/unit/draw.js b/cypress/integration/unit/draw.js index 750491a2..1ec90543 100644 --- a/cypress/integration/unit/draw.js +++ b/cypress/integration/unit/draw.js @@ -44,7 +44,7 @@ describe('draw.Drawing', function () { const getCurrentDrawing = function () { return currentDrawing_; }; - const setCurrentGroup = (cg) => { /* */ }; + const setCurrentGroup = (cg) => { /* empty fn */ }; draw.init( /** * @implements {module:draw.DrawCanvasInit} @@ -149,7 +149,7 @@ describe('draw.Drawing', function () { assert.equal(typeof draw, typeof {}); assert.ok(draw.Drawing); - assert.equal(typeof draw.Drawing, typeof function () { /* */ }); + assert.equal(typeof draw.Drawing, typeof function () { /* empty fn */ }); }); it('Test document creation', function () { @@ -288,7 +288,7 @@ describe('draw.Drawing', function () { it('Test getNumLayers', function () { const drawing = new draw.Drawing(svg); - assert.equal(typeof drawing.getNumLayers, typeof function () { /* */ }); + assert.equal(typeof drawing.getNumLayers, typeof function () { /* empty fn */ }); assert.equal(drawing.getNumLayers(), 0); setupSVGWith3Layers(svg); @@ -304,7 +304,7 @@ describe('draw.Drawing', function () { const drawing = new draw.Drawing(svg); drawing.identifyLayers(); - assert.equal(typeof drawing.hasLayer, typeof function () { /* */ }); + assert.equal(typeof drawing.hasLayer, typeof function () { /* empty fn */ }); assert.ok(!drawing.hasLayer('invalid-layer')); assert.ok(drawing.hasLayer(LAYER3)); @@ -412,7 +412,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.getCurrentLayer); - assert.equal(typeof drawing.getCurrentLayer, typeof function () { /* */ }); + assert.equal(typeof drawing.getCurrentLayer, typeof function () { /* empty fn */ }); assert.ok(drawing.getCurrentLayer()); assert.equal(drawing.getCurrentLayer(), drawing.all_layers[2].getGroup()); @@ -425,7 +425,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.setCurrentLayer); - assert.equal(typeof drawing.setCurrentLayer, typeof function () { /* */ }); + assert.equal(typeof drawing.setCurrentLayer, typeof function () { /* empty fn */ }); drawing.setCurrentLayer(LAYER2); assert.equal(drawing.getCurrentLayerName(), LAYER2); @@ -451,7 +451,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.setCurrentLayerName); - assert.equal(typeof drawing.setCurrentLayerName, typeof function () { /* */ }); + assert.equal(typeof drawing.setCurrentLayerName, typeof function () { /* empty fn */ }); const oldName = drawing.getCurrentLayerName(); const newName = 'New Name'; @@ -473,9 +473,9 @@ describe('draw.Drawing', function () { it('Test createLayer()', function () { const mockHrService = { - startBatchCommand () { /**/ }, - endBatchCommand () { /**/ }, - insertElement () { /**/ } + startBatchCommand () { /* empty fn */ }, + endBatchCommand () { /* empty fn */ }, + insertElement () { /* empty fn */ } }; addOwnSpies(mockHrService); @@ -484,7 +484,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.createLayer); - assert.equal(typeof drawing.createLayer, typeof function () { /* */ }); + assert.equal(typeof drawing.createLayer, typeof function () { /* empty fn */ }); const NEW_LAYER_NAME = 'Layer A'; const layerG = drawing.createLayer(NEW_LAYER_NAME, mockHrService); @@ -503,10 +503,10 @@ describe('draw.Drawing', function () { it('Test mergeLayer()', function () { const mockHrService = { - startBatchCommand () { /**/ }, - endBatchCommand () { /**/ }, - moveElement () { /**/ }, - removeElement () { /**/ } + startBatchCommand () { /* empty fn */ }, + endBatchCommand () { /* empty fn */ }, + moveElement () { /* empty fn */ }, + removeElement () { /* empty fn */ } }; addOwnSpies(mockHrService); @@ -519,7 +519,7 @@ describe('draw.Drawing', function () { assert.equal(drawing.getCurrentLayer(), layers[2]); assert.ok(drawing.mergeLayer); - assert.equal(typeof drawing.mergeLayer, typeof function () { /* */ }); + assert.equal(typeof drawing.mergeLayer, typeof function () { /* empty fn */ }); drawing.mergeLayer(mockHrService); @@ -540,10 +540,10 @@ describe('draw.Drawing', function () { it('Test mergeLayer() when no previous layer to merge', function () { const mockHrService = { - startBatchCommand () { /**/ }, - endBatchCommand () { /**/ }, - moveElement () { /**/ }, - removeElement () { /**/ } + startBatchCommand () { /* empty fn */ }, + endBatchCommand () { /* empty fn */ }, + moveElement () { /* empty fn */ }, + removeElement () { /* empty fn */ } }; addOwnSpies(mockHrService); @@ -573,10 +573,10 @@ describe('draw.Drawing', function () { it('Test mergeAllLayers()', function () { const mockHrService = { - startBatchCommand () { /**/ }, - endBatchCommand () { /**/ }, - moveElement () { /**/ }, - removeElement () { /**/ } + startBatchCommand () { /* empty fn */ }, + endBatchCommand () { /* empty fn */ }, + moveElement () { /* empty fn */ }, + removeElement () { /* empty fn */ } }; addOwnSpies(mockHrService); @@ -591,7 +591,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.mergeAllLayers); - assert.equal(typeof drawing.mergeAllLayers, typeof function () { /* */ }); + assert.equal(typeof drawing.mergeAllLayers, typeof function () { /* empty fn */ }); drawing.mergeAllLayers(mockHrService); @@ -616,9 +616,9 @@ describe('draw.Drawing', function () { it('Test cloneLayer()', function () { const mockHrService = { - startBatchCommand () { /**/ }, - endBatchCommand () { /**/ }, - insertElement () { /**/ } + startBatchCommand () { /* empty fn */ }, + endBatchCommand () { /* empty fn */ }, + insertElement () { /* empty fn */ } }; addOwnSpies(mockHrService); @@ -630,7 +630,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.cloneLayer); - assert.equal(typeof drawing.cloneLayer, typeof function () { /* */ }); + assert.equal(typeof drawing.cloneLayer, typeof function () { /* empty fn */ }); const clone = drawing.cloneLayer('clone', mockHrService); @@ -670,7 +670,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.getLayerVisibility); - assert.equal(typeof drawing.getLayerVisibility, typeof function () { /* */ }); + assert.equal(typeof drawing.getLayerVisibility, typeof function () { /* empty fn */ }); assert.ok(drawing.getLayerVisibility(LAYER1)); assert.ok(drawing.getLayerVisibility(LAYER2)); assert.ok(drawing.getLayerVisibility(LAYER3)); @@ -684,7 +684,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.setLayerVisibility); - assert.equal(typeof drawing.setLayerVisibility, typeof function () { /* */ }); + assert.equal(typeof drawing.setLayerVisibility, typeof function () { /* empty fn */ }); drawing.setLayerVisibility(LAYER3, false); drawing.setLayerVisibility(LAYER2, true); @@ -706,7 +706,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.getLayerOpacity); - assert.equal(typeof drawing.getLayerOpacity, typeof function () { /* */ }); + assert.equal(typeof drawing.getLayerOpacity, typeof function () { /* empty fn */ }); assert.strictEqual(drawing.getLayerOpacity(LAYER1), 1.0); assert.strictEqual(drawing.getLayerOpacity(LAYER2), 1.0); assert.strictEqual(drawing.getLayerOpacity(LAYER3), 1.0); @@ -720,7 +720,7 @@ describe('draw.Drawing', function () { drawing.identifyLayers(); assert.ok(drawing.setLayerOpacity); - assert.equal(typeof drawing.setLayerOpacity, typeof function () { /* */ }); + assert.equal(typeof drawing.setLayerOpacity, typeof function () { /* empty fn */ }); drawing.setLayerOpacity(LAYER1, 0.4); drawing.setLayerOpacity(LAYER2, 'invalid-string'); diff --git a/cypress/integration/unit/history.js b/cypress/integration/unit/history.js index 32093621..8cfdb984 100644 --- a/cypress/integration/unit/history.js +++ b/cypress/integration/unit/history.js @@ -9,11 +9,11 @@ describe('history', function () { // TODO(codedread): Write tests for handling history events. // Mocked out methods. - transformlist.changeRemoveElementFromListMap((elem) => { /* */ }); + transformlist.changeRemoveElementFromListMap((elem) => { /* empty fn */ }); utilities.mock({ getHref (elem) { return '#foo'; }, - setHref (elem, val) { /* */ }, + setHref (elem, val) { /* empty fn */ }, getRotationAngle (elem) { return 0; } }); @@ -26,10 +26,10 @@ describe('history', function () { this.text = optText; } apply (handler) { - super.apply(handler, () => { /* */ }); + super.apply(handler, () => { /* empty fn */ }); } unapply (handler) { - super.unapply(handler, () => { /* */ }); + super.unapply(handler, () => { /* empty fn */ }); } elements () { return []; } // eslint-disable-line class-methods-use-this } @@ -82,12 +82,12 @@ describe('history', function () { assert.ok(hstory.RemoveElementCommand); assert.ok(hstory.BatchCommand); assert.ok(hstory.UndoManager); - assert.equal(typeof hstory.MoveElementCommand, typeof function () { /* */ }); - assert.equal(typeof hstory.InsertElementCommand, typeof function () { /* */ }); - assert.equal(typeof hstory.ChangeElementCommand, typeof function () { /* */ }); - assert.equal(typeof hstory.RemoveElementCommand, typeof function () { /* */ }); - assert.equal(typeof hstory.BatchCommand, typeof function () { /* */ }); - assert.equal(typeof hstory.UndoManager, typeof function () { /* */ }); + assert.equal(typeof hstory.MoveElementCommand, typeof function () { /* empty fn */ }); + assert.equal(typeof hstory.InsertElementCommand, typeof function () { /* empty fn */ }); + assert.equal(typeof hstory.ChangeElementCommand, typeof function () { /* empty fn */ }); + assert.equal(typeof hstory.RemoveElementCommand, typeof function () { /* empty fn */ }); + assert.equal(typeof hstory.BatchCommand, typeof function () { /* empty fn */ }); + assert.equal(typeof hstory.UndoManager, typeof function () { /* empty fn */ }); }); it('Test UndoManager methods', function () { @@ -100,12 +100,12 @@ describe('history', function () { assert.ok(undoMgr.getNextRedoCommandText); assert.equal(typeof undoMgr, typeof {}); - assert.equal(typeof undoMgr.addCommandToHistory, typeof function () { /* */ }); - assert.equal(typeof undoMgr.getUndoStackSize, typeof function () { /* */ }); - assert.equal(typeof undoMgr.getRedoStackSize, typeof function () { /* */ }); - assert.equal(typeof undoMgr.resetUndoStack, typeof function () { /* */ }); - assert.equal(typeof undoMgr.getNextUndoCommandText, typeof function () { /* */ }); - assert.equal(typeof undoMgr.getNextRedoCommandText, typeof function () { /* */ }); + assert.equal(typeof undoMgr.addCommandToHistory, typeof function () { /* empty fn */ }); + assert.equal(typeof undoMgr.getUndoStackSize, typeof function () { /* empty fn */ }); + assert.equal(typeof undoMgr.getRedoStackSize, typeof function () { /* empty fn */ }); + assert.equal(typeof undoMgr.resetUndoStack, typeof function () { /* empty fn */ }); + assert.equal(typeof undoMgr.getNextUndoCommandText, typeof function () { /* empty fn */ }); + assert.equal(typeof undoMgr.getNextRedoCommandText, typeof function () { /* empty fn */ }); }); it('Test UndoManager.addCommandToHistory() function', function () { @@ -284,8 +284,8 @@ describe('history', function () { let move = new hstory.MoveElementCommand(this.div3, this.div1, this.divparent); assert.ok(move.unapply); assert.ok(move.apply); - assert.equal(typeof move.unapply, typeof function () { /* */ }); - assert.equal(typeof move.apply, typeof function () { /* */ }); + assert.equal(typeof move.unapply, typeof function () { /* empty fn */ }); + assert.equal(typeof move.apply, typeof function () { /* empty fn */ }); move.unapply(); assert.equal(this.divparent.firstElementChild, this.div3); @@ -330,8 +330,8 @@ describe('history', function () { let insert = new hstory.InsertElementCommand(this.div3); assert.ok(insert.unapply); assert.ok(insert.apply); - assert.equal(typeof insert.unapply, typeof function () { /* */ }); - assert.equal(typeof insert.apply, typeof function () { /* */ }); + assert.equal(typeof insert.unapply, typeof function () { /* empty fn */ }); + assert.equal(typeof insert.apply, typeof function () { /* empty fn */ }); insert.unapply(); assert.equal(this.divparent.childElementCount, 2); @@ -367,8 +367,8 @@ describe('history', function () { let remove = new hstory.RemoveElementCommand(div6, null, this.divparent); assert.ok(remove.unapply); assert.ok(remove.apply); - assert.equal(typeof remove.unapply, typeof function () { /* */ }); - assert.equal(typeof remove.apply, typeof function () { /* */ }); + assert.equal(typeof remove.unapply, typeof function () { /* empty fn */ }); + assert.equal(typeof remove.apply, typeof function () { /* empty fn */ }); remove.unapply(); assert.equal(this.divparent.childElementCount, 4); @@ -405,8 +405,8 @@ describe('history', function () { {title: 'old title', class: 'foo'}); assert.ok(change.unapply); assert.ok(change.apply); - assert.equal(typeof change.unapply, typeof function () { /* */ }); - assert.equal(typeof change.apply, typeof function () { /* */ }); + assert.equal(typeof change.unapply, typeof function () { /* empty fn */ }); + assert.equal(typeof change.apply, typeof function () { /* empty fn */ }); change.unapply(); assert.equal(this.div1.getAttribute('title'), 'old title'); @@ -476,8 +476,8 @@ describe('history', function () { assert.ok(change.unapply); assert.ok(change.apply); - assert.equal(typeof change.unapply, typeof function () { /* */ }); - assert.equal(typeof change.apply, typeof function () { /* */ }); + assert.equal(typeof change.unapply, typeof function () { /* empty fn */ }); + assert.equal(typeof change.apply, typeof function () { /* empty fn */ }); change.unapply(); assert.equal(line.getAttribute('class'), 'oldClass'); @@ -511,13 +511,13 @@ describe('history', function () { batch.apply(); assert.equal(concatResult, 'abc'); - MockCommand.prototype.apply = function () { /* */ }; + MockCommand.prototype.apply = function () { /* empty fn */ }; MockCommand.prototype.unapply = function () { concatResult += this.text; }; concatResult = ''; assert.ok(!concatResult); batch.unapply(); assert.equal(concatResult, 'cba'); - MockCommand.prototype.unapply = function () { /* */ }; + MockCommand.prototype.unapply = function () { /* empty fn */ }; }); }); diff --git a/cypress/integration/unit/math.js b/cypress/integration/unit/math.js index 8c3c665c..9063b470 100644 --- a/cypress/integration/unit/math.js +++ b/cypress/integration/unit/math.js @@ -11,9 +11,9 @@ describe('math', function () { assert.ok(math.transformPoint); assert.ok(math.isIdentity); assert.ok(math.matrixMultiply); - assert.equal(typeof math.transformPoint, typeof function () { /* */ }); - assert.equal(typeof math.isIdentity, typeof function () { /* */ }); - assert.equal(typeof math.matrixMultiply, typeof function () { /* */ }); + assert.equal(typeof math.transformPoint, typeof function () { /* empty fn */ }); + assert.equal(typeof math.isIdentity, typeof function () { /* empty fn */ }); + assert.equal(typeof math.matrixMultiply, typeof function () { /* empty fn */ }); }); it('Test svgedit.math.transformPoint() function', function () { diff --git a/cypress/integration/unit/recalculate.js b/cypress/integration/unit/recalculate.js index dde47f4e..f9147fe9 100644 --- a/cypress/integration/unit/recalculate.js +++ b/cypress/integration/unit/recalculate.js @@ -54,7 +54,7 @@ describe('recalculate', function () { { getSVGRoot () { return svg; }, getStartTransform () { return ''; }, - setStartTransform () { /* */ } + setStartTransform () { /* empty fn */ } } ); } diff --git a/cypress/integration/unit/select.js b/cypress/integration/unit/select.js index b01ca71a..8b965f9a 100644 --- a/cypress/integration/unit/select.js +++ b/cypress/integration/unit/select.js @@ -81,10 +81,10 @@ describe('select', function () { assert.ok(select.init); assert.ok(select.getSelectorManager); assert.equal(typeof select, typeof {}); - assert.equal(typeof select.Selector, typeof function () { /* */ }); - assert.equal(typeof select.SelectorManager, typeof function () { /* */ }); - assert.equal(typeof select.init, typeof function () { /* */ }); - assert.equal(typeof select.getSelectorManager, typeof function () { /* */ }); + assert.equal(typeof select.Selector, typeof function () { /* empty fn */ }); + assert.equal(typeof select.SelectorManager, typeof function () { /* empty fn */ }); + assert.equal(typeof select.init, typeof function () { /* empty fn */ }); + assert.equal(typeof select.getSelectorManager, typeof function () { /* empty fn */ }); }); it('Test Selector DOM structure', function () { diff --git a/cypress/integration/unit/svgtransformlist.js b/cypress/integration/unit/svgtransformlist.js index fb7c0a86..97fa686b 100644 --- a/cypress/integration/unit/svgtransformlist.js +++ b/cypress/integration/unit/svgtransformlist.js @@ -73,7 +73,7 @@ describe('svgtransformlist', function () { const t = svgcontent.createSVGTransform(); assert.ok(t); assert.ok(rxform.initialize); - assert.equal(typeof rxform.initialize, typeof function () { /* */ }); + assert.equal(typeof rxform.initialize, typeof function () { /* empty fn */ }); rxform.initialize(t); assert.equal(rxform.numberOfItems, 1); assert.equal(cxform.numberOfItems, 0); @@ -96,8 +96,8 @@ describe('svgtransformlist', function () { assert.ok(rxform.appendItem); assert.ok(rxform.getItem); - assert.equal(typeof rxform.appendItem, typeof function () { /* */ }); - assert.equal(typeof rxform.getItem, typeof function () { /* */ }); + assert.equal(typeof rxform.appendItem, typeof function () { /* empty fn */ }); + assert.equal(typeof rxform.getItem, typeof function () { /* empty fn */ }); rxform.appendItem(t1); rxform.appendItem(t2); @@ -127,7 +127,7 @@ describe('svgtransformlist', function () { const t1 = svgcontent.createSVGTransform(), t2 = svgcontent.createSVGTransform(); assert.ok(rxform.removeItem); - assert.equal(typeof rxform.removeItem, typeof function () { /* */ }); + assert.equal(typeof rxform.removeItem, typeof function () { /* empty fn */ }); rxform.appendItem(t1); rxform.appendItem(t2); @@ -145,7 +145,7 @@ describe('svgtransformlist', function () { const cxform = transformlist.getTransformList(circle); assert.ok(rxform.replaceItem); - assert.equal(typeof rxform.replaceItem, typeof function () { /* */ }); + assert.equal(typeof rxform.replaceItem, typeof function () { /* empty fn */ }); const t1 = svgcontent.createSVGTransform(), t2 = svgcontent.createSVGTransform(), @@ -177,7 +177,7 @@ describe('svgtransformlist', function () { const cxform = transformlist.getTransformList(circle); assert.ok(rxform.insertItemBefore); - assert.equal(typeof rxform.insertItemBefore, typeof function () { /* */ }); + assert.equal(typeof rxform.insertItemBefore, typeof function () { /* empty fn */ }); const t1 = svgcontent.createSVGTransform(), t2 = svgcontent.createSVGTransform(), diff --git a/cypress/integration/unit/units.js b/cypress/integration/unit/units.js index 0519f1e2..b3e9e36e 100644 --- a/cypress/integration/unit/units.js +++ b/cypress/integration/unit/units.js @@ -49,7 +49,7 @@ describe('units', function () { it('Test svgedit.units.shortFloat()', function () { assert.ok(units.shortFloat); - assert.equal(typeof units.shortFloat, typeof function () { /* */ }); + assert.equal(typeof units.shortFloat, typeof function () { /* empty fn */ }); const {shortFloat} = units; assert.equal(shortFloat(0.00000001), 0); @@ -61,7 +61,7 @@ describe('units', function () { it('Test svgedit.units.isValidUnit()', function () { assert.ok(units.isValidUnit); - assert.equal(typeof units.isValidUnit, typeof function () { /* */ }); + assert.equal(typeof units.isValidUnit, typeof function () { /* empty fn */ }); const {isValidUnit} = units; assert.ok(isValidUnit('0')); @@ -85,7 +85,7 @@ describe('units', function () { it('Test svgedit.units.convertUnit()', function () { assert.ok(units.convertUnit); - assert.equal(typeof units.convertUnit, typeof function () { /* */ }); + assert.equal(typeof units.convertUnit, typeof function () { /* empty fn */ }); // cm in default setup assert.equal(units.convertUnit(42), 1.1113); assert.equal(units.convertUnit(42, 'px'), 42); diff --git a/cypress/integration/unit/utilities.js b/cypress/integration/unit/utilities.js index e56bd63d..a5c46755 100644 --- a/cypress/integration/unit/utilities.js +++ b/cypress/integration/unit/utilities.js @@ -28,7 +28,7 @@ describe('utilities', function () { svgroot.append(elem); return elem; } - const mockPathActions = {resetOrientation () { /* */ }}; + const mockPathActions = {resetOrientation () { /* empty fn */ }}; let mockHistorySubCommands = []; const mockHistory = { BatchCommand: class { @@ -101,7 +101,7 @@ describe('utilities', function () { it('Test svgedit.utilities package', function () { assert.ok(utilities); assert.ok(utilities.toXml); - assert.equal(typeof utilities.toXml, typeof function () { /* */ }); + assert.equal(typeof utilities.toXml, typeof function () { /* empty fn */ }); }); it('Test svgedit.utilities.toXml() function', function () { diff --git a/package-lock.json b/package-lock.json index bfa0fcc6..5b76f3c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1848,12 +1848,12 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "espree": { @@ -3083,9 +3083,9 @@ } }, "@types/babel__core": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", - "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", + "version": "7.1.10", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.10.tgz", + "integrity": "sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -3096,18 +3096,18 @@ } }, "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.3.tgz", + "integrity": "sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -3115,9 +3115,9 @@ } }, "@types/babel__traverse": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz", - "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.15.tgz", + "integrity": "sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==", "dev": true, "requires": { "@babel/types": "^7.3.0" @@ -3140,9 +3140,9 @@ "dev": true }, "@types/browserslist-useragent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/browserslist-useragent/-/browserslist-useragent-3.0.0.tgz", - "integrity": "sha512-ZBvKzg3yyWNYEkwxAzdmUzp27sFvw+1m080/+2lwrt+eltNefn1f4fnpMyrjOla31p8zLleCYqQXw+3EETfn0w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/browserslist-useragent/-/browserslist-useragent-3.0.1.tgz", + "integrity": "sha512-EI/mKugA9lVyR8TXSZv0TygeUOpFOP7MKBgJ99JJZKBKVfLH3kHB9alT0s5KgYHup1c1jw6N+XQHlXyWspKmNw==", "dev": true }, "@types/caniuse-api": { @@ -3230,9 +3230,9 @@ } }, "@types/express": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.7.tgz", - "integrity": "sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ==", + "version": "4.17.8", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.8.tgz", + "integrity": "sha512-wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ==", "dev": true, "requires": { "@types/body-parser": "*", @@ -3242,9 +3242,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.9", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.9.tgz", - "integrity": "sha512-DG0BYg6yO+ePW+XoDENYz8zhNGC3jDDEpComMYn7WJc4mY1Us8Rw9ax2YhJXxpyk2SF47PQAoQ0YyVT1a0bEkA==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz", + "integrity": "sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA==", "dev": true, "requires": { "@types/node": "*", @@ -3366,9 +3366,9 @@ } }, "@types/koa__cors": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/koa__cors/-/koa__cors-3.0.1.tgz", - "integrity": "sha512-loqZNXliley8kncc4wrX9KMqLGN6YfiaO3a3VFX+yVkkXJwOrZU4lipdudNjw5mFyC+5hd7h9075hQWcVVpeOg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/koa__cors/-/koa__cors-3.0.2.tgz", + "integrity": "sha512-gBetQR0DJ9JTG1YQoW33BADHCrDPJGiJUKUUcEPJwW1A2unzpIMhorEpXB6eMaaXTaqHLemcGnq3RmH9XaryRQ==", "dev": true, "requires": { "@types/koa": "*" @@ -3441,9 +3441,9 @@ "dev": true }, "@types/qs": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.4.tgz", - "integrity": "sha512-+wYo+L6ZF6BMoEjtf8zB2esQsqdV6WsjRK/GP9WOgLPrq87PbNWgIxS76dS5uvl/QXtHGakZmwTznIfcPXcKlQ==", + "version": "6.9.5", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", + "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==", "dev": true }, "@types/raf": { @@ -3477,9 +3477,9 @@ } }, "@types/sinonjs__fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.1.tgz", - "integrity": "sha512-yYezQwGWty8ziyYLdZjwxyMb0CZR49h8JALHGrxjQHWlqGgc8kLdHEgWrgL0uZ29DMvEVBDnHU2Wg36zKSIUtA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz", + "integrity": "sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==", "dev": true }, "@types/sizzle": { @@ -6692,9 +6692,9 @@ "dev": true }, "copyfiles": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.3.0.tgz", - "integrity": "sha512-73v7KFuDFJ/ofkQjZBMjMBFWGgkS76DzXvBMUh7djsMOE5EELWtAO/hRB6Wr5Vj5Zg+YozvoHemv0vnXpqxmOQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.0.tgz", + "integrity": "sha512-yGjpR3yjQdxccW8EcJ4a7ZCA6wGER6/Q2Y+b7bXbVxGeSHBf93i9d7MzTsx+VV1CpMKQa3v4ThZfXBcltMzl0w==", "dev": true, "requires": { "glob": "^7.0.5", @@ -6702,6 +6702,7 @@ "mkdirp": "^1.0.4", "noms": "0.0.0", "through2": "^2.0.1", + "untildify": "^4.0.0", "yargs": "^15.3.1" }, "dependencies": { @@ -7208,9 +7209,9 @@ } }, "cypress": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-5.2.0.tgz", - "integrity": "sha512-9S2spcrpIXrQ+CQIKHsjRoLQyRc2ehB06clJXPXXp1zyOL/uZMM3Qc20ipNki4CcNwY0nBTQZffPbRpODeGYQg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-5.3.0.tgz", + "integrity": "sha512-XgebyqL7Th6/8YenE1ddb7+d4EiCG2Jvg/5c8+HPfFFY/gXnOVhoCVUU3KW8qg3JL7g0B+iJbHd5hxuCqbd1RQ==", "dev": true, "requires": { "@cypress/listr-verbose-renderer": "^0.4.1", @@ -7306,12 +7307,12 @@ "dev": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "fs-extra": { @@ -7864,6 +7865,37 @@ "integrity": "sha512-/nt74Rm+PcfnirXGEdhZleTwGC2LMnuKTeeTIlI82xb5loBBoXNYzr2ezCroPSMtilK8EZIfcNZwOcHN+ib1Lg==", "dev": true }, + "dot-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz", + "integrity": "sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==", + "dev": true, + "requires": { + "no-case": "^3.0.3", + "tslib": "^1.10.0" + }, + "dependencies": { + "lower-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", + "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", + "dev": true, + "requires": { + "tslib": "^1.10.0" + } + }, + "no-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", + "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", + "dev": true, + "requires": { + "lower-case": "^2.0.1", + "tslib": "^1.10.0" + } + } + } + }, "dot-prop": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", @@ -8179,9 +8211,9 @@ } }, "es-dev-server": { - "version": "1.57.4", - "resolved": "https://registry.npmjs.org/es-dev-server/-/es-dev-server-1.57.4.tgz", - "integrity": "sha512-GNstq4VeNmkon9W4dABCC3e3540cWVmhsnO4d8axBSgk0D4HQH/t2NqM4o9Qvq4/z9NMAqW1CazmvuFdl8oqKg==", + "version": "1.57.7", + "resolved": "https://registry.npmjs.org/es-dev-server/-/es-dev-server-1.57.7.tgz", + "integrity": "sha512-ph90lCbyTvHsC/zbidIXvCYv+B1ZDzWhgG4RWKVT0FLD7t3LA2Ya8PIVcVWY/iVsYQNrIitPdi4mk/El2mEfkQ==", "dev": true, "requires": { "@babel/core": "^7.11.1", @@ -8196,7 +8228,7 @@ "@babel/plugin-transform-template-literals": "^7.8.3", "@babel/preset-env": "^7.9.0", "@koa/cors": "^3.1.0", - "@open-wc/building-utils": "^2.18.1", + "@open-wc/building-utils": "^2.18.2", "@rollup/plugin-node-resolve": "^7.1.1", "@rollup/pluginutils": "^3.0.0", "@types/babel__core": "^7.1.3", @@ -8240,7 +8272,7 @@ "open": "^7.0.3", "parse5": "^5.1.1", "path-is-inside": "^1.0.2", - "polyfills-loader": "^1.7.1", + "polyfills-loader": "^1.7.3", "portfinder": "^1.0.21", "rollup": "^2.7.2", "strip-ansi": "^5.2.0", @@ -8250,6 +8282,40 @@ "whatwg-url": "^7.0.0" }, "dependencies": { + "@open-wc/building-utils": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/@open-wc/building-utils/-/building-utils-2.18.2.tgz", + "integrity": "sha512-oE9cG9X4zpqm9OnQ2s+aaK7pAa8v3wt0YJBhZT3RisoKp/Va4kmsNBTjW2LPkHVK5N0VvPYukS3ey8S53e9ssQ==", + "dev": true, + "requires": { + "@babel/core": "^7.11.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@webcomponents/shadycss": "^1.9.4", + "@webcomponents/webcomponentsjs": "^2.4.0", + "arrify": "^2.0.1", + "browserslist": "^4.9.1", + "chokidar": "^3.0.0", + "clean-css": "^4.2.1", + "clone": "^2.1.2", + "core-js-bundle": "^3.6.0", + "deepmerge": "^4.2.2", + "es-module-shims": "^0.4.6", + "html-minifier-terser": "^5.1.1", + "lru-cache": "^5.1.1", + "minimatch": "^3.0.4", + "parse5": "^5.1.1", + "path-is-inside": "^1.0.2", + "regenerator-runtime": "^0.13.3", + "resolve": "^1.11.1", + "rimraf": "^3.0.2", + "shady-css-scoped-element": "^0.0.2", + "systemjs": "^6.3.1", + "terser": "^4.6.7", + "valid-url": "^1.0.9", + "whatwg-fetch": "^3.0.0", + "whatwg-url": "^7.0.0" + } + }, "@rollup/plugin-node-resolve": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", @@ -8288,6 +8354,12 @@ "picomatch": "^2.0.4" } }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, "binary-extensions": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", @@ -8319,6 +8391,12 @@ "readdirp": "~3.4.0" } }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -8383,6 +8461,12 @@ "picomatch": "^2.2.1" } }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -8392,6 +8476,17 @@ "ansi-regex": "^4.1.0" } }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -8585,9 +8680,9 @@ } }, "es-module-lexer": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.24.tgz", - "integrity": "sha512-jm/i7KdJtaMDle921xIsA/MQQOGuZ6goYxhlV+k+gQNI7FtP4N6jknrmJvj++3ODpiyFGwQ4PIstJfHJQJNc+g==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.25.tgz", + "integrity": "sha512-H9VoFD5H9zEfiOX2LeTWDwMvAbLqcAyA2PIb40TOAvGpScOjit02oTGWgIh+M0rx2eJOKyJVM9wtpKFVgnyC3A==", "dev": true }, "es-module-shims": { @@ -8702,9 +8797,9 @@ } }, "eslint": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.9.0.tgz", - "integrity": "sha512-V6QyhX21+uXp4T+3nrNfI3hQNBDa/P8ga7LoQOenwrlEFXrEnUEE+ok1dMtaS3b6rmLXhT1TkTIsG75HMLbknA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.10.0.tgz", + "integrity": "sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -8715,7 +8810,7 @@ "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", - "eslint-scope": "^5.1.0", + "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^1.3.0", "espree": "^7.3.0", @@ -8782,12 +8877,22 @@ "dev": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" } }, "eslint-utils": { @@ -8810,6 +8915,23 @@ "eslint-visitor-keys": "^1.3.0" } }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, "glob-parent": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", @@ -8941,9 +9063,9 @@ } }, "eslint-config-ash-nazg": { - "version": "22.7.0", - "resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-22.7.0.tgz", - "integrity": "sha512-dT3gFhXigIfNi5EAHBcSxDCY4HGHHTjcjWcpIHoQGk7l11fVmUKQ5JwsEeIpv5SoFFHSBAqaJIqEkWKD3d0EFg==", + "version": "22.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-22.8.0.tgz", + "integrity": "sha512-MKl2kW6cbH28nMs9MAGcg10PB3YGpUenYLpbHKBpCNa1jjN3Q/SHQTm0VDgHO7KyczJjmLpZDN8rfRpmegbVsQ==", "dev": true }, "eslint-config-standard": { @@ -9115,9 +9237,9 @@ } }, "eslint-plugin-cypress": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.1.tgz", - "integrity": "sha512-MxMYoReSO5+IZMGgpBZHHSx64zYPSPTpXDwsgW7ChlJTF/sA+obqRbHplxD6sBStE+g4Mi0LCLkG4t9liu//mQ==", + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.2.tgz", + "integrity": "sha512-1SergF1sGbVhsf7MYfOLiBhdOg6wqyeV9pXUAIDIffYTGMN3dTBQS9nFAzhLsHhO+Bn0GaVM1Ecm71XUidQ7VA==", "dev": true, "requires": { "globals": "^11.12.0" @@ -9167,9 +9289,9 @@ } }, "eslint-plugin-import": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", - "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { "array-includes": "^3.1.1", @@ -9177,7 +9299,7 @@ "contains-path": "^0.1.0", "debug": "^2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", + "eslint-import-resolver-node": "^0.3.4", "eslint-module-utils": "^2.6.0", "has": "^1.0.3", "minimatch": "^3.0.4", @@ -9200,9 +9322,9 @@ } }, "eslint-plugin-jsdoc": { - "version": "30.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.5.1.tgz", - "integrity": "sha512-cY3YNxdhFcQVkcQLnZw/iZGsTPMuWa9yWZclorMWkjdHprBQX0TMWMEcmJYM3IjHp1HJr7aD0Z0sCRifEBhnzg==", + "version": "30.6.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.6.3.tgz", + "integrity": "sha512-RnyM+a3SKRfPs/jqO2qOGAEZnOJT2dOhiwhBlYVp8/yRUUBNPlvkwZm0arrnyFKvfZX6WqSwlK5OcNnM5W1Etg==", "dev": true, "requires": { "comment-parser": "^0.7.6", @@ -9215,12 +9337,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "lodash": { @@ -9291,9 +9413,9 @@ } }, "eslint-plugin-no-unsanitized": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-3.1.2.tgz", - "integrity": "sha512-KPShfliA3Uy9qqwQx35P1fwIOeJjZkb0FbMMUFztRYRposzaynsM8JCEb952fqkidROl1kpqY80uSvn+TcWkQQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-3.1.4.tgz", + "integrity": "sha512-WF1+eZo2Sh+bQNjZuVNwT0dA61zuJORsLh+1Sww7+O6GOPw+WPWIIRfTWNqrmaXaDMhM4SXAqYPcNlhRMiH13g==", "dev": true }, "eslint-plugin-no-use-extend-native": { @@ -10905,6 +11027,68 @@ } } }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "camel-case": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", + "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", + "dev": true, + "requires": { + "pascal-case": "^3.1.1", + "tslib": "^1.10.0" + } + }, + "param-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.3.tgz", + "integrity": "sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==", + "dev": true, + "requires": { + "dot-case": "^3.0.3", + "tslib": "^1.10.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + } + } + }, "html2canvas": { "version": "1.0.0-rc.7", "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-rc.7.tgz", @@ -12783,12 +12967,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -16563,6 +16747,37 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, + "pascal-case": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz", + "integrity": "sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==", + "dev": true, + "requires": { + "no-case": "^3.0.3", + "tslib": "^1.10.0" + }, + "dependencies": { + "lower-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", + "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", + "dev": true, + "requires": { + "tslib": "^1.10.0" + } + }, + "no-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", + "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", + "dev": true, + "requires": { + "lower-case": "^2.0.1", + "tslib": "^1.10.0" + } + } + } + }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", @@ -16731,20 +16946,19 @@ "dev": true }, "polyfills-loader": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/polyfills-loader/-/polyfills-loader-1.7.1.tgz", - "integrity": "sha512-+cClGOZNQtWVedt2a2Ku9r6ejfnhQFbuaSPtlaGLl2R9ESWaJNoq8r29d0BTpAgrEX/xXsoh2YHgamNugW6Ahw==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/polyfills-loader/-/polyfills-loader-1.7.3.tgz", + "integrity": "sha512-+Gc2MiQ/BDUVJ2uGjKZHK7OnursSVWs1nWi93KodwnkSA+W+oY8yNHZPOm+64vDda9nJXa/XMQqYCAO+RjBadg==", "dev": true, "requires": { "@babel/core": "^7.11.1", - "@open-wc/building-utils": "^2.18.1", + "@open-wc/building-utils": "^2.18.2", "@webcomponents/webcomponentsjs": "^2.4.0", "abortcontroller-polyfill": "^1.4.0", "core-js-bundle": "^3.6.0", "deepmerge": "^4.2.2", "dynamic-import-polyfill": "^0.1.1", "es-module-shims": "^0.4.6", - "html-minifier": "^4.0.0", "intersection-observer": "^0.7.0", "parse5": "^5.1.1", "regenerator-runtime": "^0.13.3", @@ -16754,12 +16968,157 @@ "whatwg-fetch": "^3.0.0" }, "dependencies": { + "@open-wc/building-utils": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/@open-wc/building-utils/-/building-utils-2.18.2.tgz", + "integrity": "sha512-oE9cG9X4zpqm9OnQ2s+aaK7pAa8v3wt0YJBhZT3RisoKp/Va4kmsNBTjW2LPkHVK5N0VvPYukS3ey8S53e9ssQ==", + "dev": true, + "requires": { + "@babel/core": "^7.11.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@webcomponents/shadycss": "^1.9.4", + "@webcomponents/webcomponentsjs": "^2.4.0", + "arrify": "^2.0.1", + "browserslist": "^4.9.1", + "chokidar": "^3.0.0", + "clean-css": "^4.2.1", + "clone": "^2.1.2", + "core-js-bundle": "^3.6.0", + "deepmerge": "^4.2.2", + "es-module-shims": "^0.4.6", + "html-minifier-terser": "^5.1.1", + "lru-cache": "^5.1.1", + "minimatch": "^3.0.4", + "parse5": "^5.1.1", + "path-is-inside": "^1.0.2", + "regenerator-runtime": "^0.13.3", + "resolve": "^1.11.1", + "rimraf": "^3.0.2", + "shady-css-scoped-element": "^0.0.2", + "systemjs": "^6.3.1", + "terser": "^4.6.7", + "valid-url": "^1.0.9", + "whatwg-fetch": "^3.0.0", + "whatwg-url": "^7.0.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -16776,6 +17135,47 @@ "source-map": "~0.6.1", "source-map-support": "~0.5.12" } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -17984,9 +18384,9 @@ } }, "rollup": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.28.1.tgz", - "integrity": "sha512-DOtVoqOZt3+FjPJWLU8hDIvBjUylc9s6IZvy76XklxzcLvAQLtVAG/bbhsMhcWnYxC0TKKcf1QQ/tg29zeID0Q==", + "version": "2.28.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.28.2.tgz", + "integrity": "sha512-8txbsFBFLmm9Xdt4ByTOGa9Muonmc8MfNjnGAR8U8scJlF1ZW7AgNZa7aqBXaKtlvnYP/ab++fQIq9dB9NWUbg==", "dev": true, "requires": { "fsevents": "~2.1.2" diff --git a/package.json b/package.json index 8c601cdc..b43fa682 100644 --- a/package.json +++ b/package.json @@ -159,36 +159,36 @@ "@rollup/plugin-replace": "^2.3.3", "@rollup/plugin-url": "^5.0.1", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", - "copyfiles": "^2.3.0", + "copyfiles": "^2.4.0", "core-js-bundle": "^3.6.5", "coveradge": "^0.6.0", "cp-cli": "^2.0.0", "cross-var": "^1.1.0", - "cypress": "^5.2.0", + "cypress": "^5.3.0", "cypress-axe": "^0.8.1", "cypress-multi-reporters": "^1.4.0", "cypress-plugin-snapshots": "^1.4.4", "deparam": "git+https://github.com/brettz9/deparam.git#updates", "es-dev-commonjs-transformer": "^0.2.0", - "es-dev-server": "^1.57.4", + "es-dev-server": "^1.57.7", "es-dev-server-rollup": "0.0.8", - "eslint": "^7.9.0", - "eslint-config-ash-nazg": "^22.7.0", + "eslint": "^7.10.0", + "eslint-config-ash-nazg": "^22.8.0", "eslint-config-standard": "^14.1.1", "eslint-plugin-array-func": "^3.1.7", "eslint-plugin-chai-expect": "^2.2.0", "eslint-plugin-chai-expect-keywords": "^2.0.1", "eslint-plugin-chai-friendly": "^0.6.0", "eslint-plugin-compat": "^3.8.0", - "eslint-plugin-cypress": "^2.11.1", + "eslint-plugin-cypress": "^2.11.2", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-html": "^6.1.0", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-jsdoc": "^30.5.1", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jsdoc": "^30.6.3", "eslint-plugin-markdown": "^1.0.2", "eslint-plugin-mocha": "^8.0.0", "eslint-plugin-mocha-cleanup": "^1.8.0", - "eslint-plugin-no-unsanitized": "^3.1.2", + "eslint-plugin-no-unsanitized": "^3.1.4", "eslint-plugin-no-use-extend-native": "^0.5.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", @@ -217,7 +217,7 @@ "remark-lint-ordered-list-marker-value": "^2.0.1", "requirejs": "^2.3.6", "rimraf": "^3.0.2", - "rollup": "2.28.1", + "rollup": "2.28.2", "rollup-plugin-copy": "^3.3.0", "rollup-plugin-filesize": "^9.0.2", "rollup-plugin-node-polyfills": "^0.2.1", diff --git a/src/editor/embedapi.js b/src/editor/embedapi.js index dd6459c4..4e4af622 100644 --- a/src/editor/embedapi.js +++ b/src/editor/embedapi.js @@ -24,7 +24,7 @@ let cbid = 0; function getCallbackSetter (funcName) { return function (...args) { const that = this, // New callback - callbackID = this.send(funcName, args, function () { /* */ }); // The callback (currently it's nothing, but will be set later) + callbackID = this.send(funcName, args, function () { /* empty */ }); // The callback (currently it's nothing, but will be set later) return function (newCallback) { that.callbacks[callbackID] = newCallback; // Set callback diff --git a/src/editor/jgraduate/jQuery.jGraduate.js b/src/editor/jgraduate/jQuery.jGraduate.js index a1c10c19..2bdfbfc2 100644 --- a/src/editor/jgraduate/jQuery.jGraduate.js +++ b/src/editor/jgraduate/jQuery.jGraduate.js @@ -37,8 +37,8 @@ const ns = { if (!window.console) { window.console = { - log (str) { /* */ }, - dir (str) { /* */ } + log (str) { /* empty fn */ }, + dir (str) { /* empty fn */ } }; } diff --git a/src/svgcanvas/svgcanvas.js b/src/svgcanvas/svgcanvas.js index 2237a54d..7f154ee3 100644 --- a/src/svgcanvas/svgcanvas.js +++ b/src/svgcanvas/svgcanvas.js @@ -82,13 +82,13 @@ const { if (!window.console) { window.console = {}; - window.console.log = function (str) { /* */ }; - window.console.dir = function (str) { /* */ }; + window.console.log = function (str) { /* empty fn */ }; + window.console.dir = function (str) { /* empty fn */ }; } if (window.opera) { window.console.log = function (str) { window.opera.postError(str); }; - window.console.dir = function (str) { /* */ }; + window.console.dir = function (str) { /* empty fn */ }; } // Reenable after fixing eslint-plugin-jsdoc to handle @@ -3890,7 +3890,7 @@ function hideCursor () { * @returns {void} */ this.open = function () { - /* */ + /* empty fn */ }; /** From 08c68cb53781c09f83a8ac8f93b61f83c39a6bde Mon Sep 17 00:00:00 2001 From: jfh Date: Sun, 4 Oct 2020 23:10:35 +0200 Subject: [PATCH 3/6] add ability to add extensions not located in the extensions folder --- src/editor/index.js | 5 ++++- src/editor/svgedit.js | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/editor/index.js b/src/editor/index.js index 44e85ad3..c511058b 100644 --- a/src/editor/index.js +++ b/src/editor/index.js @@ -36,7 +36,10 @@ svgEditor.setConfig( svgEditor.setConfig({ extensions: [], noDefaultExtensions: false, - userExtensions: [] + // in addition to standard extensions, it is possible to add user extensions. + // they behave exactly like all extensions but they can be anywhere + // so the full relative path needs to specified for each user extensions. + userExtensions: [/* '../ext-helloworld/ext-helloworld.js' */] }); // OTHER CONFIG diff --git a/src/editor/svgedit.js b/src/editor/svgedit.js index c3c0762a..a6821433 100644 --- a/src/editor/svgedit.js +++ b/src/editor/svgedit.js @@ -277,6 +277,7 @@ let svgCanvas, urldata = {}, // We do not put on defaultConfig to simplify object copying // procedures (we obtain instead from defaultExtensions) extensions: [], + userExtensions: [], /** * Can use `location.origin` to indicate the current * origin. Can contain a '*' to allow all domains or 'null' (as @@ -469,7 +470,7 @@ editor.setConfig = function (opts, cfgCfg) { } else { editor.pref(key, val); } - } else if (['extensions', 'allowedOrigins'].includes(key)) { + } else if (['extensions', 'userExtensions', 'allowedOrigins'].includes(key)) { if (cfgCfg.overwrite === false && ( curConfig.preventAllURLConfig || @@ -4387,7 +4388,7 @@ editor.init = function () { * @returns {void} */ const clickImport = function () { - /* */ + /* empty fn */ }; /** From d8a8869b9897640bb4921e58ec4a82c0be4e33fc Mon Sep 17 00:00:00 2001 From: jfh Date: Sun, 4 Oct 2020 23:29:45 +0200 Subject: [PATCH 4/6] Update coverage-badge.svg --- badges/coverage-badge.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/badges/coverage-badge.svg b/badges/coverage-badge.svg index cca33b5e..b4d2867c 100644 --- a/badges/coverage-badge.svg +++ b/badges/coverage-badge.svg @@ -1 +1 @@ -Statements 51.13%Statements 51.13%Branches 40.85%Branches 40.85%Lines 51.84%Lines 51.84%Functions 58.67%Functions 58.67% +Statements 51.09%Statements 51.09%Branches 40.83%Branches 40.83%Lines 51.8%Lines 51.8%Functions 58.54%Functions 58.54% From 6d1c36b6d3287015f3bf337c235757ade2954a69 Mon Sep 17 00:00:00 2001 From: jfh Date: Mon, 5 Oct 2020 21:27:48 +0200 Subject: [PATCH 5/6] useEncodeURIComponent to add security to dynamic import --- .eslintrc.js | 9 ++++++++- src/editor/extensions/ext-arrows/ext-arrows.js | 2 +- src/editor/extensions/ext-closepath/ext-closepath.js | 2 +- src/editor/extensions/ext-connector/ext-connector.js | 2 +- src/editor/extensions/ext-eyedropper/ext-eyedropper.js | 2 +- .../extensions/ext-foreignobject/ext-foreignobject.js | 2 +- src/editor/extensions/ext-grid/ext-grid.js | 2 +- src/editor/extensions/ext-helloworld/ext-helloworld.js | 2 +- src/editor/extensions/ext-imagelib/ext-imagelib.js | 2 +- src/editor/extensions/ext-markers/ext-markers.js | 2 +- src/editor/extensions/ext-mathjax/ext-mathjax.js | 2 +- src/editor/extensions/ext-panning/ext-panning.js | 2 +- src/editor/extensions/ext-placemark/ext-placemark.js | 2 +- src/editor/extensions/ext-polygon/ext-polygon.js | 2 +- .../ext-server_moinsave/ext-server_moinsave.js | 2 +- .../ext-server_opensave/ext-server_opensave.js | 2 +- src/editor/extensions/ext-shapes/ext-shapes.js | 2 +- src/editor/extensions/ext-star/ext-star.js | 2 +- src/editor/extensions/ext-storage/ext-storage.js | 2 +- src/editor/extensions/ext-webappfind/ext-webappfind.js | 2 +- src/editor/locale.js | 2 +- src/editor/svgedit.js | 4 ++-- 22 files changed, 30 insertions(+), 23 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index e465ca6b..5b10b10a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -124,7 +124,14 @@ module.exports = { 'node/no-unsupported-features/node-builtins': 'warn', 'prefer-exponentiation-operator': 'warn', 'node/no-unsupported-features/es-syntax': 'off', - 'no-unsanitized/method': 'off' + 'no-unsanitized/method': [ + 'error', + { + escape: { + methods: ['encodeURIComponent', 'encodeURI'] + } + } + ] }, overrides: [ // Locales have no need for importing outside of SVG-Edit diff --git a/src/editor/extensions/ext-arrows/ext-arrows.js b/src/editor/extensions/ext-arrows/ext-arrows.js index 868da7ee..b5351143 100644 --- a/src/editor/extensions/ext-arrows/ext-arrows.js +++ b/src/editor/extensions/ext-arrows/ext-arrows.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-closepath/ext-closepath.js b/src/editor/extensions/ext-closepath/ext-closepath.js index 29b442f0..d2b9d072 100644 --- a/src/editor/extensions/ext-closepath/ext-closepath.js +++ b/src/editor/extensions/ext-closepath/ext-closepath.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-connector/ext-connector.js b/src/editor/extensions/ext-connector/ext-connector.js index 92222750..fbaf25fe 100644 --- a/src/editor/extensions/ext-connector/ext-connector.js +++ b/src/editor/extensions/ext-connector/ext-connector.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-eyedropper/ext-eyedropper.js b/src/editor/extensions/ext-eyedropper/ext-eyedropper.js index 95316778..641bea96 100644 --- a/src/editor/extensions/ext-eyedropper/ext-eyedropper.js +++ b/src/editor/extensions/ext-eyedropper/ext-eyedropper.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-foreignobject/ext-foreignobject.js b/src/editor/extensions/ext-foreignobject/ext-foreignobject.js index 3c5f97fb..fd90e5dc 100644 --- a/src/editor/extensions/ext-foreignobject/ext-foreignobject.js +++ b/src/editor/extensions/ext-foreignobject/ext-foreignobject.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-grid/ext-grid.js b/src/editor/extensions/ext-grid/ext-grid.js index cf412342..666b1473 100644 --- a/src/editor/extensions/ext-grid/ext-grid.js +++ b/src/editor/extensions/ext-grid/ext-grid.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-helloworld/ext-helloworld.js b/src/editor/extensions/ext-helloworld/ext-helloworld.js index d25a4185..4c3d383b 100644 --- a/src/editor/extensions/ext-helloworld/ext-helloworld.js +++ b/src/editor/extensions/ext-helloworld/ext-helloworld.js @@ -16,7 +16,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-imagelib/ext-imagelib.js b/src/editor/extensions/ext-imagelib/ext-imagelib.js index 5c11e880..13ae02dd 100644 --- a/src/editor/extensions/ext-imagelib/ext-imagelib.js +++ b/src/editor/extensions/ext-imagelib/ext-imagelib.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-markers/ext-markers.js b/src/editor/extensions/ext-markers/ext-markers.js index a34709f4..126afd99 100644 --- a/src/editor/extensions/ext-markers/ext-markers.js +++ b/src/editor/extensions/ext-markers/ext-markers.js @@ -32,7 +32,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-mathjax/ext-mathjax.js b/src/editor/extensions/ext-mathjax/ext-mathjax.js index 960367a4..860100ee 100644 --- a/src/editor/extensions/ext-mathjax/ext-mathjax.js +++ b/src/editor/extensions/ext-mathjax/ext-mathjax.js @@ -11,7 +11,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-panning/ext-panning.js b/src/editor/extensions/ext-panning/ext-panning.js index df490b4f..be145ef8 100644 --- a/src/editor/extensions/ext-panning/ext-panning.js +++ b/src/editor/extensions/ext-panning/ext-panning.js @@ -13,7 +13,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-placemark/ext-placemark.js b/src/editor/extensions/ext-placemark/ext-placemark.js index c97e2525..aa0c7738 100644 --- a/src/editor/extensions/ext-placemark/ext-placemark.js +++ b/src/editor/extensions/ext-placemark/ext-placemark.js @@ -9,7 +9,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-polygon/ext-polygon.js b/src/editor/extensions/ext-polygon/ext-polygon.js index 753c9b57..e6e403a1 100644 --- a/src/editor/extensions/ext-polygon/ext-polygon.js +++ b/src/editor/extensions/ext-polygon/ext-polygon.js @@ -9,7 +9,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-server_moinsave/ext-server_moinsave.js b/src/editor/extensions/ext-server_moinsave/ext-server_moinsave.js index 08a6cedc..17a59ef6 100644 --- a/src/editor/extensions/ext-server_moinsave/ext-server_moinsave.js +++ b/src/editor/extensions/ext-server_moinsave/ext-server_moinsave.js @@ -12,7 +12,7 @@ import {Canvg as canvg} from 'canvg'; const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-server_opensave/ext-server_opensave.js b/src/editor/extensions/ext-server_opensave/ext-server_opensave.js index d30eee6e..c046f1de 100644 --- a/src/editor/extensions/ext-server_opensave/ext-server_opensave.js +++ b/src/editor/extensions/ext-server_opensave/ext-server_opensave.js @@ -11,7 +11,7 @@ import {Canvg as canvg} from 'canvg'; const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-shapes/ext-shapes.js b/src/editor/extensions/ext-shapes/ext-shapes.js index 95c7b8c0..a65f2601 100644 --- a/src/editor/extensions/ext-shapes/ext-shapes.js +++ b/src/editor/extensions/ext-shapes/ext-shapes.js @@ -10,7 +10,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-star/ext-star.js b/src/editor/extensions/ext-star/ext-star.js index ae14ecd5..3bf58395 100644 --- a/src/editor/extensions/ext-star/ext-star.js +++ b/src/editor/extensions/ext-star/ext-star.js @@ -9,7 +9,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-storage/ext-storage.js b/src/editor/extensions/ext-storage/ext-storage.js index 3297b9fc..28c221f7 100644 --- a/src/editor/extensions/ext-storage/ext-storage.js +++ b/src/editor/extensions/ext-storage/ext-storage.js @@ -22,7 +22,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/extensions/ext-webappfind/ext-webappfind.js b/src/editor/extensions/ext-webappfind/ext-webappfind.js index 33261337..a7d18731 100644 --- a/src/editor/extensions/ext-webappfind/ext-webappfind.js +++ b/src/editor/extensions/ext-webappfind/ext-webappfind.js @@ -9,7 +9,7 @@ const loadExtensionTranslation = async function (lang) { let translationModule; try { - translationModule = await import(`./locale/${lang}.js`); + translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); diff --git a/src/editor/locale.js b/src/editor/locale.js index c3ddd096..a2c5f315 100644 --- a/src/editor/locale.js +++ b/src/editor/locale.js @@ -357,6 +357,6 @@ export const putLocale = async function (givenParam, goodLangs) { if (!goodLangs.includes(langParam) && langParam !== 'test') { langParam = 'en'; } - const module = await import(`./locale/lang.${langParam}.js`); + const module = await import(`./locale/lang.${encodeURIComponent(langParam)}.js`); return readLang(module.default); }; diff --git a/src/editor/svgedit.js b/src/editor/svgedit.js index a6821433..c29db421 100644 --- a/src/editor/svgedit.js +++ b/src/editor/svgedit.js @@ -783,7 +783,7 @@ editor.init = function () { /** * @type {module:SVGEditor.ExtensionObject} */ - const imported = await import(`./extensions/${extname}/${extname}.js`); + const imported = await import(`./extensions/${encodeURIComponent(extname)}/${encodeURIComponent(extname)}.js`); const {name = extname, init} = imported.default; return editor.addExtension(name, (init && init.bind(editor)), {$, langParam}); } catch (err) { @@ -806,7 +806,7 @@ editor.init = function () { /** * @type {module:SVGEditor.ExtensionObject} */ - const imported = await import(extPathName); + const imported = await import(encodeURI(extPathName)); const {name, init} = imported.default; return editor.addExtension(name, (init && init.bind(editor)), {$, langParam}); } catch (err) { From 7260e3c94923f8551cba42104442c5f861191d88 Mon Sep 17 00:00:00 2001 From: jfh Date: Mon, 5 Oct 2020 22:01:57 +0200 Subject: [PATCH 6/6] build, test --- badges/coverage-badge.svg | 2 +- dist/editor/embedapi.js | 2 +- dist/editor/extensions/ext-arrows/ext-arrows.js | 2 +- dist/editor/extensions/ext-arrows/ext-arrows.js.map | 2 +- dist/editor/extensions/ext-closepath/ext-closepath.js | 4 ++-- dist/editor/extensions/ext-closepath/ext-closepath.js.map | 2 +- dist/editor/extensions/ext-connector/ext-connector.js | 2 +- dist/editor/extensions/ext-connector/ext-connector.js.map | 2 +- dist/editor/extensions/ext-eyedropper/ext-eyedropper.js | 4 ++-- dist/editor/extensions/ext-eyedropper/ext-eyedropper.js.map | 2 +- dist/editor/extensions/ext-foreignobject/ext-foreignobject.js | 2 +- .../extensions/ext-foreignobject/ext-foreignobject.js.map | 2 +- dist/editor/extensions/ext-grid/ext-grid.js | 4 ++-- dist/editor/extensions/ext-grid/ext-grid.js.map | 2 +- dist/editor/extensions/ext-helloworld/ext-helloworld.js | 4 ++-- dist/editor/extensions/ext-helloworld/ext-helloworld.js.map | 2 +- dist/editor/extensions/ext-imagelib/ext-imagelib.js | 4 ++-- dist/editor/extensions/ext-imagelib/ext-imagelib.js.map | 2 +- dist/editor/extensions/ext-markers/ext-markers.js | 2 +- dist/editor/extensions/ext-markers/ext-markers.js.map | 2 +- dist/editor/extensions/ext-mathjax/ext-mathjax.js | 2 +- dist/editor/extensions/ext-mathjax/ext-mathjax.js.map | 2 +- dist/editor/extensions/ext-panning/ext-panning.js | 4 ++-- dist/editor/extensions/ext-panning/ext-panning.js.map | 2 +- dist/editor/extensions/ext-placemark/ext-placemark.js | 2 +- dist/editor/extensions/ext-placemark/ext-placemark.js.map | 2 +- dist/editor/extensions/ext-polygon/ext-polygon.js | 2 +- dist/editor/extensions/ext-polygon/ext-polygon.js.map | 2 +- .../extensions/ext-server_moinsave/ext-server_moinsave.js | 2 +- .../extensions/ext-server_moinsave/ext-server_moinsave.js.map | 2 +- .../extensions/ext-server_opensave/ext-server_opensave.js | 2 +- .../extensions/ext-server_opensave/ext-server_opensave.js.map | 2 +- dist/editor/extensions/ext-shapes/ext-shapes.js | 4 ++-- dist/editor/extensions/ext-shapes/ext-shapes.js.map | 2 +- dist/editor/extensions/ext-star/ext-star.js | 2 +- dist/editor/extensions/ext-star/ext-star.js.map | 2 +- dist/editor/extensions/ext-storage/ext-storage.js | 2 +- dist/editor/extensions/ext-storage/ext-storage.js.map | 2 +- dist/editor/extensions/ext-webappfind/ext-webappfind.js | 4 ++-- dist/editor/extensions/ext-webappfind/ext-webappfind.js.map | 2 +- dist/editor/index.js | 2 +- dist/editor/index.js.map | 2 +- dist/editor/jgraduate/jQuery.jGraduate.js | 4 ++-- dist/editor/system/embedapi.js | 2 +- dist/editor/system/extensions/ext-arrows/ext-arrows.js | 2 +- dist/editor/system/extensions/ext-closepath/ext-closepath.js | 4 ++-- dist/editor/system/extensions/ext-connector/ext-connector.js | 4 ++-- .../editor/system/extensions/ext-eyedropper/ext-eyedropper.js | 4 ++-- .../system/extensions/ext-foreignobject/ext-foreignobject.js | 2 +- dist/editor/system/extensions/ext-grid/ext-grid.js | 4 ++-- .../editor/system/extensions/ext-helloworld/ext-helloworld.js | 4 ++-- dist/editor/system/extensions/ext-imagelib/ext-imagelib.js | 2 +- dist/editor/system/extensions/ext-markers/ext-markers.js | 2 +- dist/editor/system/extensions/ext-mathjax/ext-mathjax.js | 2 +- dist/editor/system/extensions/ext-panning/ext-panning.js | 4 ++-- dist/editor/system/extensions/ext-placemark/ext-placemark.js | 2 +- dist/editor/system/extensions/ext-polygon/ext-polygon.js | 2 +- .../extensions/ext-server_moinsave/ext-server_moinsave.js | 2 +- .../extensions/ext-server_opensave/ext-server_opensave.js | 2 +- dist/editor/system/extensions/ext-shapes/ext-shapes.js | 4 ++-- dist/editor/system/extensions/ext-star/ext-star.js | 2 +- dist/editor/system/extensions/ext-storage/ext-storage.js | 2 +- .../editor/system/extensions/ext-webappfind/ext-webappfind.js | 4 ++-- dist/editor/system/index.js | 2 +- dist/editor/system/jgraduate/jQuery.jGraduate.js | 4 ++-- dist/editor/xdomain-index.js | 2 +- dist/editor/xdomain-index.js.map | 2 +- 67 files changed, 85 insertions(+), 85 deletions(-) diff --git a/badges/coverage-badge.svg b/badges/coverage-badge.svg index b4d2867c..9bc0323a 100644 --- a/badges/coverage-badge.svg +++ b/badges/coverage-badge.svg @@ -1 +1 @@ -Statements 51.09%Statements 51.09%Branches 40.83%Branches 40.83%Lines 51.8%Lines 51.8%Functions 58.54%Functions 58.54% +Statements 51.09%Statements 51.09%Branches 40.83%Branches 40.83%Lines 51.81%Lines 51.81%Functions 58.54%Functions 58.54% diff --git a/dist/editor/embedapi.js b/dist/editor/embedapi.js index dd6459c4..4e4af622 100644 --- a/dist/editor/embedapi.js +++ b/dist/editor/embedapi.js @@ -24,7 +24,7 @@ let cbid = 0; function getCallbackSetter (funcName) { return function (...args) { const that = this, // New callback - callbackID = this.send(funcName, args, function () { /* */ }); // The callback (currently it's nothing, but will be set later) + callbackID = this.send(funcName, args, function () { /* empty */ }); // The callback (currently it's nothing, but will be set later) return function (newCallback) { that.callbacks[callbackID] = newCallback; // Set callback diff --git a/dist/editor/extensions/ext-arrows/ext-arrows.js b/dist/editor/extensions/ext-arrows/ext-arrows.js index a461338c..0d9a0524 100644 --- a/dist/editor/extensions/ext-arrows/ext-arrows.js +++ b/dist/editor/extensions/ext-arrows/ext-arrows.js @@ -6,5 +6,5 @@ var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo * * @copyright 2010 Alexis Deveria * - */var xo=function(){var t=_asyncToGenerator(regeneratorRuntime.mark((function _callee(t){var e;return regeneratorRuntime.wrap((function _callee$(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,__variableDynamicImportRuntime0__("./locale/".concat(t,".js"));case 3:e=r.sent,r.next=12;break;case 6:return r.prev=6,r.t0=r.catch(0),console.error("Missing translation (".concat(t,") - using 'en'")),r.next=11,Promise.resolve().then((function(){return _o}));case 11:e=r.sent;case 12:return r.abrupt("return",e.default);case 13:case"end":return r.stop()}}),_callee,null,[[0,6]])})));return function loadExtensionTranslation(e){return t.apply(this,arguments)}}(),Eo={name:"arrows",init:function init(t){var e=this;return _asyncToGenerator(regeneratorRuntime.mark((function _callee3(){var r,n,o,i,a,c,u,f,l,s,p,h,d,v,y,g,m,b,w,S;return regeneratorRuntime.wrap((function _callee3$(x){for(;;)switch(x.prev=x.next){case 0:return w=function _colorChanged(e){var r=e.getAttribute("stroke"),n=["start","mid","end"],i=o.findDefs();c.each(n,(function(o,a){var u=v(e,"marker-"+a);if(u){var f=c(u).children().attr("fill"),s=c(u).children().attr("d");if(f!==r){var p=c(i).find("marker"),h=null;if(p.each((function(){var t=c(this).children().attr(["fill","d"]);t.fill===r&&t.d===s&&(h=this)})),!h){var d=u.id.includes("_fw")?"fw":"bk";h=m(d,a,l+d+p.length),c(h).children().attr("fill",r)}c(e).attr("marker-"+a,"url(#"+h.id+")");var y=!0;c(t.svgcontent).find("line, polyline, path, polygon").each((function(){var t=this;if(c.each(n,(function(e,r){if(c(t).attr("marker-"+r)==="url(#"+u.id+")")return y=!1})),!y)return!1})),y&&c(u).remove()}}}))},b=function _setArrow(){g();var t=this.value;if("none"!==t){var e="fw";"mid_bk"===t?(t="mid",e="bk"):"both"===t?(m("bk",t),o.changeSelectedAttribute("marker-start","url(#"+d.bk.id+")"),t="end",e="fw"):"start"===t&&(e="bk"),m(e,t),o.changeSelectedAttribute("marker-"+t,"url(#"+d[e].id+")"),o.call("changed",f)}},m=function _addMarker(t,e,r){r=r||l+t;var n=d[t];"mid"===e&&(n.refx=5);var a=o.getElem(r);if(!a){a=i({element:"marker",attr:{viewBox:"0 0 10 10",id:r,refY:5,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",style:"pointer-events:none"}});var c=i({element:"path",attr:{d:n.d,fill:"#000000"}});a.append(c),o.findDefs().append(a)}return a.setAttribute("refX",n.refx),a},g=function _resetMarker(){var t=f[0];t.removeAttribute("marker-start"),t.removeAttribute("marker-mid"),t.removeAttribute("marker-end")},y=function _showPanel(t){if(c("#arrow_panel").toggle(t),t){var e,r=f[0],n=r.getAttribute("marker-end"),o=r.getAttribute("marker-start"),i=r.getAttribute("marker-mid");n&&o?e="both":n?e="end":o?e="start":i&&(e="mid",i.includes("bk")&&(e="mid_bk")),o||i||n||(e="none"),c("#arrow_list").val(e)}},v=function _getLinked(t,e){var r=t.getAttribute(e);if(!r)return null;var n=r.match(/\(#(.*)\)/);return n&&2===n.length?o.getElem(n[1]):null},h=function _unsetArrowNonce(t){s=!1,l=u,d.fw.id=l+"fw",d.bk.id=l+"bk"},p=function _setArrowNonce(t,e){s=!0,l=u+e+"_",d.fw.id=l+"fw",d.bk.id=l+"bk"},r=e,x.next=11,xo(r.curPrefs.lang);case 11:return n=x.sent,o=r.canvas,i=o.addSVGElementFromJson,a=t.nonce,c=t.$,u="se_arrow_",s=t.randomize_ids,o.bind("setnonce",p),o.bind("unsetnonce",h),d={fw:{d:"m0,0l10,5l-10,5l5,-5l-5,-5z",refx:8,id:(l=s?u+a+"_":u)+"fw"},bk:{d:"m10,0l-10,5l10,5l-5,-5l5,-5z",refx:2,id:l+"bk"}},S=[{type:"select",panel:"arrow_panel",id:"arrow_list",defval:"none",events:{change:b}}],x.abrupt("return",{name:n.name,context_tools:n.contextTools.map((function(t,e){return Object.assign(S[e],t)})),callback:function callback(){c("#arrow_panel").hide(),c("#arrow_list option")[0].id="connector_no_arrow"},addLangData:function addLangData(t){return _asyncToGenerator(regeneratorRuntime.mark((function _callee2(){var e,r,n;return regeneratorRuntime.wrap((function _callee2$(o){for(;;)switch(o.prev=o.next){case 0:return t.lang,e=t.importLocale,o.next=3,e();case 3:return r=o.sent,n=r.langList,o.abrupt("return",{data:n});case 6:case"end":return o.stop()}}),_callee2)})))()},selectedChanged:function selectedChanged(t){for(var e=["line","path","polyline","polygon"],r=(f=t.elems).length;r--;){var n=f[r];n&&e.includes(n.tagName)&&t.selectedElement&&!t.multiselected?y(!0):y(!1)}},elementChanged:function elementChanged(t){var e=t.elems[0];e&&(e.getAttribute("marker-start")||e.getAttribute("marker-mid")||e.getAttribute("marker-end"))&&w(e)}});case 21:case"end":return x.stop()}}),_callee3)})))()}},_o=Object.freeze({__proto__:null,default:{name:"Arrows",langList:[{id:"arrow_none",textContent:"No arrow"}],contextTools:[{title:"Select arrow type",options:{none:"No arrow",end:"---->",start:"<----",both:"<--->",mid:"-->--",mid_bk:"--<--"}}]}}),Oo=Object.freeze({__proto__:null,default:{name:"Arrows",langList:[{id:"arrow_none",textContent:"Sans flèche"}],contextTools:[{title:"Select arrow type",options:{none:"No arrow",end:"---->",start:"<----",both:"<--->",mid:"-->--",mid_bk:"--<--"}}]}}),jo=Object.freeze({__proto__:null,default:{name:"箭头",langList:[{id:"arrow_none",textContent:"无箭头"}],contextTools:[{title:"选择箭头类型",options:{none:"无箭头",end:"---->",start:"<----",both:"<--->",mid:"-->--",mid_bk:"--<--"}}]}});export default Eo; + */var xo=function(){var t=_asyncToGenerator(regeneratorRuntime.mark((function _callee(t){var e;return regeneratorRuntime.wrap((function _callee$(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,__variableDynamicImportRuntime0__("./locale/".concat(encodeURIComponent(t),".js"));case 3:e=r.sent,r.next=12;break;case 6:return r.prev=6,r.t0=r.catch(0),console.error("Missing translation (".concat(t,") - using 'en'")),r.next=11,Promise.resolve().then((function(){return _o}));case 11:e=r.sent;case 12:return r.abrupt("return",e.default);case 13:case"end":return r.stop()}}),_callee,null,[[0,6]])})));return function loadExtensionTranslation(e){return t.apply(this,arguments)}}(),Eo={name:"arrows",init:function init(t){var e=this;return _asyncToGenerator(regeneratorRuntime.mark((function _callee3(){var r,n,o,i,a,c,u,f,l,s,p,h,d,v,y,g,m,b,w,S;return regeneratorRuntime.wrap((function _callee3$(x){for(;;)switch(x.prev=x.next){case 0:return w=function _colorChanged(e){var r=e.getAttribute("stroke"),n=["start","mid","end"],i=o.findDefs();c.each(n,(function(o,a){var u=v(e,"marker-"+a);if(u){var f=c(u).children().attr("fill"),s=c(u).children().attr("d");if(f!==r){var p=c(i).find("marker"),h=null;if(p.each((function(){var t=c(this).children().attr(["fill","d"]);t.fill===r&&t.d===s&&(h=this)})),!h){var d=u.id.includes("_fw")?"fw":"bk";h=m(d,a,l+d+p.length),c(h).children().attr("fill",r)}c(e).attr("marker-"+a,"url(#"+h.id+")");var y=!0;c(t.svgcontent).find("line, polyline, path, polygon").each((function(){var t=this;if(c.each(n,(function(e,r){if(c(t).attr("marker-"+r)==="url(#"+u.id+")")return y=!1})),!y)return!1})),y&&c(u).remove()}}}))},b=function _setArrow(){g();var t=this.value;if("none"!==t){var e="fw";"mid_bk"===t?(t="mid",e="bk"):"both"===t?(m("bk",t),o.changeSelectedAttribute("marker-start","url(#"+d.bk.id+")"),t="end",e="fw"):"start"===t&&(e="bk"),m(e,t),o.changeSelectedAttribute("marker-"+t,"url(#"+d[e].id+")"),o.call("changed",f)}},m=function _addMarker(t,e,r){r=r||l+t;var n=d[t];"mid"===e&&(n.refx=5);var a=o.getElem(r);if(!a){a=i({element:"marker",attr:{viewBox:"0 0 10 10",id:r,refY:5,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",style:"pointer-events:none"}});var c=i({element:"path",attr:{d:n.d,fill:"#000000"}});a.append(c),o.findDefs().append(a)}return a.setAttribute("refX",n.refx),a},g=function _resetMarker(){var t=f[0];t.removeAttribute("marker-start"),t.removeAttribute("marker-mid"),t.removeAttribute("marker-end")},y=function _showPanel(t){if(c("#arrow_panel").toggle(t),t){var e,r=f[0],n=r.getAttribute("marker-end"),o=r.getAttribute("marker-start"),i=r.getAttribute("marker-mid");n&&o?e="both":n?e="end":o?e="start":i&&(e="mid",i.includes("bk")&&(e="mid_bk")),o||i||n||(e="none"),c("#arrow_list").val(e)}},v=function _getLinked(t,e){var r=t.getAttribute(e);if(!r)return null;var n=r.match(/\(#(.*)\)/);return n&&2===n.length?o.getElem(n[1]):null},h=function _unsetArrowNonce(t){s=!1,l=u,d.fw.id=l+"fw",d.bk.id=l+"bk"},p=function _setArrowNonce(t,e){s=!0,l=u+e+"_",d.fw.id=l+"fw",d.bk.id=l+"bk"},r=e,x.next=11,xo(r.curPrefs.lang);case 11:return n=x.sent,o=r.canvas,i=o.addSVGElementFromJson,a=t.nonce,c=t.$,u="se_arrow_",s=t.randomize_ids,o.bind("setnonce",p),o.bind("unsetnonce",h),d={fw:{d:"m0,0l10,5l-10,5l5,-5l-5,-5z",refx:8,id:(l=s?u+a+"_":u)+"fw"},bk:{d:"m10,0l-10,5l10,5l-5,-5l5,-5z",refx:2,id:l+"bk"}},S=[{type:"select",panel:"arrow_panel",id:"arrow_list",defval:"none",events:{change:b}}],x.abrupt("return",{name:n.name,context_tools:n.contextTools.map((function(t,e){return Object.assign(S[e],t)})),callback:function callback(){c("#arrow_panel").hide(),c("#arrow_list option")[0].id="connector_no_arrow"},addLangData:function addLangData(t){return _asyncToGenerator(regeneratorRuntime.mark((function _callee2(){var e,r,n;return regeneratorRuntime.wrap((function _callee2$(o){for(;;)switch(o.prev=o.next){case 0:return t.lang,e=t.importLocale,o.next=3,e();case 3:return r=o.sent,n=r.langList,o.abrupt("return",{data:n});case 6:case"end":return o.stop()}}),_callee2)})))()},selectedChanged:function selectedChanged(t){for(var e=["line","path","polyline","polygon"],r=(f=t.elems).length;r--;){var n=f[r];n&&e.includes(n.tagName)&&t.selectedElement&&!t.multiselected?y(!0):y(!1)}},elementChanged:function elementChanged(t){var e=t.elems[0];e&&(e.getAttribute("marker-start")||e.getAttribute("marker-mid")||e.getAttribute("marker-end"))&&w(e)}});case 21:case"end":return x.stop()}}),_callee3)})))()}},_o=Object.freeze({__proto__:null,default:{name:"Arrows",langList:[{id:"arrow_none",textContent:"No arrow"}],contextTools:[{title:"Select arrow type",options:{none:"No arrow",end:"---->",start:"<----",both:"<--->",mid:"-->--",mid_bk:"--<--"}}]}}),Oo=Object.freeze({__proto__:null,default:{name:"Arrows",langList:[{id:"arrow_none",textContent:"Sans flèche"}],contextTools:[{title:"Select arrow type",options:{none:"No arrow",end:"---->",start:"<----",both:"<--->",mid:"-->--",mid_bk:"--<--"}}]}}),jo=Object.freeze({__proto__:null,default:{name:"箭头",langList:[{id:"arrow_none",textContent:"无箭头"}],contextTools:[{title:"选择箭头类型",options:{none:"无箭头",end:"---->",start:"<----",both:"<--->",mid:"-->--",mid_bk:"--<--"}}]}});export default Eo; //# sourceMappingURL=ext-arrows.js.map diff --git a/dist/editor/extensions/ext-arrows/ext-arrows.js.map b/dist/editor/extensions/ext-arrows/ext-arrows.js.map index e8b51f37..79f918d2 100644 --- a/dist/editor/extensions/ext-arrows/ext-arrows.js.map +++ b/dist/editor/extensions/ext-arrows/ext-arrows.js.map @@ -1 +1 @@ -{"version":3,"file":"ext-arrows.js","sources":["../../../../node_modules/core-js/internals/global.js","../../../../node_modules/core-js/internals/fails.js","../../../../node_modules/core-js/internals/descriptors.js","../../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../../node_modules/core-js/internals/create-property-descriptor.js","../../../../node_modules/core-js/internals/classof-raw.js","../../../../node_modules/core-js/internals/indexed-object.js","../../../../node_modules/core-js/internals/require-object-coercible.js","../../../../node_modules/core-js/internals/to-indexed-object.js","../../../../node_modules/core-js/internals/is-object.js","../../../../node_modules/core-js/internals/to-primitive.js","../../../../node_modules/core-js/internals/has.js","../../../../node_modules/core-js/internals/document-create-element.js","../../../../node_modules/core-js/internals/ie8-dom-define.js","../../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../../node_modules/core-js/internals/an-object.js","../../../../node_modules/core-js/internals/object-define-property.js","../../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../../node_modules/core-js/internals/set-global.js","../../../../node_modules/core-js/internals/shared-store.js","../../../../node_modules/core-js/internals/inspect-source.js","../../../../node_modules/core-js/internals/internal-state.js","../../../../node_modules/core-js/internals/native-weak-map.js","../../../../node_modules/core-js/internals/shared.js","../../../../node_modules/core-js/internals/uid.js","../../../../node_modules/core-js/internals/shared-key.js","../../../../node_modules/core-js/internals/hidden-keys.js","../../../../node_modules/core-js/internals/object-create.js","../../../../node_modules/core-js/internals/redefine.js","../../../../node_modules/core-js/internals/path.js","../../../../node_modules/core-js/internals/get-built-in.js","../../../../node_modules/core-js/internals/to-integer.js","../../../../node_modules/core-js/internals/to-length.js","../../../../node_modules/core-js/internals/to-absolute-index.js","../../../../node_modules/core-js/internals/array-includes.js","../../../../node_modules/core-js/internals/object-keys-internal.js","../../../../node_modules/core-js/internals/enum-bug-keys.js","../../../../node_modules/core-js/internals/object-get-own-property-names.js","../../../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../../../node_modules/core-js/internals/own-keys.js","../../../../node_modules/core-js/internals/copy-constructor-properties.js","../../../../node_modules/core-js/internals/is-forced.js","../../../../node_modules/core-js/internals/export.js","../../../../node_modules/core-js/internals/to-object.js","../../../../node_modules/core-js/internals/native-symbol.js","../../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../../node_modules/core-js/internals/well-known-symbol.js","../../../../node_modules/core-js/internals/object-keys.js","../../../../node_modules/core-js/internals/object-define-properties.js","../../../../node_modules/core-js/internals/html.js","../../../../node_modules/core-js/internals/add-to-unscopables.js","../../../../node_modules/core-js/modules/es.array.fill.js","../../../../node_modules/core-js/internals/array-fill.js","../../../../node_modules/core-js/internals/a-function.js","../../../../node_modules/core-js/internals/function-bind-context.js","../../../../node_modules/core-js/internals/is-array.js","../../../../node_modules/core-js/internals/array-species-create.js","../../../../node_modules/core-js/internals/array-iteration.js","../../../../node_modules/core-js/internals/array-method-uses-to-length.js","../../../../node_modules/core-js/modules/es.array.find.js","../../../../node_modules/core-js/modules/es.array.includes.js","../../../../node_modules/core-js/internals/engine-user-agent.js","../../../../node_modules/core-js/internals/engine-v8-version.js","../../../../node_modules/core-js/internals/array-method-has-species-support.js","../../../../node_modules/core-js/modules/es.array.map.js","../../../../node_modules/core-js/internals/function-bind.js","../../../../node_modules/core-js/modules/es.function.bind.js","../../../../node_modules/core-js/modules/es.function.name.js","../../../../node_modules/core-js/internals/object-assign.js","../../../../node_modules/core-js/modules/es.object.assign.js","../../../../node_modules/core-js/internals/to-string-tag-support.js","../../../../node_modules/core-js/internals/classof.js","../../../../node_modules/core-js/internals/object-to-string.js","../../../../node_modules/core-js/modules/es.object.to-string.js","../../../../node_modules/core-js/internals/native-promise-constructor.js","../../../../node_modules/core-js/internals/set-to-string-tag.js","../../../../node_modules/core-js/internals/set-species.js","../../../../node_modules/core-js/internals/iterators.js","../../../../node_modules/core-js/internals/is-array-iterator-method.js","../../../../node_modules/core-js/internals/get-iterator-method.js","../../../../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../../node_modules/core-js/internals/iterate.js","../../../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../../../node_modules/core-js/internals/task.js","../../../../node_modules/core-js/internals/species-constructor.js","../../../../node_modules/core-js/internals/engine-is-ios.js","../../../../node_modules/core-js/internals/microtask.js","../../../../node_modules/core-js/modules/es.promise.js","../../../../node_modules/core-js/internals/new-promise-capability.js","../../../../node_modules/core-js/internals/promise-resolve.js","../../../../node_modules/core-js/internals/perform.js","../../../../node_modules/core-js/internals/host-report-errors.js","../../../../node_modules/core-js/internals/an-instance.js","../../../../node_modules/core-js/internals/redefine-all.js","../../../../node_modules/core-js/internals/regexp-flags.js","../../../../node_modules/core-js/internals/regexp-sticky-helpers.js","../../../../node_modules/core-js/internals/regexp-exec.js","../../../../node_modules/core-js/modules/es.regexp.exec.js","../../../../node_modules/core-js/internals/is-regexp.js","../../../../node_modules/core-js/internals/not-a-regexp.js","../../../../node_modules/core-js/internals/correct-is-regexp-logic.js","../../../../node_modules/core-js/modules/es.string.includes.js","../../../../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../../../../node_modules/core-js/internals/string-multibyte.js","../../../../node_modules/core-js/internals/advance-string-index.js","../../../../node_modules/core-js/internals/regexp-exec-abstract.js","../../../../node_modules/core-js/modules/es.string.match.js","../../../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../../../node_modules/core-js/internals/well-known-symbol-wrapped.js","../../../../node_modules/core-js/internals/define-well-known-symbol.js","../../../../node_modules/core-js/modules/es.symbol.js","../../../../node_modules/core-js/modules/es.symbol.description.js","../../../../node_modules/core-js/modules/es.symbol.async-iterator.js","../../../../node_modules/core-js/modules/es.symbol.iterator.js","../../../../node_modules/core-js/modules/es.symbol.to-string-tag.js","../../../../node_modules/core-js/internals/array-method-is-strict.js","../../../../node_modules/core-js/internals/array-for-each.js","../../../../node_modules/core-js/modules/es.array.for-each.js","../../../../node_modules/core-js/internals/correct-prototype-getter.js","../../../../node_modules/core-js/internals/iterators-core.js","../../../../node_modules/core-js/internals/object-get-prototype-of.js","../../../../node_modules/core-js/internals/create-iterator-constructor.js","../../../../node_modules/core-js/internals/object-set-prototype-of.js","../../../../node_modules/core-js/internals/a-possible-prototype.js","../../../../node_modules/core-js/internals/define-iterator.js","../../../../node_modules/core-js/modules/es.array.iterator.js","../../../../node_modules/core-js/modules/es.array.reverse.js","../../../../node_modules/core-js/internals/create-property.js","../../../../node_modules/core-js/modules/es.array.slice.js","../../../../node_modules/core-js/modules/es.date.to-string.js","../../../../node_modules/core-js/modules/es.json.to-string-tag.js","../../../../node_modules/core-js/modules/es.math.to-string-tag.js","../../../../node_modules/core-js/modules/es.object.create.js","../../../../node_modules/core-js/modules/es.object.define-property.js","../../../../node_modules/core-js/modules/es.object.get-prototype-of.js","../../../../node_modules/core-js/modules/es.object.set-prototype-of.js","../../../../node_modules/core-js/modules/es.regexp.to-string.js","../../../../node_modules/core-js/modules/es.string.iterator.js","../../../../node_modules/core-js/internals/dom-iterables.js","../../../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../../../node_modules/regenerator-runtime/runtime.js","../../../../src/editor/extensions/ext-arrows/ext-arrows.js","../../../../src/editor/extensions/ext-arrows/locale/en.js","../../../../src/editor/extensions/ext-arrows/locale/fr.js","../../../../src/editor/extensions/ext-arrows/locale/zh-CN.js"],"sourcesContent":["var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\n$({ target: 'Function', proto: true }, {\n bind: bind\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","module.exports = {};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = [].reverse;\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign\n if (isArray(this)) this.length = this.length;\n return nativeReverse.call(this);\n }\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/**\n * @file ext-arrows.js\n *\n * @license MIT\n *\n * @copyright 2010 Alexis Deveria\n *\n */\n\nconst loadExtensionTranslation = async function (lang) {\n let translationModule;\n try {\n translationModule = await import(`./locale/${lang}.js`);\n } catch (_error) {\n // eslint-disable-next-line no-console\n console.error(`Missing translation (${lang}) - using 'en'`);\n translationModule = await import(`./locale/en.js`);\n }\n return translationModule.default;\n};\n\nexport default {\n name: 'arrows',\n async init (S) {\n const svgEditor = this;\n const strings = await loadExtensionTranslation(svgEditor.curPrefs.lang);\n const svgCanvas = svgEditor.canvas;\n const\n addElem = svgCanvas.addSVGElementFromJson,\n {nonce, $} = S,\n prefix = 'se_arrow_';\n\n let selElems, arrowprefix, randomizeIds = S.randomize_ids;\n\n /**\n * @param {Window} win\n * @param {!(string|Integer)} n\n * @returns {void}\n */\n function setArrowNonce (win, n) {\n randomizeIds = true;\n arrowprefix = prefix + n + '_';\n pathdata.fw.id = arrowprefix + 'fw';\n pathdata.bk.id = arrowprefix + 'bk';\n }\n\n /**\n * @param {Window} win\n * @returns {void}\n */\n function unsetArrowNonce (win) {\n randomizeIds = false;\n arrowprefix = prefix;\n pathdata.fw.id = arrowprefix + 'fw';\n pathdata.bk.id = arrowprefix + 'bk';\n }\n\n svgCanvas.bind('setnonce', setArrowNonce);\n svgCanvas.bind('unsetnonce', unsetArrowNonce);\n\n if (randomizeIds) {\n arrowprefix = prefix + nonce + '_';\n } else {\n arrowprefix = prefix;\n }\n\n const pathdata = {\n fw: {d: 'm0,0l10,5l-10,5l5,-5l-5,-5z', refx: 8, id: arrowprefix + 'fw'},\n bk: {d: 'm10,0l-10,5l10,5l-5,-5l5,-5z', refx: 2, id: arrowprefix + 'bk'}\n };\n\n /**\n * Gets linked element.\n * @param {Element} elem\n * @param {string} attr\n * @returns {Element}\n */\n function getLinked (elem, attr) {\n const str = elem.getAttribute(attr);\n if (!str) { return null; }\n const m = str.match(/\\(#(.*)\\)/);\n // const m = str.match(/\\(#(?.+)\\)/);\n // if (!m || !m.groups.id) {\n if (!m || m.length !== 2) {\n return null;\n }\n return svgCanvas.getElem(m[1]);\n }\n\n /**\n * @param {boolean} on\n * @returns {void}\n */\n function showPanel (on) {\n $('#arrow_panel').toggle(on);\n if (on) {\n const el = selElems[0];\n const end = el.getAttribute('marker-end');\n const start = el.getAttribute('marker-start');\n const mid = el.getAttribute('marker-mid');\n let val;\n if (end && start) {\n val = 'both';\n } else if (end) {\n val = 'end';\n } else if (start) {\n val = 'start';\n } else if (mid) {\n val = 'mid';\n if (mid.includes('bk')) {\n val = 'mid_bk';\n }\n }\n\n if (!start && !mid && !end) {\n val = 'none';\n }\n\n $('#arrow_list').val(val);\n }\n }\n\n /**\n *\n * @returns {void}\n */\n function resetMarker () {\n const el = selElems[0];\n el.removeAttribute('marker-start');\n el.removeAttribute('marker-mid');\n el.removeAttribute('marker-end');\n }\n\n /**\n * @param {\"bk\"|\"fw\"} dir\n * @param {\"both\"|\"mid\"|\"end\"|\"start\"} type\n * @param {string} id\n * @returns {Element}\n */\n function addMarker (dir, type, id) {\n // TODO: Make marker (or use?) per arrow type, since refX can be different\n id = id || arrowprefix + dir;\n\n const data = pathdata[dir];\n\n if (type === 'mid') {\n data.refx = 5;\n }\n\n let marker = svgCanvas.getElem(id);\n if (!marker) {\n marker = addElem({\n element: 'marker',\n attr: {\n viewBox: '0 0 10 10',\n id,\n refY: 5,\n markerUnits: 'strokeWidth',\n markerWidth: 5,\n markerHeight: 5,\n orient: 'auto',\n style: 'pointer-events:none' // Currently needed for Opera\n }\n });\n const arrow = addElem({\n element: 'path',\n attr: {\n d: data.d,\n fill: '#000000'\n }\n });\n marker.append(arrow);\n svgCanvas.findDefs().append(marker);\n }\n\n marker.setAttribute('refX', data.refx);\n\n return marker;\n }\n\n /**\n *\n * @returns {void}\n */\n function setArrow () {\n resetMarker();\n\n let type = this.value;\n if (type === 'none') {\n return;\n }\n\n // Set marker on element\n let dir = 'fw';\n if (type === 'mid_bk') {\n type = 'mid';\n dir = 'bk';\n } else if (type === 'both') {\n addMarker('bk', type);\n svgCanvas.changeSelectedAttribute('marker-start', 'url(#' + pathdata.bk.id + ')');\n type = 'end';\n dir = 'fw';\n } else if (type === 'start') {\n dir = 'bk';\n }\n\n addMarker(dir, type);\n svgCanvas.changeSelectedAttribute('marker-' + type, 'url(#' + pathdata[dir].id + ')');\n svgCanvas.call('changed', selElems);\n }\n\n /**\n * @param {Element} elem\n * @returns {void}\n */\n function colorChanged (elem) {\n const color = elem.getAttribute('stroke');\n const mtypes = ['start', 'mid', 'end'];\n const defs = svgCanvas.findDefs();\n\n $.each(mtypes, function (i, type) {\n const marker = getLinked(elem, 'marker-' + type);\n if (!marker) { return; }\n\n const curColor = $(marker).children().attr('fill');\n const curD = $(marker).children().attr('d');\n if (curColor === color) { return; }\n\n const allMarkers = $(defs).find('marker');\n let newMarker = null;\n // Different color, check if already made\n allMarkers.each(function () {\n const attrs = $(this).children().attr(['fill', 'd']);\n if (attrs.fill === color && attrs.d === curD) {\n // Found another marker with this color and this path\n newMarker = this;\n }\n });\n\n if (!newMarker) {\n // Create a new marker with this color\n const lastId = marker.id;\n const dir = lastId.includes('_fw') ? 'fw' : 'bk';\n\n newMarker = addMarker(dir, type, arrowprefix + dir + allMarkers.length);\n\n $(newMarker).children().attr('fill', color);\n }\n\n $(elem).attr('marker-' + type, 'url(#' + newMarker.id + ')');\n\n // Check if last marker can be removed\n let remove = true;\n $(S.svgcontent).find('line, polyline, path, polygon').each(function () {\n const element = this;\n $.each(mtypes, function (j, mtype) {\n if ($(element).attr('marker-' + mtype) === 'url(#' + marker.id + ')') {\n remove = false;\n return remove;\n }\n return undefined;\n });\n if (!remove) { return false; }\n return undefined;\n });\n\n // Not found, so can safely remove\n if (remove) {\n $(marker).remove();\n }\n });\n }\n\n const contextTools = [\n {\n type: 'select',\n panel: 'arrow_panel',\n id: 'arrow_list',\n defval: 'none',\n events: {\n change: setArrow\n }\n }\n ];\n\n return {\n name: strings.name,\n context_tools: strings.contextTools.map((contextTool, i) => {\n return Object.assign(contextTools[i], contextTool);\n }),\n callback () {\n $('#arrow_panel').hide();\n // Set ID so it can be translated in locale file\n $('#arrow_list option')[0].id = 'connector_no_arrow';\n },\n async addLangData ({lang, importLocale}) {\n const {langList} = await importLocale();\n return {\n data: langList\n };\n },\n selectedChanged (opts) {\n // Use this to update the current selected elements\n selElems = opts.elems;\n\n const markerElems = ['line', 'path', 'polyline', 'polygon'];\n let i = selElems.length;\n while (i--) {\n const elem = selElems[i];\n if (elem && markerElems.includes(elem.tagName)) {\n if (opts.selectedElement && !opts.multiselected) {\n showPanel(true);\n } else {\n showPanel(false);\n }\n } else {\n showPanel(false);\n }\n }\n },\n elementChanged (opts) {\n const elem = opts.elems[0];\n if (elem && (\n elem.getAttribute('marker-start') ||\n elem.getAttribute('marker-mid') ||\n elem.getAttribute('marker-end')\n )) {\n // const start = elem.getAttribute('marker-start');\n // const mid = elem.getAttribute('marker-mid');\n // const end = elem.getAttribute('marker-end');\n // Has marker, so see if it should match color\n colorChanged(elem);\n }\n }\n };\n }\n};\n","export default {\n name: 'Arrows',\n langList: [\n {id: 'arrow_none', textContent: 'No arrow'}\n ],\n contextTools: [\n {\n title: 'Select arrow type',\n options: {\n none: 'No arrow',\n end: '---->',\n start: '<----',\n both: '<--->',\n mid: '-->--',\n mid_bk: '--<--'\n }\n }\n ]\n};\n","export default {\n name: 'Arrows',\n langList: [\n {id: 'arrow_none', textContent: 'Sans flèche'}\n ],\n contextTools: [\n {\n title: 'Select arrow type',\n options: {\n none: 'No arrow',\n end: '---->',\n start: '<----',\n both: '<--->',\n mid: '-->--',\n mid_bk: '--<--'\n }\n }\n ]\n};\n","export default {\n name: '箭头',\n langList: [\n {id: 'arrow_none', textContent: '无箭头'}\n ],\n contextTools: [\n {\n title: '选择箭头类型',\n options: {\n none: '无箭头',\n end: '---->',\n start: '<----',\n both: '<--->',\n mid: '-->--',\n mid_bk: '--<--'\n }\n }\n ]\n};\n"],"names":["check","it","Math","globalThis","window","self","global","Function","exec","error","fails","Object","defineProperty","get","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","call","1","V","descriptor","this","enumerable","bitmap","value","configurable","writable","toString","slice","split","classof","undefined","TypeError","IndexedObject","requireObjectCoercible","input","PREFERRED_STRING","isObject","fn","val","valueOf","hasOwnProperty","key","document","EXISTS","createElement","DESCRIPTORS","a","nativeGetOwnPropertyDescriptor","O","P","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","has","createPropertyDescriptor","propertyIsEnumerableModule","f","String","nativeDefineProperty","Attributes","anObject","object","definePropertyModule","createNonEnumerableProperty","setGlobal","functionToString","store","inspectSource","set","WeakMap","test","module","push","version","mode","copyright","id","postfix","random","keys","shared","uid","NATIVE_WEAK_MAP","wmget","wmhas","wmset","metadata","STATE","sharedKey","hiddenKeys","objectHas","activeXDocument","enforce","getterFor","TYPE","state","type","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","source","join","prototype","aFunction","variable","namespace","method","arguments","length","path","ceil","floor","argument","isNaN","min","toInteger","max","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","toLength","toAbsoluteIndex","includes","indexOf","require$$0","names","i","result","enumBugKeys","concat","getOwnPropertyNames","internalObjectKeys","getOwnPropertySymbols","getBuiltIn","ownKeys","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","target","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","copyConstructorProperties","sham","redefine","Symbol","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","USE_SYMBOL_AS_UID","withoutSetter","name","defineProperties","Properties","objectKeys","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","documentCreateElement","style","display","html","appendChild","src","contentWindow","open","F","create","UNSCOPABLES","wellKnownSymbol","ArrayPrototype","Array","$","proto","fill","toObject","argumentsLength","end","endPos","addToUnscopables","that","b","c","apply","isArray","arg","SPECIES","originalArray","C","constructor","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","specificCreate","boundFunction","bind","arraySpeciesCreate","forEach","map","filter","some","every","find","findIndex","cache","thrower","METHOD_NAME","ACCESSORS","argument0","argument1","$find","SKIPS_HOLES","USES_TO_LENGTH","arrayMethodUsesToLength","$includes","match","process","versions","v8","userAgent","V8_VERSION","array","foo","Boolean","$map","HAS_SPECIES_SUPPORT","arrayMethodHasSpeciesSupport","factories","construct","argsLength","args","list","partArgs","bound","FunctionPrototype","FunctionPrototypeToString","nameRE","nativeAssign","assign","A","B","symbol","alphabet","chr","T","S","j","TO_STRING_TAG","CORRECT_ARGUMENTS","classofRaw","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","Promise","TAG","ITERATOR","ENTRIES","returnMethod","Result","stopped","iterable","AS_ENTRIES","IS_ITERATOR","iterFn","next","step","Iterators","getIteratorMethod","done","callWithSafeIterationClosing","stop","SAFE_CLOSING","called","iteratorWithReturn","return","from","defer","channel","port","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","counter","queue","run","runner","listener","event","post","postMessage","protocol","host","nextTick","now","IS_IOS","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","flush","head","last","notify","toggle","node","promise","then","macrotask","require$$1","MutationObserver","WebKitMutationObserver","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","parent","exit","enter","createTextNode","observe","characterData","resolve","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","task","PromiseCapability","reject","$$resolve","$$reject","x","promiseCapability","newPromiseCapability","PROMISE","setInternalState","getInternalPromiseState","PromiseConstructor","NativePromise","$fetch","newPromiseCapabilityModule","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","FORCED","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","SKIP_CLOSING","ITERATION_SUPPORT","checkCorrectnessOfIteration","all","isThenable","isReject","notified","chain","reactions","microtask","ok","exited","reaction","handler","fail","rejection","onHandleUnhandled","onUnhandled","reason","initEvent","console","hostReportErrors","isUnhandled","perform","emit","unwrap","internalReject","internalResolve","wrapper","executor","Constructor","anInstance","redefineAll","onFulfilled","onRejected","defaultConstructor","catch","fetch","promiseResolve","wrap","setToStringTag","CONSTRUCTOR_NAME","setSpecies","r","capability","$promiseResolve","values","remaining","iterate","alreadyCalled","race","ignoreCase","multiline","dotAll","unicode","sticky","RE","s","RegExp","re1","re2","re","lastIndex","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","stickyHelpers","BROKEN_CARET","NPCG_INCLUDED","str","reCopy","flags","regexpFlags","charsAdded","strCopy","MATCH","isRegExp","regexp","e","correctIsRegExpLogic","searchString","notARegExp","REPLACE_SUPPORTS_NAMED_GROUPS","groups","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","CONVERT_TO_STRING","pos","first","second","position","size","charCodeAt","charAt","codeAt","R","regexpExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","methods","nativeMethod","arg2","forceStringMethod","stringMethod","regexMethod","fixRegExpWellKnownSymbolLogic","nativeMatch","maybeCallNative","matcher","res","rx","regExpExec","fullUnicode","n","matchStr","advanceStringIndex","nativeGetOwnPropertyNames","windowNames","getWindowNames","NAME","wrappedWellKnownSymbolModule","$forEach","HIDDEN","TO_PRIMITIVE","ObjectPrototype","$Symbol","$stringify","getOwnPropertyNamesExternal","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","nativeObjectCreate","ObjectPrototypeDescriptor","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","setter","defineWellKnownSymbol","for","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","replacer","space","$replacer","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","STRICT_METHOD","arrayMethodIsStrict","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","BUGGY_SAFARI_ITERATORS","returnThis","setPrototypeOf","CORRECT_SETTER","aPossiblePrototype","__proto__","IteratorsCore","Iterable","IteratorConstructor","DEFAULT","IS_SET","createIteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","entries","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","defineIterator","iterated","kind","Arguments","nativeReverse","reverse","0","nativeSlice","start","propertyKey","k","fin","DatePrototype","Date","nativeDateToString","getTime","NaN","JSON","objectDefinePropertyModile","FAILS_ON_PRIMITIVES","nativeGetPrototypeOf","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","p","rf","point","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","COLLECTION_NAME","DOMIterables","Collection","CollectionPrototype","ArrayValues","ArrayIteratorMethods","runtime","exports","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","err","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","GenStateSuspendedStart","invoke","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","enqueue","callInvokeWithMethodAndArg","_typeof","__await","unwrapped","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","pop","skipTempReset","prev","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","loadExtensionTranslation","lang","__variableDynamicImportRuntime0__","translationModule","init","setArrowNonce","unsetArrowNonce","getLinked","showPanel","resetMarker","addMarker","setArrow","colorChanged","elem","color","getAttribute","mtypes","defs","svgCanvas","findDefs","each","marker","curColor","children","attr","curD","allMarkers","newMarker","attrs","d","dir","arrowprefix","remove","svgcontent","element","mtype","changeSelectedAttribute","pathdata","bk","selElems","refx","getElem","addElem","viewBox","refY","markerUnits","markerWidth","markerHeight","orient","arrow","append","setAttribute","removeAttribute","on","mid","m","win","randomizeIds","prefix","fw","svgEditor","_this","curPrefs","strings","canvas","addSVGElementFromJson","nonce","randomize_ids","contextTools","panel","defval","events","change","context_tools","contextTool","callback","hide","addLangData","importLocale","langList","selectedChanged","opts","markerElems","elems","tagName","selectedElement","multiselected","elementChanged","textContent","title","none","both","mid_bk"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ext-arrows.js","sources":["../../../../node_modules/core-js/internals/global.js","../../../../node_modules/core-js/internals/fails.js","../../../../node_modules/core-js/internals/descriptors.js","../../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../../node_modules/core-js/internals/create-property-descriptor.js","../../../../node_modules/core-js/internals/classof-raw.js","../../../../node_modules/core-js/internals/indexed-object.js","../../../../node_modules/core-js/internals/require-object-coercible.js","../../../../node_modules/core-js/internals/to-indexed-object.js","../../../../node_modules/core-js/internals/is-object.js","../../../../node_modules/core-js/internals/to-primitive.js","../../../../node_modules/core-js/internals/has.js","../../../../node_modules/core-js/internals/document-create-element.js","../../../../node_modules/core-js/internals/ie8-dom-define.js","../../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../../node_modules/core-js/internals/an-object.js","../../../../node_modules/core-js/internals/object-define-property.js","../../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../../node_modules/core-js/internals/set-global.js","../../../../node_modules/core-js/internals/shared-store.js","../../../../node_modules/core-js/internals/inspect-source.js","../../../../node_modules/core-js/internals/internal-state.js","../../../../node_modules/core-js/internals/native-weak-map.js","../../../../node_modules/core-js/internals/shared.js","../../../../node_modules/core-js/internals/uid.js","../../../../node_modules/core-js/internals/shared-key.js","../../../../node_modules/core-js/internals/hidden-keys.js","../../../../node_modules/core-js/internals/object-create.js","../../../../node_modules/core-js/internals/redefine.js","../../../../node_modules/core-js/internals/path.js","../../../../node_modules/core-js/internals/get-built-in.js","../../../../node_modules/core-js/internals/to-integer.js","../../../../node_modules/core-js/internals/to-length.js","../../../../node_modules/core-js/internals/to-absolute-index.js","../../../../node_modules/core-js/internals/array-includes.js","../../../../node_modules/core-js/internals/object-keys-internal.js","../../../../node_modules/core-js/internals/enum-bug-keys.js","../../../../node_modules/core-js/internals/object-get-own-property-names.js","../../../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../../../node_modules/core-js/internals/own-keys.js","../../../../node_modules/core-js/internals/copy-constructor-properties.js","../../../../node_modules/core-js/internals/is-forced.js","../../../../node_modules/core-js/internals/export.js","../../../../node_modules/core-js/internals/to-object.js","../../../../node_modules/core-js/internals/native-symbol.js","../../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../../node_modules/core-js/internals/well-known-symbol.js","../../../../node_modules/core-js/internals/object-keys.js","../../../../node_modules/core-js/internals/object-define-properties.js","../../../../node_modules/core-js/internals/html.js","../../../../node_modules/core-js/internals/add-to-unscopables.js","../../../../node_modules/core-js/modules/es.array.fill.js","../../../../node_modules/core-js/internals/array-fill.js","../../../../node_modules/core-js/internals/a-function.js","../../../../node_modules/core-js/internals/function-bind-context.js","../../../../node_modules/core-js/internals/is-array.js","../../../../node_modules/core-js/internals/array-species-create.js","../../../../node_modules/core-js/internals/array-iteration.js","../../../../node_modules/core-js/internals/array-method-uses-to-length.js","../../../../node_modules/core-js/modules/es.array.find.js","../../../../node_modules/core-js/modules/es.array.includes.js","../../../../node_modules/core-js/internals/engine-user-agent.js","../../../../node_modules/core-js/internals/engine-v8-version.js","../../../../node_modules/core-js/internals/array-method-has-species-support.js","../../../../node_modules/core-js/modules/es.array.map.js","../../../../node_modules/core-js/internals/function-bind.js","../../../../node_modules/core-js/modules/es.function.bind.js","../../../../node_modules/core-js/modules/es.function.name.js","../../../../node_modules/core-js/internals/object-assign.js","../../../../node_modules/core-js/modules/es.object.assign.js","../../../../node_modules/core-js/internals/to-string-tag-support.js","../../../../node_modules/core-js/internals/classof.js","../../../../node_modules/core-js/internals/object-to-string.js","../../../../node_modules/core-js/modules/es.object.to-string.js","../../../../node_modules/core-js/internals/native-promise-constructor.js","../../../../node_modules/core-js/internals/set-to-string-tag.js","../../../../node_modules/core-js/internals/set-species.js","../../../../node_modules/core-js/internals/iterators.js","../../../../node_modules/core-js/internals/is-array-iterator-method.js","../../../../node_modules/core-js/internals/get-iterator-method.js","../../../../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../../node_modules/core-js/internals/iterate.js","../../../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../../../node_modules/core-js/internals/task.js","../../../../node_modules/core-js/internals/species-constructor.js","../../../../node_modules/core-js/internals/engine-is-ios.js","../../../../node_modules/core-js/internals/microtask.js","../../../../node_modules/core-js/modules/es.promise.js","../../../../node_modules/core-js/internals/new-promise-capability.js","../../../../node_modules/core-js/internals/promise-resolve.js","../../../../node_modules/core-js/internals/perform.js","../../../../node_modules/core-js/internals/host-report-errors.js","../../../../node_modules/core-js/internals/an-instance.js","../../../../node_modules/core-js/internals/redefine-all.js","../../../../node_modules/core-js/internals/regexp-flags.js","../../../../node_modules/core-js/internals/regexp-sticky-helpers.js","../../../../node_modules/core-js/internals/regexp-exec.js","../../../../node_modules/core-js/modules/es.regexp.exec.js","../../../../node_modules/core-js/internals/is-regexp.js","../../../../node_modules/core-js/internals/not-a-regexp.js","../../../../node_modules/core-js/internals/correct-is-regexp-logic.js","../../../../node_modules/core-js/modules/es.string.includes.js","../../../../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../../../../node_modules/core-js/internals/string-multibyte.js","../../../../node_modules/core-js/internals/advance-string-index.js","../../../../node_modules/core-js/internals/regexp-exec-abstract.js","../../../../node_modules/core-js/modules/es.string.match.js","../../../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../../../node_modules/core-js/internals/well-known-symbol-wrapped.js","../../../../node_modules/core-js/internals/define-well-known-symbol.js","../../../../node_modules/core-js/modules/es.symbol.js","../../../../node_modules/core-js/modules/es.symbol.description.js","../../../../node_modules/core-js/modules/es.symbol.async-iterator.js","../../../../node_modules/core-js/modules/es.symbol.iterator.js","../../../../node_modules/core-js/modules/es.symbol.to-string-tag.js","../../../../node_modules/core-js/internals/array-method-is-strict.js","../../../../node_modules/core-js/internals/array-for-each.js","../../../../node_modules/core-js/modules/es.array.for-each.js","../../../../node_modules/core-js/internals/correct-prototype-getter.js","../../../../node_modules/core-js/internals/iterators-core.js","../../../../node_modules/core-js/internals/object-get-prototype-of.js","../../../../node_modules/core-js/internals/create-iterator-constructor.js","../../../../node_modules/core-js/internals/object-set-prototype-of.js","../../../../node_modules/core-js/internals/a-possible-prototype.js","../../../../node_modules/core-js/internals/define-iterator.js","../../../../node_modules/core-js/modules/es.array.iterator.js","../../../../node_modules/core-js/modules/es.array.reverse.js","../../../../node_modules/core-js/internals/create-property.js","../../../../node_modules/core-js/modules/es.array.slice.js","../../../../node_modules/core-js/modules/es.date.to-string.js","../../../../node_modules/core-js/modules/es.json.to-string-tag.js","../../../../node_modules/core-js/modules/es.math.to-string-tag.js","../../../../node_modules/core-js/modules/es.object.create.js","../../../../node_modules/core-js/modules/es.object.define-property.js","../../../../node_modules/core-js/modules/es.object.get-prototype-of.js","../../../../node_modules/core-js/modules/es.object.set-prototype-of.js","../../../../node_modules/core-js/modules/es.regexp.to-string.js","../../../../node_modules/core-js/modules/es.string.iterator.js","../../../../node_modules/core-js/internals/dom-iterables.js","../../../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../../../node_modules/regenerator-runtime/runtime.js","../../../../src/editor/extensions/ext-arrows/ext-arrows.js","../../../../src/editor/extensions/ext-arrows/locale/en.js","../../../../src/editor/extensions/ext-arrows/locale/fr.js","../../../../src/editor/extensions/ext-arrows/locale/zh-CN.js"],"sourcesContent":["var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\n$({ target: 'Function', proto: true }, {\n bind: bind\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","module.exports = {};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = [].reverse;\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign\n if (isArray(this)) this.length = this.length;\n return nativeReverse.call(this);\n }\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/**\n * @file ext-arrows.js\n *\n * @license MIT\n *\n * @copyright 2010 Alexis Deveria\n *\n */\n\nconst loadExtensionTranslation = async function (lang) {\n let translationModule;\n try {\n translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`);\n } catch (_error) {\n // eslint-disable-next-line no-console\n console.error(`Missing translation (${lang}) - using 'en'`);\n translationModule = await import(`./locale/en.js`);\n }\n return translationModule.default;\n};\n\nexport default {\n name: 'arrows',\n async init (S) {\n const svgEditor = this;\n const strings = await loadExtensionTranslation(svgEditor.curPrefs.lang);\n const svgCanvas = svgEditor.canvas;\n const\n addElem = svgCanvas.addSVGElementFromJson,\n {nonce, $} = S,\n prefix = 'se_arrow_';\n\n let selElems, arrowprefix, randomizeIds = S.randomize_ids;\n\n /**\n * @param {Window} win\n * @param {!(string|Integer)} n\n * @returns {void}\n */\n function setArrowNonce (win, n) {\n randomizeIds = true;\n arrowprefix = prefix + n + '_';\n pathdata.fw.id = arrowprefix + 'fw';\n pathdata.bk.id = arrowprefix + 'bk';\n }\n\n /**\n * @param {Window} win\n * @returns {void}\n */\n function unsetArrowNonce (win) {\n randomizeIds = false;\n arrowprefix = prefix;\n pathdata.fw.id = arrowprefix + 'fw';\n pathdata.bk.id = arrowprefix + 'bk';\n }\n\n svgCanvas.bind('setnonce', setArrowNonce);\n svgCanvas.bind('unsetnonce', unsetArrowNonce);\n\n if (randomizeIds) {\n arrowprefix = prefix + nonce + '_';\n } else {\n arrowprefix = prefix;\n }\n\n const pathdata = {\n fw: {d: 'm0,0l10,5l-10,5l5,-5l-5,-5z', refx: 8, id: arrowprefix + 'fw'},\n bk: {d: 'm10,0l-10,5l10,5l-5,-5l5,-5z', refx: 2, id: arrowprefix + 'bk'}\n };\n\n /**\n * Gets linked element.\n * @param {Element} elem\n * @param {string} attr\n * @returns {Element}\n */\n function getLinked (elem, attr) {\n const str = elem.getAttribute(attr);\n if (!str) { return null; }\n const m = str.match(/\\(#(.*)\\)/);\n // const m = str.match(/\\(#(?.+)\\)/);\n // if (!m || !m.groups.id) {\n if (!m || m.length !== 2) {\n return null;\n }\n return svgCanvas.getElem(m[1]);\n }\n\n /**\n * @param {boolean} on\n * @returns {void}\n */\n function showPanel (on) {\n $('#arrow_panel').toggle(on);\n if (on) {\n const el = selElems[0];\n const end = el.getAttribute('marker-end');\n const start = el.getAttribute('marker-start');\n const mid = el.getAttribute('marker-mid');\n let val;\n if (end && start) {\n val = 'both';\n } else if (end) {\n val = 'end';\n } else if (start) {\n val = 'start';\n } else if (mid) {\n val = 'mid';\n if (mid.includes('bk')) {\n val = 'mid_bk';\n }\n }\n\n if (!start && !mid && !end) {\n val = 'none';\n }\n\n $('#arrow_list').val(val);\n }\n }\n\n /**\n *\n * @returns {void}\n */\n function resetMarker () {\n const el = selElems[0];\n el.removeAttribute('marker-start');\n el.removeAttribute('marker-mid');\n el.removeAttribute('marker-end');\n }\n\n /**\n * @param {\"bk\"|\"fw\"} dir\n * @param {\"both\"|\"mid\"|\"end\"|\"start\"} type\n * @param {string} id\n * @returns {Element}\n */\n function addMarker (dir, type, id) {\n // TODO: Make marker (or use?) per arrow type, since refX can be different\n id = id || arrowprefix + dir;\n\n const data = pathdata[dir];\n\n if (type === 'mid') {\n data.refx = 5;\n }\n\n let marker = svgCanvas.getElem(id);\n if (!marker) {\n marker = addElem({\n element: 'marker',\n attr: {\n viewBox: '0 0 10 10',\n id,\n refY: 5,\n markerUnits: 'strokeWidth',\n markerWidth: 5,\n markerHeight: 5,\n orient: 'auto',\n style: 'pointer-events:none' // Currently needed for Opera\n }\n });\n const arrow = addElem({\n element: 'path',\n attr: {\n d: data.d,\n fill: '#000000'\n }\n });\n marker.append(arrow);\n svgCanvas.findDefs().append(marker);\n }\n\n marker.setAttribute('refX', data.refx);\n\n return marker;\n }\n\n /**\n *\n * @returns {void}\n */\n function setArrow () {\n resetMarker();\n\n let type = this.value;\n if (type === 'none') {\n return;\n }\n\n // Set marker on element\n let dir = 'fw';\n if (type === 'mid_bk') {\n type = 'mid';\n dir = 'bk';\n } else if (type === 'both') {\n addMarker('bk', type);\n svgCanvas.changeSelectedAttribute('marker-start', 'url(#' + pathdata.bk.id + ')');\n type = 'end';\n dir = 'fw';\n } else if (type === 'start') {\n dir = 'bk';\n }\n\n addMarker(dir, type);\n svgCanvas.changeSelectedAttribute('marker-' + type, 'url(#' + pathdata[dir].id + ')');\n svgCanvas.call('changed', selElems);\n }\n\n /**\n * @param {Element} elem\n * @returns {void}\n */\n function colorChanged (elem) {\n const color = elem.getAttribute('stroke');\n const mtypes = ['start', 'mid', 'end'];\n const defs = svgCanvas.findDefs();\n\n $.each(mtypes, function (i, type) {\n const marker = getLinked(elem, 'marker-' + type);\n if (!marker) { return; }\n\n const curColor = $(marker).children().attr('fill');\n const curD = $(marker).children().attr('d');\n if (curColor === color) { return; }\n\n const allMarkers = $(defs).find('marker');\n let newMarker = null;\n // Different color, check if already made\n allMarkers.each(function () {\n const attrs = $(this).children().attr(['fill', 'd']);\n if (attrs.fill === color && attrs.d === curD) {\n // Found another marker with this color and this path\n newMarker = this;\n }\n });\n\n if (!newMarker) {\n // Create a new marker with this color\n const lastId = marker.id;\n const dir = lastId.includes('_fw') ? 'fw' : 'bk';\n\n newMarker = addMarker(dir, type, arrowprefix + dir + allMarkers.length);\n\n $(newMarker).children().attr('fill', color);\n }\n\n $(elem).attr('marker-' + type, 'url(#' + newMarker.id + ')');\n\n // Check if last marker can be removed\n let remove = true;\n $(S.svgcontent).find('line, polyline, path, polygon').each(function () {\n const element = this;\n $.each(mtypes, function (j, mtype) {\n if ($(element).attr('marker-' + mtype) === 'url(#' + marker.id + ')') {\n remove = false;\n return remove;\n }\n return undefined;\n });\n if (!remove) { return false; }\n return undefined;\n });\n\n // Not found, so can safely remove\n if (remove) {\n $(marker).remove();\n }\n });\n }\n\n const contextTools = [\n {\n type: 'select',\n panel: 'arrow_panel',\n id: 'arrow_list',\n defval: 'none',\n events: {\n change: setArrow\n }\n }\n ];\n\n return {\n name: strings.name,\n context_tools: strings.contextTools.map((contextTool, i) => {\n return Object.assign(contextTools[i], contextTool);\n }),\n callback () {\n $('#arrow_panel').hide();\n // Set ID so it can be translated in locale file\n $('#arrow_list option')[0].id = 'connector_no_arrow';\n },\n async addLangData ({lang, importLocale}) {\n const {langList} = await importLocale();\n return {\n data: langList\n };\n },\n selectedChanged (opts) {\n // Use this to update the current selected elements\n selElems = opts.elems;\n\n const markerElems = ['line', 'path', 'polyline', 'polygon'];\n let i = selElems.length;\n while (i--) {\n const elem = selElems[i];\n if (elem && markerElems.includes(elem.tagName)) {\n if (opts.selectedElement && !opts.multiselected) {\n showPanel(true);\n } else {\n showPanel(false);\n }\n } else {\n showPanel(false);\n }\n }\n },\n elementChanged (opts) {\n const elem = opts.elems[0];\n if (elem && (\n elem.getAttribute('marker-start') ||\n elem.getAttribute('marker-mid') ||\n elem.getAttribute('marker-end')\n )) {\n // const start = elem.getAttribute('marker-start');\n // const mid = elem.getAttribute('marker-mid');\n // const end = elem.getAttribute('marker-end');\n // Has marker, so see if it should match color\n colorChanged(elem);\n }\n }\n };\n }\n};\n","export default {\n name: 'Arrows',\n langList: [\n {id: 'arrow_none', textContent: 'No arrow'}\n ],\n contextTools: [\n {\n title: 'Select arrow type',\n options: {\n none: 'No arrow',\n end: '---->',\n start: '<----',\n both: '<--->',\n mid: '-->--',\n mid_bk: '--<--'\n }\n }\n ]\n};\n","export default {\n name: 'Arrows',\n langList: [\n {id: 'arrow_none', textContent: 'Sans flèche'}\n ],\n contextTools: [\n {\n title: 'Select arrow type',\n options: {\n none: 'No arrow',\n end: '---->',\n start: '<----',\n both: '<--->',\n mid: '-->--',\n mid_bk: '--<--'\n }\n }\n ]\n};\n","export default {\n name: '箭头',\n langList: [\n {id: 'arrow_none', textContent: '无箭头'}\n ],\n contextTools: [\n {\n title: '选择箭头类型',\n options: {\n none: '无箭头',\n end: '---->',\n start: '<----',\n both: '<--->',\n mid: '-->--',\n mid_bk: '--<--'\n }\n }\n ]\n};\n"],"names":["check","it","Math","globalThis","window","self","global","Function","exec","error","fails","Object","defineProperty","get","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","call","1","V","descriptor","this","enumerable","bitmap","value","configurable","writable","toString","slice","split","classof","undefined","TypeError","IndexedObject","requireObjectCoercible","input","PREFERRED_STRING","isObject","fn","val","valueOf","hasOwnProperty","key","document","EXISTS","createElement","DESCRIPTORS","a","nativeGetOwnPropertyDescriptor","O","P","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","has","createPropertyDescriptor","propertyIsEnumerableModule","f","String","nativeDefineProperty","Attributes","anObject","object","definePropertyModule","createNonEnumerableProperty","setGlobal","functionToString","store","inspectSource","set","WeakMap","test","module","push","version","mode","copyright","id","postfix","random","keys","shared","uid","NATIVE_WEAK_MAP","wmget","wmhas","wmset","metadata","STATE","sharedKey","hiddenKeys","objectHas","activeXDocument","enforce","getterFor","TYPE","state","type","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","source","join","prototype","aFunction","variable","namespace","method","arguments","length","path","ceil","floor","argument","isNaN","min","toInteger","max","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","toLength","toAbsoluteIndex","includes","indexOf","require$$0","names","i","result","enumBugKeys","concat","getOwnPropertyNames","internalObjectKeys","getOwnPropertySymbols","getBuiltIn","ownKeys","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","target","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","copyConstructorProperties","sham","redefine","Symbol","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","USE_SYMBOL_AS_UID","withoutSetter","name","defineProperties","Properties","objectKeys","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","documentCreateElement","style","display","html","appendChild","src","contentWindow","open","F","create","UNSCOPABLES","wellKnownSymbol","ArrayPrototype","Array","$","proto","fill","toObject","argumentsLength","end","endPos","addToUnscopables","that","b","c","apply","isArray","arg","SPECIES","originalArray","C","constructor","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","specificCreate","boundFunction","bind","arraySpeciesCreate","forEach","map","filter","some","every","find","findIndex","cache","thrower","METHOD_NAME","ACCESSORS","argument0","argument1","$find","SKIPS_HOLES","USES_TO_LENGTH","arrayMethodUsesToLength","$includes","match","process","versions","v8","userAgent","V8_VERSION","array","foo","Boolean","$map","HAS_SPECIES_SUPPORT","arrayMethodHasSpeciesSupport","factories","construct","argsLength","args","list","partArgs","bound","FunctionPrototype","FunctionPrototypeToString","nameRE","nativeAssign","assign","A","B","symbol","alphabet","chr","T","S","j","TO_STRING_TAG","CORRECT_ARGUMENTS","classofRaw","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","Promise","TAG","ITERATOR","ENTRIES","returnMethod","Result","stopped","iterable","AS_ENTRIES","IS_ITERATOR","iterFn","next","step","Iterators","getIteratorMethod","done","callWithSafeIterationClosing","stop","SAFE_CLOSING","called","iteratorWithReturn","return","from","defer","channel","port","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","counter","queue","run","runner","listener","event","post","postMessage","protocol","host","nextTick","now","IS_IOS","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","flush","head","last","notify","toggle","node","promise","then","macrotask","require$$1","MutationObserver","WebKitMutationObserver","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","parent","exit","enter","createTextNode","observe","characterData","resolve","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","task","PromiseCapability","reject","$$resolve","$$reject","x","promiseCapability","newPromiseCapability","PROMISE","setInternalState","getInternalPromiseState","PromiseConstructor","NativePromise","$fetch","newPromiseCapabilityModule","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","FORCED","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","SKIP_CLOSING","ITERATION_SUPPORT","checkCorrectnessOfIteration","all","isThenable","isReject","notified","chain","reactions","microtask","ok","exited","reaction","handler","fail","rejection","onHandleUnhandled","onUnhandled","reason","initEvent","console","hostReportErrors","isUnhandled","perform","emit","unwrap","internalReject","internalResolve","wrapper","executor","Constructor","anInstance","redefineAll","onFulfilled","onRejected","defaultConstructor","catch","fetch","promiseResolve","wrap","setToStringTag","CONSTRUCTOR_NAME","setSpecies","r","capability","$promiseResolve","values","remaining","iterate","alreadyCalled","race","ignoreCase","multiline","dotAll","unicode","sticky","RE","s","RegExp","re1","re2","re","lastIndex","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","stickyHelpers","BROKEN_CARET","NPCG_INCLUDED","str","reCopy","flags","regexpFlags","charsAdded","strCopy","MATCH","isRegExp","regexp","e","correctIsRegExpLogic","searchString","notARegExp","REPLACE_SUPPORTS_NAMED_GROUPS","groups","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","CONVERT_TO_STRING","pos","first","second","position","size","charCodeAt","charAt","codeAt","R","regexpExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","methods","nativeMethod","arg2","forceStringMethod","stringMethod","regexMethod","fixRegExpWellKnownSymbolLogic","nativeMatch","maybeCallNative","matcher","res","rx","regExpExec","fullUnicode","n","matchStr","advanceStringIndex","nativeGetOwnPropertyNames","windowNames","getWindowNames","NAME","wrappedWellKnownSymbolModule","$forEach","HIDDEN","TO_PRIMITIVE","ObjectPrototype","$Symbol","$stringify","getOwnPropertyNamesExternal","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","nativeObjectCreate","ObjectPrototypeDescriptor","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","setter","defineWellKnownSymbol","for","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","replacer","space","$replacer","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","STRICT_METHOD","arrayMethodIsStrict","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","BUGGY_SAFARI_ITERATORS","returnThis","setPrototypeOf","CORRECT_SETTER","aPossiblePrototype","__proto__","IteratorsCore","Iterable","IteratorConstructor","DEFAULT","IS_SET","createIteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","entries","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","defineIterator","iterated","kind","Arguments","nativeReverse","reverse","0","nativeSlice","start","propertyKey","k","fin","DatePrototype","Date","nativeDateToString","getTime","NaN","JSON","objectDefinePropertyModile","FAILS_ON_PRIMITIVES","nativeGetPrototypeOf","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","p","rf","point","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","COLLECTION_NAME","DOMIterables","Collection","CollectionPrototype","ArrayValues","ArrayIteratorMethods","runtime","exports","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","err","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","GenStateSuspendedStart","invoke","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","enqueue","callInvokeWithMethodAndArg","_typeof","__await","unwrapped","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","pop","skipTempReset","prev","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","loadExtensionTranslation","lang","__variableDynamicImportRuntime0__","encodeURIComponent","translationModule","init","setArrowNonce","unsetArrowNonce","getLinked","showPanel","resetMarker","addMarker","setArrow","colorChanged","elem","color","getAttribute","mtypes","defs","svgCanvas","findDefs","each","marker","curColor","children","attr","curD","allMarkers","newMarker","attrs","d","dir","arrowprefix","remove","svgcontent","element","mtype","changeSelectedAttribute","pathdata","bk","selElems","refx","getElem","addElem","viewBox","refY","markerUnits","markerWidth","markerHeight","orient","arrow","append","setAttribute","removeAttribute","on","mid","m","win","randomizeIds","prefix","fw","svgEditor","_this","curPrefs","strings","canvas","addSVGElementFromJson","nonce","randomize_ids","contextTools","panel","defval","events","change","context_tools","contextTool","callback","hide","addLangData","importLocale","langList","selectedChanged","opts","markerElems","elems","tagName","selectedElement","multiselected","elementChanged","textContent","title","none","both","mid_bk"],"mappings":"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"} \ No newline at end of file diff --git a/dist/editor/extensions/ext-closepath/ext-closepath.js b/dist/editor/extensions/ext-closepath/ext-closepath.js index 5cc4a086..8c1e269e 100644 --- a/dist/editor/extensions/ext-closepath/ext-closepath.js +++ b/dist/editor/extensions/ext-closepath/ext-closepath.js @@ -1,4 +1,4 @@ -var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&r.path)}},r.exports),r.exports}var check=function(t){return t&&t.Math==Math&&t},e=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof t&&t)||Function("return this")(),fails=function(t){try{return!!t()}catch(t){return!0}},r=!fails((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i={f:o&&!n.call({1:2},1)?function propertyIsEnumerable(t){var e=o(this,t);return!!e&&e.enumerable}:n},createPropertyDescriptor=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},a={}.toString,classofRaw=function(t){return a.call(t).slice(8,-1)},c="".split,u=fails((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==classofRaw(t)?c.call(t,""):Object(t)}:Object,requireObjectCoercible=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},toIndexedObject=function(t){return u(requireObjectCoercible(t))},isObject=function(t){return"object"==typeof t?null!==t:"function"==typeof t},toPrimitive=function(t,e){if(!isObject(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!isObject(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!isObject(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!isObject(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},f={}.hasOwnProperty,has=function(t,e){return f.call(t,e)},s=e.document,l=isObject(s)&&isObject(s.createElement),documentCreateElement=function(t){return l?s.createElement(t):{}},p=!r&&!fails((function(){return 7!=Object.defineProperty(documentCreateElement("div"),"a",{get:function(){return 7}}).a})),h=Object.getOwnPropertyDescriptor,y={f:r?h:function getOwnPropertyDescriptor(t,e){if(t=toIndexedObject(t),e=toPrimitive(e,!0),p)try{return h(t,e)}catch(t){}if(has(t,e))return createPropertyDescriptor(!i.f.call(t,e),t[e])}},anObject=function(t){if(!isObject(t))throw TypeError(String(t)+" is not an object");return t},v=Object.defineProperty,d={f:r?v:function defineProperty(t,e,r){if(anObject(t),e=toPrimitive(e,!0),anObject(r),p)try{return v(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},g=r?function(t,e,r){return d.f(t,e,createPropertyDescriptor(1,r))}:function(t,e,r){return t[e]=r,t},setGlobal=function(t,r){try{g(e,t,r)}catch(n){e[t]=r}return r},m=e["__core-js_shared__"]||setGlobal("__core-js_shared__",{}),b=Function.toString;"function"!=typeof m.inspectSource&&(m.inspectSource=function(t){return b.call(t)});var w,S,O,j=m.inspectSource,x=e.WeakMap,E="function"==typeof x&&/native code/.test(j(x)),P=createCommonjsModule((function(t){(t.exports=function(t,e){return m[t]||(m[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),_=0,T=Math.random(),uid=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++_+T).toString(36)},A=P("keys"),sharedKey=function(t){return A[t]||(A[t]=uid(t))},L={},k=e.WeakMap;if(E){var I=new k,C=I.get,M=I.has,G=I.set;w=function(t,e){return G.call(I,t,e),e},S=function(t){return C.call(I,t)||{}},O=function(t){return M.call(I,t)}}else{var N=sharedKey("state");L[N]=!0,w=function(t,e){return g(t,N,e),e},S=function(t){return has(t,N)?t[N]:{}},O=function(t){return has(t,N)}}var R,D,W={set:w,get:S,has:O,enforce:function(t){return O(t)?S(t):w(t,{})},getterFor:function(t){return function(e){var r;if(!isObject(e)||(r=S(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},V=createCommonjsModule((function(t){var r=W.get,n=W.enforce,o=String(String).split("String");(t.exports=function(t,r,i,a){var c=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof r||has(i,"name")||g(i,"name",r),n(i).source=o.join("string"==typeof r?r:"")),t!==e?(c?!f&&t[r]&&(u=!0):delete t[r],u?t[r]=i:g(t,r,i)):u?t[r]=i:setGlobal(r,i)})(Function.prototype,"toString",(function toString(){return"function"==typeof this&&r(this).source||j(this)}))})),q=e,aFunction=function(t){return"function"==typeof t?t:void 0},getBuiltIn=function(t,r){return arguments.length<2?aFunction(q[t])||aFunction(e[t]):q[t]&&q[t][r]||e[t]&&e[t][r]},z=Math.ceil,B=Math.floor,toInteger=function(t){return isNaN(t=+t)?0:(t>0?B:z)(t)},Y=Math.min,toLength=function(t){return t>0?Y(toInteger(t),9007199254740991):0},H=Math.max,U=Math.min,toAbsoluteIndex=function(t,e){var r=toInteger(t);return r<0?H(r+e,0):U(r,e)},createMethod=function(t){return function(e,r,n){var o,i=toIndexedObject(e),a=toLength(i.length),c=toAbsoluteIndex(n,a);if(t&&r!=r){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},$={includes:createMethod(!0),indexOf:createMethod(!1)}.indexOf,objectKeysInternal=function(t,e){var r,n=toIndexedObject(t),o=0,i=[];for(r in n)!has(L,r)&&has(n,r)&&i.push(r);for(;e.length>o;)has(n,r=e[o++])&&(~$(i,r)||i.push(r));return i},J=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],K=J.concat("length","prototype"),Q={f:Object.getOwnPropertyNames||function getOwnPropertyNames(t){return objectKeysInternal(t,K)}},X={f:Object.getOwnPropertySymbols},Z=getBuiltIn("Reflect","ownKeys")||function ownKeys(t){var e=Q.f(anObject(t)),r=X.f;return r?e.concat(r(t)):e},copyConstructorProperties=function(t,e){for(var r=Z(e),n=d.f,o=y.f,i=0;im;m++)if((a||m in v)&&(h=d(p=v[m],m,y),t))if(e)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return p;case 6:return m;case 2:yt.call(w,p)}else if(o)return!1;return i?-1:n||o?o:w}},vt={forEach:createMethod$1(0),map:createMethod$1(1),filter:createMethod$1(2),some:createMethod$1(3),every:createMethod$1(4),find:createMethod$1(5),findIndex:createMethod$1(6)},dt=getBuiltIn("navigator","userAgent")||"",gt=e.process,mt=gt&>.versions,bt=mt&&mt.v8;bt?D=(R=bt.split("."))[0]+R[1]:dt&&(!(R=dt.match(/Edge\/(\d+)/))||R[1]>=74)&&(R=dt.match(/Chrome\/(\d+)/))&&(D=R[1]);var wt=D&&+D,St=wellKnownSymbol("species"),arrayMethodHasSpeciesSupport=function(t){return wt>=51||!fails((function(){var e=[];return(e.constructor={})[St]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Ot=Object.defineProperty,jt={},thrower=function(t){throw t},arrayMethodUsesToLength=function(t,e){if(has(jt,t))return jt[t];e||(e={});var n=[][t],o=!!has(e,"ACCESSORS")&&e.ACCESSORS,i=has(e,0)?e[0]:thrower,a=has(e,1)?e[1]:void 0;return jt[t]=!!n&&!fails((function(){if(o&&!r)return!0;var t={length:-1};o?Ot(t,1,{enumerable:!0,get:thrower}):t[1]=1,n.call(t,i,a)}))},xt=vt.map,Et=arrayMethodHasSpeciesSupport("map"),Pt=arrayMethodUsesToLength("map");_export({target:"Array",proto:!0,forced:!Et||!Pt},{map:function map(t){return xt(this,t,arguments.length>1?arguments[1]:void 0)}});var _t=d.f,Tt=Function.prototype,At=Tt.toString,Lt=/^\s*function ([^ (]*)/;r&&!("name"in Tt)&&_t(Tt,"name",{configurable:!0,get:function(){try{return At.call(this).match(Lt)[1]}catch(t){return""}}});var kt=Object.keys||function keys(t){return objectKeysInternal(t,J)},It=Object.assign,Ct=Object.defineProperty,Mt=!It||fails((function(){if(r&&1!==It({b:1},It(Ct({},"a",{enumerable:!0,get:function(){Ct(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o="abcdefghijklmnopqrst";return t[n]=7,o.split("").forEach((function(t){e[t]=t})),7!=It({},t)[n]||kt(It({},e)).join("")!=o}))?function assign(t,e){for(var n=toObject(t),o=arguments.length,a=1,c=X.f,f=i.f;o>a;)for(var s,l=u(arguments[a++]),p=c?kt(l).concat(c(l)):kt(l),h=p.length,y=0;h>y;)s=p[y++],r&&!f.call(l,s)||(n[s]=l[s]);return n}:It;_export({target:"Object",stat:!0,forced:Object.assign!==Mt},{assign:Mt});var Gt={};Gt[wellKnownSymbol("toStringTag")]="z";var Ft="[object z]"===String(Gt),Nt=wellKnownSymbol("toStringTag"),Rt="Arguments"==classofRaw(function(){return arguments}()),Dt=Ft?classofRaw:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Nt))?r:Rt?classofRaw(e):"Object"==(n=classofRaw(e))&&"function"==typeof e.callee?"Arguments":n},Wt=Ft?{}.toString:function toString(){return"[object "+Dt(this)+"]"};Ft||V(Object.prototype,"toString",Wt,{unsafe:!0});var Vt=e.Promise,qt=d.f,zt=wellKnownSymbol("toStringTag"),setToStringTag=function(t,e,r){t&&!has(t=r?t:t.prototype,zt)&&qt(t,zt,{configurable:!0,value:e})},Bt=wellKnownSymbol("species"),Yt={},Ht=wellKnownSymbol("iterator"),Ut=Array.prototype,$t=wellKnownSymbol("iterator"),callWithSafeIterationClosing=function(t,e,r,n){try{return n?e(anObject(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&anObject(o.call(t)),e}},Jt=createCommonjsModule((function(t){var Result=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,r,n,o){var i,a,c,u,f,s,l,p,h=functionBindContext(e,r,n?2:1);if(o)i=t;else{if("function"!=typeof(a=function(t){if(null!=t)return t[$t]||t["@@iterator"]||Yt[Dt(t)]}(t)))throw TypeError("Target is not iterable");if(void 0!==(p=a)&&(Yt.Array===p||Ut[Ht]===p)){for(c=0,u=toLength(t.length);u>c;c++)if((f=n?h(anObject(l=t[c])[0],l[1]):h(t[c]))&&f instanceof Result)return f;return new Result(!1)}i=a.call(t)}for(s=i.next;!(l=s.call(i)).done;)if("object"==typeof(f=callWithSafeIterationClosing(i,h,l.value,n))&&f&&f instanceof Result)return f;return new Result(!1)}).stop=function(t){return new Result(!0,t)}})),Kt=wellKnownSymbol("iterator"),Qt=!1;try{var Xt=0,Zt={next:function(){return{done:!!Xt++}},return:function(){Qt=!0}};Zt[Kt]=function(){return this},Array.from(Zt,(function(){throw 2}))}catch(t){}var te,ee,re,ne=wellKnownSymbol("species"),oe=getBuiltIn("document","documentElement"),ie=/(iphone|ipod|ipad).*applewebkit/i.test(dt),ae=e.location,ce=e.setImmediate,ue=e.clearImmediate,fe=e.process,se=e.MessageChannel,le=e.Dispatch,pe=0,he={},run=function(t){if(he.hasOwnProperty(t)){var e=he[t];delete he[t],e()}},runner=function(t){return function(){run(t)}},listener=function(t){run(t.data)},post=function(t){e.postMessage(t+"",ae.protocol+"//"+ae.host)};ce&&ue||(ce=function setImmediate(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return he[++pe]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},te(pe),pe},ue=function clearImmediate(t){delete he[t]},"process"==classofRaw(fe)?te=function(t){fe.nextTick(runner(t))}:le&&le.now?te=function(t){le.now(runner(t))}:se&&!ie?(re=(ee=new se).port2,ee.port1.onmessage=listener,te=functionBindContext(re.postMessage,re,1)):!e.addEventListener||"function"!=typeof postMessage||e.importScripts||fails(post)||"file:"===ae.protocol?te="onreadystatechange"in documentCreateElement("script")?function(t){oe.appendChild(documentCreateElement("script")).onreadystatechange=function(){oe.removeChild(this),run(t)}}:function(t){setTimeout(runner(t),0)}:(te=post,e.addEventListener("message",listener,!1)));var ye,ve,de,ge,me,be,we,Se,Oe={set:ce,clear:ue},je=y.f,xe=Oe.set,Ee=e.MutationObserver||e.WebKitMutationObserver,Pe=e.process,_e=e.Promise,Te="process"==classofRaw(Pe),Ae=je(e,"queueMicrotask"),Le=Ae&&Ae.value;Le||(ye=function(){var t,e;for(Te&&(t=Pe.domain)&&t.exit();ve;){e=ve.fn,ve=ve.next;try{e()}catch(t){throw ve?ge():de=void 0,t}}de=void 0,t&&t.enter()},Te?ge=function(){Pe.nextTick(ye)}:Ee&&!ie?(me=!0,be=document.createTextNode(""),new Ee(ye).observe(be,{characterData:!0}),ge=function(){be.data=me=!me}):_e&&_e.resolve?(we=_e.resolve(void 0),Se=we.then,ge=function(){Se.call(we,ye)}):ge=function(){xe.call(e,ye)});var ke,Ie,Ce,Me,Ge=Le||function(t){var e={fn:t,next:void 0};de&&(de.next=e),ve||(ve=e,ge()),de=e},PromiseCapability=function(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n})),this.resolve=aFunction$1(e),this.reject=aFunction$1(r)},Fe={f:function(t){return new PromiseCapability(t)}},promiseResolve=function(t,e){if(anObject(t),isObject(e)&&e.constructor===t)return e;var r=Fe.f(t);return(0,r.resolve)(e),r.promise},perform=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Ne=Oe.set,Re=wellKnownSymbol("species"),De="Promise",We=W.get,Ve=W.set,qe=W.getterFor(De),ze=Vt,Be=e.TypeError,Ye=e.document,He=e.process,Ue=getBuiltIn("fetch"),$e=Fe.f,Je=$e,Ke="process"==classofRaw(He),Qe=!!(Ye&&Ye.createEvent&&e.dispatchEvent),Xe=it(De,(function(){if(!(j(ze)!==String(ze))){if(66===wt)return!0;if(!Ke&&"function"!=typeof PromiseRejectionEvent)return!0}if(wt>=51&&/native code/.test(ze))return!1;var t=ze.resolve(1),FakePromise=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Re]=FakePromise,!(t.then((function(){}))instanceof FakePromise)})),Ze=Xe||!function(t,e){if(!e&&!Qt)return!1;var r=!1;try{var n={};n[Kt]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r}((function(t){ze.all(t).catch((function(){}))})),isThenable=function(t){var e;return!(!isObject(t)||"function"!=typeof(e=t.then))&&e},notify$1=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;Ge((function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var c,u,f,s=n[a++],l=i?s.ok:s.fail,p=s.resolve,h=s.reject,y=s.domain;try{l?(i||(2===e.rejection&&onHandleUnhandled(t,e),e.rejection=1),!0===l?c=o:(y&&y.enter(),c=l(o),y&&(y.exit(),f=!0)),c===s.promise?h(Be("Promise-chain cycle")):(u=isThenable(c))?u.call(c,p,h):p(c)):h(o)}catch(t){y&&!f&&y.exit(),h(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&onUnhandled(t,e)}))}},dispatchEvent=function(t,r,n){var o,i;Qe?((o=Ye.createEvent("Event")).promise=r,o.reason=n,o.initEvent(t,!1,!0),e.dispatchEvent(o)):o={promise:r,reason:n},(i=e["on"+t])?i(o):"unhandledrejection"===t&&function(t,r){var n=e.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,r))}("Unhandled promise rejection",n)},onUnhandled=function(t,r){Ne.call(e,(function(){var e,n=r.value;if(isUnhandled(r)&&(e=perform((function(){Ke?He.emit("unhandledRejection",n,t):dispatchEvent("unhandledrejection",t,n)})),r.rejection=Ke||isUnhandled(r)?2:1,e.error))throw e.value}))},isUnhandled=function(t){return 1!==t.rejection&&!t.parent},onHandleUnhandled=function(t,r){Ne.call(e,(function(){Ke?He.emit("rejectionHandled",t):dispatchEvent("rejectionhandled",t,r.value)}))},bind=function(t,e,r,n){return function(o){t(e,r,o,n)}},internalReject=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,notify$1(t,e,!0))},internalResolve=function(t,e,r,n){if(!e.done){e.done=!0,n&&(e=n);try{if(t===r)throw Be("Promise can't be resolved itself");var o=isThenable(r);o?Ge((function(){var n={done:!1};try{o.call(r,bind(internalResolve,t,n,e),bind(internalReject,t,n,e))}catch(r){internalReject(t,n,r,e)}})):(e.value=r,e.state=1,notify$1(t,e,!1))}catch(r){internalReject(t,{done:!1},r,e)}}};Xe&&(ze=function Promise(t){!function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation")}(this,ze,De),aFunction$1(t),ke.call(this);var e=We(this);try{t(bind(internalResolve,this,e),bind(internalReject,this,e))}catch(t){internalReject(this,e,t)}},(ke=function Promise(t){Ve(this,{type:De,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=function(t,e,r){for(var n in e)V(t,n,e[n],r);return t}(ze.prototype,{then:function then(t,e){var r,n,o,i=qe(this),a=$e((r=ze,void 0===(o=anObject(this).constructor)||null==(n=anObject(o)[ne])?r:aFunction$1(n)));return a.ok="function"!=typeof t||t,a.fail="function"==typeof e&&e,a.domain=Ke?He.domain:void 0,i.parent=!0,i.reactions.push(a),0!=i.state&¬ify$1(this,i,!1),a.promise},catch:function(t){return this.then(void 0,t)}}),Ie=function(){var t=new ke,e=We(t);this.promise=t,this.resolve=bind(internalResolve,t,e),this.reject=bind(internalReject,t,e)},Fe.f=$e=function(t){return t===ze||t===Ce?new Ie(t):Je(t)},"function"==typeof Vt&&(Me=Vt.prototype.then,V(Vt.prototype,"then",(function then(t,e){var r=this;return new ze((function(t,e){Me.call(r,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof Ue&&_export({global:!0,enumerable:!0,forced:!0},{fetch:function fetch(t){return promiseResolve(ze,Ue.apply(e,arguments))}}))),_export({global:!0,wrap:!0,forced:Xe},{Promise:ze}),setToStringTag(ze,De,!1),function(t){var e=getBuiltIn(t),n=d.f;r&&e&&!e[Bt]&&n(e,Bt,{configurable:!0,get:function(){return this}})}(De),Ce=getBuiltIn(De),_export({target:De,stat:!0,forced:Xe},{reject:function reject(t){var e=$e(this);return e.reject.call(void 0,t),e.promise}}),_export({target:De,stat:!0,forced:Xe},{resolve:function resolve(t){return promiseResolve(this,t)}}),_export({target:De,stat:!0,forced:Ze},{all:function all(t){var e=this,r=$e(e),n=r.resolve,o=r.reject,i=perform((function(){var r=aFunction$1(e.resolve),i=[],a=0,c=1;Jt(t,(function(t){var u=a++,f=!1;i.push(void 0),c++,r.call(e,t).then((function(t){f||(f=!0,i[u]=t,--c||n(i))}),o)})),--c||n(i)}));return i.error&&o(i.value),r.promise},race:function race(t){var e=this,r=$e(e),n=r.reject,o=perform((function(){var o=aFunction$1(e.resolve);Jt(t,(function(t){o.call(e,t).then(r.resolve,n)}))}));return o.error&&n(o.value),r.promise}});var tr,er=r?Object.defineProperties:function defineProperties(t,e){anObject(t);for(var r,n=kt(e),o=n.length,i=0;o>i;)d.f(t,r=n[i++],e[r]);return t},rr=sharedKey("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(t){return"`, */\n // mathjaxSrc = 'http://cdn.mathjax.org/mathjax/latest/MathJax.js',\n // Had been on https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_SVG.js\n // Obtained Text-AMS-MML_SVG.js from https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.3/config/TeX-AMS-MML_SVG.js\n {uiStrings} = svgEditor;\n let\n math,\n locationX,\n locationY,\n mathjaxLoaded = false;\n\n // TODO: Implement language support. Move these uiStrings to the locale files and\n // the code to the langReady callback. Also i18nize alert and HTML below\n $.extend(uiStrings, {\n mathjax: {\n embed_svg: 'Save as mathematics',\n embed_mathml: 'Save as figure',\n svg_save_warning: 'The math will be transformed into a figure is ' +\n 'manipulatable like everything else. You will not be able to ' +\n 'manipulate the TeX-code anymore.',\n mathml_save_warning: 'Advised. The math will be saved as a figure.',\n title: 'Mathematics code editor'\n }\n });\n\n /**\n *\n * @returns {void}\n */\n function saveMath () {\n const code = $('#mathjax_code_textarea').val();\n // displaystyle to force MathJax NOT to use the inline style. Because it is\n // less fancy!\n MathJax.Hub.queue.Push(['Text', math, '\\\\displaystyle{' + code + '}']);\n\n /*\n * The MathJax library doesn't want to bloat your webpage so it creates\n * every symbol (glymph) you need only once. These are saved in a `` on\n * the top of your html document, just under the body tag. Each glymph has\n * its unique id and is saved as a `` in the `` tag of the ``\n *\n * Then when the symbols are needed in the rest of your html document they\n * are refferd to by a `` tag.\n * Because of bug 1076 we can't just grab the defs tag on the top and add it\n * to your formula's `` and copy the lot. So we have to replace each\n * `` tag by its ``.\n */\n MathJax.Hub.queue.Push(\n function () {\n const mathjaxMath = $('.MathJax_SVG');\n const svg = $(mathjaxMath.html());\n svg.find('use').each(function () {\n // TODO: find a less pragmatic and more elegant solution to this.\n const id = $(this).attr('href')\n ? $(this).attr('href').slice(1) // Works in Chrome.\n : $(this).attr('xlink:href').slice(1); // Works in Firefox.\n const glymph = $('#' + id).clone().removeAttr('id');\n const x = $(this).attr('x');\n const y = $(this).attr('y');\n const transform = $(this).attr('transform');\n if (transform && (x || y)) {\n glymph.attr('transform', transform + ' translate(' + x + ',' + y + ')');\n } else if (transform) {\n glymph.attr('transform', transform);\n } else if (x || y) {\n glymph.attr('transform', 'translate(' + x + ',' + y + ')');\n }\n $(this).replaceWith(glymph);\n });\n // Remove the style tag because it interferes with SVG-Edit.\n svg.removeAttr('style');\n svg.attr('xmlns', 'http://www.w3.org/2000/svg');\n svgCanvas.importSvgString($('
').append(svg.clone()).html(), true);\n svgCanvas.ungroupSelectedElement();\n // TODO: To undo the adding of the Formula you now have to undo twice.\n // This should only be once!\n svgCanvas.moveSelectedElements(locationX, locationY, true);\n }\n );\n }\n\n const buttons = [{\n id: 'tool_mathjax',\n type: 'mode',\n icon: 'mathjax.png',\n events: {\n async click () {\n // Set the mode.\n svgCanvas.setMode('mathjax');\n\n // Only load Mathjax when needed, we don't want to strain Svg-Edit any more.\n // From this point on it is very probable that it will be needed, so load it.\n if (mathjaxLoaded === false) {\n $(\n ''\n ).insertAfter('#svg_prefs').hide();\n\n // Make the MathEditor draggable.\n $('#mathjax_container').draggable({\n cancel: 'button,fieldset',\n containment: 'window'\n });\n\n // Add functionality and picture to cancel button.\n $('#tool_mathjax_cancel').prepend($.getSvgIcon('cancel', true))\n .on('click touched', function () {\n $('#mathjax').hide();\n });\n\n // Add functionality and picture to the save button.\n $('#tool_mathjax_save').prepend($.getSvgIcon('ok', true))\n .on('click touched', function () {\n saveMath();\n $('#mathjax').hide();\n });\n\n // MathJax preprocessing has to ignore most of the page.\n $('body').addClass('tex2jax_ignore');\n\n try {\n await import('./mathjax/MathJax.min.js'); // ?config=TeX-AMS-MML_SVG.js');\n // When MathJax is loaded get the div where the math will be rendered.\n MathJax.Hub.queue.Push(function () {\n math = MathJax.Hub.getAllJax('#mathjax_creator')[0];\n console.log(math); // eslint-disable-line no-console\n mathjaxLoaded = true;\n console.log('MathJax Loaded'); // eslint-disable-line no-console\n });\n } catch (e) {\n console.log('Failed loading MathJax.'); // eslint-disable-line no-console\n $.alert('Failed loading MathJax. You will not be able to change the mathematics.');\n }\n }\n }\n }\n }];\n\n return {\n name: strings.name,\n svgicons: 'mathjax-icons.xml',\n buttons: strings.buttons.map((button, i) => {\n return Object.assign(buttons[i], button);\n }),\n\n mouseDown () {\n if (svgCanvas.getMode() === 'mathjax') {\n return {started: true};\n }\n return undefined;\n },\n mouseUp (opts) {\n if (svgCanvas.getMode() === 'mathjax') {\n // Get the coordinates from your mouse.\n const zoom = svgCanvas.getZoom();\n // Get the actual coordinate by dividing by the zoom value\n locationX = opts.mouse_x / zoom;\n locationY = opts.mouse_y / zoom;\n\n $('#mathjax').show();\n return {started: false}; // Otherwise the last selected object dissapears.\n }\n return undefined;\n },\n callback () {\n $('').appendTo("head")),e.text(t?" #tool_topath { display: none !important; }":""),o("#polygon_panel").toggle(t)},n=(r=e).canvas,o=t.$,!1,v.next=9,Yn(r.curPrefs.lang);case 9:return i=v.sent,h=[{id:"tool_polygon",icon:"polygon.png",type:"mode",position:11,events:{click:function click(){n.setMode("polygon"),s(!0)}}}],y=[{type:"input",panel:"polygon_panel",id:"polySides",size:3,defval:5,events:{change:function change(){f("sides",this.value)}}}],v.abrupt("return",{name:i.name,svgicons:"polygon-icons.svg",buttons:i.buttons.map((function(t,e){return Object.assign(h[e],t)})),context_tools:i.contextTools.map((function(t,e){return Object.assign(y[e],t)})),callback:function callback(){o("#polygon_panel").hide(),setTimeout((function(){o("#tool_source_save").clone().hide().attr("id","polygon_save").unbind().appendTo("#tool_source_back").click((function(){})),o("#tool_source_cancel").clone().hide().attr("id","polygon_cancel").unbind().appendTo("#tool_source_back").click((function(){}))}),3e3)},mouseDown:function mouseDown(t){if("polygon"===n.getMode()){var e=n.getColor("fill"),r=n.getColor("stroke"),o=n.getStrokeWidth();return c=!0,u=n.addSVGElementFromJson({element:"polygon",attr:{cx:t.start_x,cy:t.start_y,id:n.getNextId(),shape:"regularPoly",sides:document.getElementById("polySides").value,orient:"x",edge:0,fill:e,strokecolor:r,strokeWidth:o}}),{started:!0}}},mouseMove:function mouseMove(t){if(c&&"polygon"===n.getMode()){var e=o(u).attr(["cx","cy","sides","orient","fill","strokecolor","strokeWidth"]),r=t.mouse_x,i=t.mouse_y,a=e.cx,s=e.cy,f=e.fill,h=e.strokecolor,y=e.strokeWidth,v=e.sides,d=Math.sqrt((r-a)*(r-a)+(i-s)*(i-s))/1.5;u.setAttribute("edge",d);for(var g=d/2*l(Math.PI/v)*p(Math.PI/v),m="",b=0;v>=b;b++){var w=2*Math.PI*b/v;m+=(r=g*Math.cos(w)+a)+","+(i=g*Math.sin(w)+s)+" "}return u.setAttribute("points",m),u.setAttribute("fill",f),u.setAttribute("stroke",h),u.setAttribute("stroke-width",y),{started:!0}}},mouseUp:function mouseUp(t){if("polygon"===n.getMode())return{keep:"0"!==o(u).attr("edge").edge,element:u}},selectedChanged:function selectedChanged(t){for(var e=(a=t.elems).length;e--;){var r=a[e];r&&"regularPoly"===r.getAttribute("shape")&&t.selectedElement&&!t.multiselected?(o("#polySides").val(r.getAttribute("sides")),s(!0)):s(!1)}},elementChanged:function elementChanged(t){}});case 13:case"end":return v.stop()}}),_callee2)})))()}},Jn=Object.freeze({__proto__:null,default:{name:"polygon",buttons:[{title:"Polygon Tool"}],contextTools:[{title:"Number of Sides",label:"sides"}]}}),$n=Object.freeze({__proto__:null,default:{name:"多边形",buttons:[{title:"多边形工具"}],contextTools:[{title:"边数",label:"边数"}]}});export default Hn; +var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&r.path)}},r.exports),r.exports}var check=function(t){return t&&t.Math==Math&&t},e=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof t&&t)||Function("return this")(),fails=function(t){try{return!!t()}catch(t){return!0}},r=!fails((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i={f:o&&!n.call({1:2},1)?function propertyIsEnumerable(t){var e=o(this,t);return!!e&&e.enumerable}:n},createPropertyDescriptor=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},a={}.toString,classofRaw=function(t){return a.call(t).slice(8,-1)},c="".split,u=fails((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==classofRaw(t)?c.call(t,""):Object(t)}:Object,requireObjectCoercible=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},toIndexedObject=function(t){return u(requireObjectCoercible(t))},isObject=function(t){return"object"==typeof t?null!==t:"function"==typeof t},toPrimitive=function(t,e){if(!isObject(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!isObject(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!isObject(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!isObject(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},s={}.hasOwnProperty,has=function(t,e){return s.call(t,e)},f=e.document,l=isObject(f)&&isObject(f.createElement),documentCreateElement=function(t){return l?f.createElement(t):{}},p=!r&&!fails((function(){return 7!=Object.defineProperty(documentCreateElement("div"),"a",{get:function(){return 7}}).a})),h=Object.getOwnPropertyDescriptor,y={f:r?h:function getOwnPropertyDescriptor(t,e){if(t=toIndexedObject(t),e=toPrimitive(e,!0),p)try{return h(t,e)}catch(t){}if(has(t,e))return createPropertyDescriptor(!i.f.call(t,e),t[e])}},anObject=function(t){if(!isObject(t))throw TypeError(String(t)+" is not an object");return t},v=Object.defineProperty,d={f:r?v:function defineProperty(t,e,r){if(anObject(t),e=toPrimitive(e,!0),anObject(r),p)try{return v(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},g=r?function(t,e,r){return d.f(t,e,createPropertyDescriptor(1,r))}:function(t,e,r){return t[e]=r,t},setGlobal=function(t,r){try{g(e,t,r)}catch(n){e[t]=r}return r},m=e["__core-js_shared__"]||setGlobal("__core-js_shared__",{}),b=Function.toString;"function"!=typeof m.inspectSource&&(m.inspectSource=function(t){return b.call(t)});var w,S,O,j=m.inspectSource,x=e.WeakMap,_="function"==typeof x&&/native code/.test(j(x)),P=createCommonjsModule((function(t){(t.exports=function(t,e){return m[t]||(m[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),E=0,k=Math.random(),uid=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++E+k).toString(36)},A=P("keys"),sharedKey=function(t){return A[t]||(A[t]=uid(t))},T={},L=e.WeakMap;if(_){var I=new L,M=I.get,C=I.has,G=I.set;w=function(t,e){return G.call(I,t,e),e},S=function(t){return M.call(I,t)||{}},O=function(t){return C.call(I,t)}}else{var N=sharedKey("state");T[N]=!0,w=function(t,e){return g(t,N,e),e},S=function(t){return has(t,N)?t[N]:{}},O=function(t){return has(t,N)}}var R,D={set:w,get:S,has:O,enforce:function(t){return O(t)?S(t):w(t,{})},getterFor:function(t){return function(e){var r;if(!isObject(e)||(r=S(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},W=createCommonjsModule((function(t){var r=D.get,n=D.enforce,o=String(String).split("String");(t.exports=function(t,r,i,a){var c=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,s=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof r||has(i,"name")||g(i,"name",r),n(i).source=o.join("string"==typeof r?r:"")),t!==e?(c?!s&&t[r]&&(u=!0):delete t[r],u?t[r]=i:g(t,r,i)):u?t[r]=i:setGlobal(r,i)})(Function.prototype,"toString",(function toString(){return"function"==typeof this&&r(this).source||j(this)}))})),q=e,aFunction=function(t){return"function"==typeof t?t:void 0},getBuiltIn=function(t,r){return arguments.length<2?aFunction(q[t])||aFunction(e[t]):q[t]&&q[t][r]||e[t]&&e[t][r]},z=Math.ceil,V=Math.floor,toInteger=function(t){return isNaN(t=+t)?0:(t>0?V:z)(t)},U=Math.min,toLength=function(t){return t>0?U(toInteger(t),9007199254740991):0},B=Math.max,Y=Math.min,toAbsoluteIndex=function(t,e){var r=toInteger(t);return r<0?B(r+e,0):Y(r,e)},createMethod=function(t){return function(e,r,n){var o,i=toIndexedObject(e),a=toLength(i.length),c=toAbsoluteIndex(n,a);if(t&&r!=r){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},H={includes:createMethod(!0),indexOf:createMethod(!1)}.indexOf,objectKeysInternal=function(t,e){var r,n=toIndexedObject(t),o=0,i=[];for(r in n)!has(T,r)&&has(n,r)&&i.push(r);for(;e.length>o;)has(n,r=e[o++])&&(~H(i,r)||i.push(r));return i},J=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],$=J.concat("length","prototype"),K={f:Object.getOwnPropertyNames||function getOwnPropertyNames(t){return objectKeysInternal(t,$)}},Q={f:Object.getOwnPropertySymbols},X=getBuiltIn("Reflect","ownKeys")||function ownKeys(t){var e=K.f(anObject(t)),r=Q.f;return r?e.concat(r(t)):e},copyConstructorProperties=function(t,e){for(var r=X(e),n=d.f,o=y.f,i=0;ii;)d.f(t,r=n[i++],e[r]);return t},ht=getBuiltIn("document","documentElement"),yt=sharedKey("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(t){return"