diff --git a/lib/legacy/class.js b/lib/legacy/class.js index fcd4db52c6..9201283e09 100644 --- a/lib/legacy/class.js +++ b/lib/legacy/class.js @@ -334,16 +334,21 @@ function GenerateClassFromInfo(info, Base) { * * @param {!PolymerInit} info Object containing Polymer metadata and functions * to become class methods. + * @template T + * @param {function(T):T} mixin Optional mixin to apply to legacy base class + * before extending with Polymer metaprogramming. * @return {function(new:HTMLElement)} Generated class */ -export const Class = function(info) { +export const Class = function(info, mixin) { if (!info) { console.warn(`Polymer's Class function requires \`info\` argument`); } - let klass = GenerateClassFromInfo(info, info.behaviors ? + const baseWithBehaviors = info.behaviors ? // note: mixinBehaviors ensures `LegacyElementMixin`. mixinBehaviors(info.behaviors, HTMLElement) : - LegacyElementMixin(HTMLElement)); + LegacyElementMixin(HTMLElement); + const baseWithMixin = mixin ? mixin(baseWithBehaviors) : baseWithBehaviors; + const klass = GenerateClassFromInfo(info, baseWithMixin); // decorate klass with registration info klass.is = info.is; return klass; diff --git a/lib/legacy/legacy-data-mixin.js b/lib/legacy/legacy-data-mixin.js new file mode 100644 index 0000000000..5aee1e0209 --- /dev/null +++ b/lib/legacy/legacy-data-mixin.js @@ -0,0 +1,153 @@ +/** +@license +Copyright (c) 2017 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ + +import { Class } from './class.js'; +import { Polymer } from '../../polymer-legacy.js'; +import { dedupingMixin } from '../utils/mixin.js'; + +const UndefinedArgumentError = class extends Error { + constructor(message, arg) { + super(message); + this.arg = arg; + this.name = this.constructor.name; + // Affordances for ensuring instanceof works after babel ES5 compilation + // TODO(kschaaf): Remove after polymer CLI updates to newer Babel that + // sets the constructor/prototype correctly for subclassed builtins + this.constructor = UndefinedArgumentError; + this.__proto__ = UndefinedArgumentError.prototype; + } +}; + +/** + * Wraps effect functions to catch `UndefinedArgumentError`s and warn. + * + * @param {Object=} effect Effect metadata object + * @param {Object=} fnName Name of user function, if known + * @return {?Object} Effect metadata object + */ +function wrapEffect(effect, fnName) { + if (effect && effect.fn) { + const fn = effect.fn; + effect.fn = function() { + try { + fn.apply(this, arguments); + } catch (e) { + if (e instanceof UndefinedArgumentError) { + console.warn(`Argument '${e.arg}'${fnName ?` for method '${fnName}'` : ''} was undefined. Ensure it has an undefined check.`); + } else { + throw e; + } + } + }; + } + return effect; +} + +/** + * Mixin to selectively add back Polymer 1.x's `undefined` rules + * governing when observers & computing functions run based + * on all arguments being defined (reference https://www.polymer-project.org/1.0/docs/devguide/observers#multi-property-observers). + * + * When loaded, all legacy elements (defined with `Polymer({...})`) + * will have the mixin applied. The mixin only restores legacy data handling + * if `_legacyUndefinedCheck: true` is set on the element's prototype. + * + * This mixin is intended for use to help migration from Polymer 1.x to + * 2.x+ by allowing legacy code to work while identifying observers and + * computing functions that need undefined checks to work without + * the mixin in Polymer 2. + * + * @mixinFunction + * @polymer + * @summary Mixin to selectively add back Polymer 1.x's `undefined` rules + * governing when observers & computing functions run. + */ +export const LegacyDataMixin = dedupingMixin(superClass => { + + /** + * @constructor + * @extends {superClass} + * @unrestricted + * @private */ + class LegacyDataMixin extends superClass { + /** + * Overrides `Polymer.PropertyEffects` to add `undefined` argument + * checking to match Polymer 1.x style rules + * + * @param {!Array} args Array of argument metadata + * @param {string} path Property/path name that triggered the method effect + * @param {Object} props Bag of current property changes + * @return {Array<*>} Array of argument values + * @private + */ + _marshalArgs(args, path, props) { + const vals = super._marshalArgs(args, path, props); + // Per legacy data rules, single-property observers (whether in `properties` + // and in `observers`) are called regardless of whether their argument is + // undefined or not. Multi-property observers must have all arguments defined + if (this._legacyUndefinedCheck && vals.length > 1) { + for (let i=0; i Class(info, + superClass => mixin ? + mixin(LegacyDataMixin(superClass)) : + LegacyDataMixin(superClass) +); + +console.info('LegacyDataMixin will be applied to all legacy elements.\n' + + 'Set `_legacyUndefinedCheck: true` on element class to enable.'); diff --git a/lib/mixins/property-effects.js b/lib/mixins/property-effects.js index fec85f8bf1..e43bccc562 100644 --- a/lib/mixins/property-effects.js +++ b/lib/mixins/property-effects.js @@ -11,7 +11,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN import '../utils/boot.js'; import { dedupingMixin } from '../utils/mixin.js'; -import { root as root$0, isAncestor, isDescendant, get as get$0, translate, isPath as isPath$0, set as set$0, normalize } from '../utils/path.js'; +import { root, isAncestor, isDescendant, get, translate, isPath, set, normalize } from '../utils/path.js'; /* for notify, reflect */ import { camelToDashCase, dashToCamelCase } from '../utils/case-map.js'; import { PropertyAccessors } from './property-accessors.js'; @@ -143,7 +143,7 @@ function runEffects(inst, effects, props, oldProps, hasPaths, extraArgs) { */ function runEffectsForProperty(inst, effects, dedupeId, prop, props, oldProps, hasPaths, extraArgs) { let ran = false; - let rootProperty = hasPaths ? root$0(prop) : prop; + let rootProperty = hasPaths ? root(prop) : prop; let fxs = effects[rootProperty]; if (fxs) { for (let i=0, l=fxs.length, fx; (i} args Array of argument metadata - * @param {string} path Property/path name that triggered the method effect - * @param {Object} props Bag of current property changes - * @return {Array<*>} Array of argument values - * @private - */ -function marshalArgs(data, args, path, props) { - let values = []; - for (let i=0, l=args.length; i { */ _setPendingPropertyOrPath(path, value, shouldNotify, isPathNotification) { if (isPathNotification || - root$0(Array.isArray(path) ? path[0] : path) !== path) { + root(Array.isArray(path) ? path[0] : path) !== path) { // Dirty check changes being set to a path against the actual object, // since this is the entry point for paths into the system; from here // the only dirty checks are against the `__dataTemp` cache to prevent @@ -1376,8 +1326,8 @@ export const PropertyEffects = dedupingMixin(superClass => { // already dirty checked at the point of entry and the underlying // object has already been updated if (!isPathNotification) { - let old = get$0(this, path); - path = /** @type {string} */ (set$0(this, path, value)); + let old = get(this, path); + path = /** @type {string} */ (set(this, path, value)); // Use property-accessor's simpler dirty check if (!path || !super._shouldPropertyChange(path, value, old)) { return false; @@ -1465,8 +1415,8 @@ export const PropertyEffects = dedupingMixin(superClass => { * @return {boolean} Returns true if the property changed */ _setPendingProperty(property, value, shouldNotify) { - let isPath = this.__dataHasPaths && isPath$0(property); - let prevProps = isPath ? this.__dataTemp : this.__data; + let propIsPath = this.__dataHasPaths && isPath(property); + let prevProps = propIsPath ? this.__dataTemp : this.__data; if (this._shouldPropertyChange(property, value, prevProps[property])) { if (!this.__dataPending) { this.__dataPending = {}; @@ -1478,7 +1428,7 @@ export const PropertyEffects = dedupingMixin(superClass => { } // Paths are stored in temporary cache (cleared at end of turn), // which is used for dirty-checking, all others stored in __data - if (isPath) { + if (propIsPath) { this.__dataTemp[property] = value; } else { this.__data[property] = value; @@ -1486,7 +1436,7 @@ export const PropertyEffects = dedupingMixin(superClass => { // All changes go into pending property bag, passed to _propertiesChanged this.__dataPending[property] = value; // Track properties that should notify separately - if (isPath || (this[TYPES.NOTIFY] && this[TYPES.NOTIFY][property])) { + if (propIsPath || (this[TYPES.NOTIFY] && this[TYPES.NOTIFY][property])) { this.__dataToNotify = this.__dataToNotify || {}; this.__dataToNotify[property] = shouldNotify; } @@ -1802,7 +1752,7 @@ export const PropertyEffects = dedupingMixin(superClass => { */ notifySplices(path, splices) { let info = {path: ''}; - let array = /** @type {Array} */(get$0(this, path, info)); + let array = /** @type {Array} */(get(this, path, info)); notifySplices(this, array, info.path, splices); } @@ -1826,7 +1776,7 @@ export const PropertyEffects = dedupingMixin(superClass => { * @public */ get(path, root) { - return get$0(root || this, path); + return get(root || this, path); } /** @@ -1852,7 +1802,7 @@ export const PropertyEffects = dedupingMixin(superClass => { */ set(path, value, root) { if (root) { - set$0(root, path, value); + set(root, path, value); } else { if (!this[TYPES.READ_ONLY] || !this[TYPES.READ_ONLY][/** @type {string} */(path)]) { if (this._setPendingPropertyOrPath(path, value, true)) { @@ -1878,7 +1828,7 @@ export const PropertyEffects = dedupingMixin(superClass => { */ push(path, ...items) { let info = {path: ''}; - let array = /** @type {Array}*/(get$0(this, path, info)); + let array = /** @type {Array}*/(get(this, path, info)); let len = array.length; let ret = array.push(...items); if (items.length) { @@ -1902,7 +1852,7 @@ export const PropertyEffects = dedupingMixin(superClass => { */ pop(path) { let info = {path: ''}; - let array = /** @type {Array} */(get$0(this, path, info)); + let array = /** @type {Array} */(get(this, path, info)); let hadLength = Boolean(array.length); let ret = array.pop(); if (hadLength) { @@ -1930,7 +1880,7 @@ export const PropertyEffects = dedupingMixin(superClass => { */ splice(path, start, deleteCount, ...items) { let info = {path : ''}; - let array = /** @type {Array} */(get$0(this, path, info)); + let array = /** @type {Array} */(get(this, path, info)); // Normalize fancy native splice handling of crazy start values if (start < 0) { start = array.length - Math.floor(-start); @@ -1982,7 +1932,7 @@ export const PropertyEffects = dedupingMixin(superClass => { */ shift(path) { let info = {path: ''}; - let array = /** @type {Array} */(get$0(this, path, info)); + let array = /** @type {Array} */(get(this, path, info)); let hadLength = Boolean(array.length); let ret = array.shift(); if (hadLength) { @@ -2007,7 +1957,7 @@ export const PropertyEffects = dedupingMixin(superClass => { */ unshift(path, ...items) { let info = {path: ''}; - let array = /** @type {Array} */(get$0(this, path, info)); + let array = /** @type {Array} */(get(this, path, info)); let ret = array.unshift(...items); if (items.length) { notifySplice(this, array, info.path, 0, items.length, []); @@ -2034,7 +1984,7 @@ export const PropertyEffects = dedupingMixin(superClass => { if (arguments.length == 1) { // Get value if not supplied let info = {path: ''}; - value = get$0(this, path, info); + value = get(this, path, info); propPath = info.path; } else if (Array.isArray(path)) { // Normalize path if needed @@ -2173,6 +2123,56 @@ export const PropertyEffects = dedupingMixin(superClass => { createMethodEffect(this, sig, TYPES.COMPUTE, runComputedEffect, property, dynamicFn); } + /** + * Gather the argument values for a method specified in the provided array + * of argument metadata. + * + * The `path` and `value` arguments are used to fill in wildcard descriptor + * when the method is being called as a result of a path notification. + * + * @param {!Array} args Array of argument metadata + * @param {string} path Property/path name that triggered the method effect + * @param {Object} props Bag of current property changes + * @return {Array<*>} Array of argument values + * @private + */ + _marshalArgs(args, path, props) { + const data = this.__data; + let values = []; + for (let i=0, l=args.length; i { if (part.signature) { value = runMethodEffect(inst, path, props, oldProps, part.signature); } else if (path != part.source) { - value = get$0(inst, part.source); + value = get(inst, part.source); } else { - if (hasPaths && isPath$0(path)) { - value = get$0(inst, path); + if (hasPaths && isPath(path)) { + value = get(inst, path); } else { value = inst.__data[path]; } diff --git a/package-lock.json b/package-lock.json index c7715e50da..6dd8408ecf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,27 +5,27 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-rc.2.tgz", - "integrity": "sha512-+cVix+HBNakVp7IU1WReJV8dnJl/yaBA5JRXc758BSrvJCH2hKp1Z0xHIiUaOvxMwKXc3EXGIYhlnx5T+6ofGA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "7.0.0-rc.2" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-8VZqKdLMUBfvSDq+V8CWjVBh7y+b2FY+4daFAWN0pgrdgw/UfrEy8afe9CVfppwblROZZVCxGWSSGOBo84rQjg==", - "dev": true, - "requires": { - "@babel/code-frame": "7.0.0-rc.2", - "@babel/generator": "7.0.0-rc.2", - "@babel/helpers": "7.0.0-rc.2", - "@babel/parser": "7.0.0-rc.2", - "@babel/template": "7.0.0-rc.2", - "@babel/traverse": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0.tgz", + "integrity": "sha512-nrvxS5u6QUN5gLl1GEakIcmOeoUHT1/gQtdMRq18WFURJ5osn4ppJLVSseMQo4zVWKJfBTF4muIYijXUnKlRLQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.0.0", + "@babel/helpers": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", "convert-source-map": "^1.1.0", "debug": "^3.1.0", "json5": "^0.5.0", @@ -44,12 +44,12 @@ } }, "@babel/generator": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-rc.2.tgz", - "integrity": "sha512-kD6hlprDaBy17V8qd9uXJbYC5ZYyCggieT+tiGzCwayA7oyT5ynPec3MNkWQHkLyhB7IP2n3c/Ep329jOPQY/g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0.tgz", + "integrity": "sha512-/BM2vupkpbZXq22l1ALO7MqXJZH2k8bKVv8Y+pABFnzWdztDB/ZLveP5At21vLz5c2YtSE6p7j2FZEsqafMz5Q==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2", + "@babel/types": "^7.0.0", "jsesc": "^2.5.1", "lodash": "^4.17.10", "source-map": "^0.5.0", @@ -65,33 +65,33 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-rc.2.tgz", - "integrity": "sha512-HukwqtJnDKo4++QL33d1cKwULDENi2YziqG4goiRiILJsVZYdZxEaOho0RYlzsKEvq4A70sbakUMw3bFC3kp3g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-rc.2.tgz", - "integrity": "sha512-xiq0+9lNdVKX8fKIjrcdOgBEHH9JMR9cVYwdPmp1lXORS3zV/QpZAxQVOeOI4oXbdUPx6jfy3tKyrfhLQBXuuA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0.tgz", + "integrity": "sha512-9HdU8lrAc4FUZOy+y2w//kUhynSpkGIRYDzJW1oKJx7+v8m6UEAbAd2tSvxirsq2kJTXJZZS6Eo8FnUDUH0ZWw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/helper-explode-assignable-expression": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-call-delegate": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-rc.2.tgz", - "integrity": "sha512-RbPyt1vkOzeCV0Gowma4aLSs3odq3/MLpxC/Qaki7Wjbq4yyNGsUAgO1J7ZB/YYbB11PX5OesA1OVKw03RLOrg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0.tgz", + "integrity": "sha512-HdYG6vr4KgXHK0q1QRZ8guoYCF5rZjIdPlhcVY+j4EBK/FDR+cXRM5/6lQr3NIWDc7dO1KfgjG5rfH6lM89VBw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "7.0.0-rc.2", - "@babel/traverse": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -203,73 +203,73 @@ } }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-rc.2.tgz", - "integrity": "sha512-fEmCM0mYCJNuT4hf7EZ3g1K8/CDeo/Ynl1YkKU8HAa6zBo9Kt+4zicFBLgEYDBLogNLPbjBl+0YqR0Fkr5+WJg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0.tgz", + "integrity": "sha512-5gLPwdDnYf8GfPsjS+UmZUtYE1jaXTFm1P+ymGobqvXbA0q3ANgpH60+C6zDrRAWXYbQXYvzzQC/r0gJVNNltQ==", "dev": true, "requires": { - "@babel/traverse": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-function-name": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.2.tgz", - "integrity": "sha512-1frd4Bm/8yfZoAj87tmB6gtQNWtKAzfRzjASVdmsItzq9X13yUlyFLdo6/tNhazftwJO8iIZeadOpi3rNKDXhg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0.tgz", + "integrity": "sha512-Zo+LGvfYp4rMtz84BLF3bavFTdf8y4rJtMPTe2J+rxYmnDOIeH8le++VFI/pRJU+rQhjqiXxE4LMaIau28Tv1Q==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0-rc.2", - "@babel/template": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-rc.2.tgz", - "integrity": "sha512-5tjNc0hYngGqBGdjvzN89p92WY6aCntaDv8AadB/xgyUx4VievZwEbz8pc6GKkO6+qfghfZhv1F3+9SC6IA3Eg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-hoist-variables": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-rc.2.tgz", - "integrity": "sha512-nxLyQK592UW/IOQA04cnheKVr57bIKVeMRjkZp3yWwRtzlVCNABW2AdlP9WPlF+Db7ATcw4vcrpnrelSi7ivBw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-rc.2.tgz", - "integrity": "sha512-8OFFup4az2I+icJL+VPjAIrZZsc7YlS6p8OgC53Nb1JFQ/mvKK8wuHxnNIt63tTIMkBPLRYaZScdij6GpDzCGA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-imports": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-rc.2.tgz", - "integrity": "sha512-4HmUjJ7dwnhhTNOoxOxHe9e24nnzd9VjXNXLcKdw98aRxiFQhBxhOk2t8kX2XMcGVJrFHob5zfVEjgMvnkCmHw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-transforms": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-rc.2.tgz", - "integrity": "sha512-tMGTJiSPa3naZNYfhIBF6ma5TfhyWq8PZe5i9ZemreDx4ffToad0MqQ6OW7g0U9S6a3RlZO1639Wc3DQNyvJlw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0.tgz", + "integrity": "sha512-QdwmTTlPmT7TZcf30dnqm8pem+o48tVt991xXogE5CQCwqSpWKuzH2E9v8VWeccQ66a6/CmrLZ+bwp66JYeM5A==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0-rc.2", - "@babel/helper-simple-access": "7.0.0-rc.2", - "@babel/helper-split-export-declaration": "7.0.0-rc.2", - "@babel/template": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2", + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.0.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/types": "^7.0.0", "lodash": "^4.17.10" } }, @@ -296,31 +296,31 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-rc.2.tgz", - "integrity": "sha512-kavwJYTgdd5W12MpfMJMznrfsx3sCl0HMSJ0vsPcbwT9jhF0EmYL1eyfeYbo4pToYmQgPKp+VGtSHQ3wL8N5lQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", "dev": true }, "@babel/helper-regex": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-rc.2.tgz", - "integrity": "sha512-QXqgALeUqvEq0+PjWHyOWz4ZTnSs0rXXgNpwhbkud4nXfl7w7CMtCRPOadRDRjJ2kMpQ47jM0unn7mrUnNmYnA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "dev": true, "requires": { "lodash": "^4.17.10" } }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-rc.2.tgz", - "integrity": "sha512-JqxhwM6dK1vCEeGeKqSssjD/yEOo5EophV94lcnutP355UApapzzNnw1hJ08irqYo0nYOqpiMP5uIdBhwxmu5A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0.tgz", + "integrity": "sha512-3o4sYLOsK6m0A7t1P0saTanBPmk5MAlxVnp9773Of4L8PMVLukU7loZix5KoJgflxSo2c2ETTzseptc0rQEp7A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-rc.2", - "@babel/helper-wrap-function": "7.0.0-rc.2", - "@babel/template": "7.0.0-rc.2", - "@babel/traverse": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-replace-supers": { @@ -455,51 +455,51 @@ } }, "@babel/helper-simple-access": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-rc.2.tgz", - "integrity": "sha512-Cw5mRtvW1jdmPWD+oLTUX8XkpyftA8AskpaQzuRkxg7dcjAnmXOUYBsccBZ8vTbrxrRzX5WrdRTwbmtx/Q9uNg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0.tgz", + "integrity": "sha512-CNeuX52jbQSq4j1n+R+21xrjbTjsnXa9n1aERbgHRD/p9h4Udkxr1n24yPMQmnTETHdnQDvkVSYWFw/ETAymYg==", "dev": true, "requires": { - "@babel/template": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/template": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.2.tgz", - "integrity": "sha512-MBtzTAeZT7MxWETY0JRh5yyIKY4tN/q68BU4/XgzZUaHJ+G74fJUoR7mPO3TbTiwLIEFVBbZQA9AG4yYqe5W2g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-rc.2.tgz", - "integrity": "sha512-uq+7oYjrJCDj2cV9ZpxiWzLeLZFmsM8V4lyfGyOIEsv87biGE+UcOb8R0OHnA8Hkq2CpF73pCj7nm3tdhj8k+g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0.tgz", + "integrity": "sha512-kjprWPDNVPZ/9pyLRXcZBvfjnFwqokmXTPTaC4AV8Ns7WRl7ewSxrB19AWZzQsC/WSPQLOw1ciR8uPYkAM1znA==", "dev": true, "requires": { - "@babel/helper-function-name": "7.0.0-rc.2", - "@babel/template": "7.0.0-rc.2", - "@babel/traverse": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/helper-function-name": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/helpers": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-rc.2.tgz", - "integrity": "sha512-X5e6FnKEhS8UtSJfjjkEvY8Mq+W52FES6p55g16gHmVycVrggjwZryQKqK+iMJlus7Dgz6MrrdOtC1SWx4jDDg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0.tgz", + "integrity": "sha512-jbvgR8iLZPnyk6m/UqdXYsSxbVtRi7Pd3CzB4OPwPBnmhNG1DWjiiy777NTuoyIcniszK51R40L5pgfXAfHDtw==", "dev": true, "requires": { - "@babel/template": "7.0.0-rc.2", - "@babel/traverse": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/highlight": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-rc.2.tgz", - "integrity": "sha512-96V6XHAh9XHzjmucShCP8tULwXsC446doZ6REaLVdZDPNj3NsWbsC7OBeY+u6UWiFxHTTv6YmA4Veh4wXuucYw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -539,113 +539,113 @@ } }, "@babel/parser": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-rc.2.tgz", - "integrity": "sha512-zDB1QPgQWYwuJty3Ymbx1hq7zbBEbZjTprHOhforvzyQFV86LNh6FS0InjnOUXM6p6QUyONz8KTt/v+MRMd0Hg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0.tgz", + "integrity": "sha512-RgJhNdRinpO8zibnoHbzTTexNs4c8ROkXFBanNDZTLHjwbdLk8J5cJSKulx/bycWTLYmKVNCkxRtVCoJnqPk+g==", "dev": true }, "@babel/plugin-external-helpers": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.0.0-rc.2.tgz", - "integrity": "sha512-3oNid5y4agXoR9SbuPus3zr5E5LDZu2QG5lvKbBOuoqv6BQr1gfwm8WA0GybG2Zw7DuoiPdExlCD1e6BsGUm5g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.0.0.tgz", + "integrity": "sha512-tZKTMdhZvTy0KCEX5EGQQm1RHr7jUa36q/yax1baEA0yZapVYmu10yW7LTqijITgSq416gPVjrcexiA6y4pJlA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-rc.2.tgz", - "integrity": "sha512-t2Cgx5Xwsxn7EBEmmrUWW8g9+12sbYHAPa0kAiiQa/hHTPrxnF9y4Kxsvk2VvAhaFzIFzSNSpq3jJvEQ5K8SWw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0.tgz", + "integrity": "sha512-QsXmmjLrFADCcDQAfdQn7tfBRLjpTzRWaDpKpW4ZXW1fahPG4SvjcF1xfvVnXGC662RSExYXL+6DAqbtgqMXeA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2", - "@babel/helper-remap-async-to-generator": "7.0.0-rc.2", - "@babel/plugin-syntax-async-generators": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.0.0", + "@babel/plugin-syntax-async-generators": "^7.0.0" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-rc.2.tgz", - "integrity": "sha512-WYF4Pe5qwxWGfbjacz7XCfjlgI6eDyWhCFoWFeAwGVX+43INjKCMt3S+4AzfBYb2wlRh1omzBpUmgGfq1isYUg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2", - "@babel/plugin-syntax-object-rest-spread": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-rc.2.tgz", - "integrity": "sha512-ZG9eCI+3RJVYZL/i794SsW0gFXj75nF+Kk14XvhxyvVAiT7DP1z+iMcNckr0dzZ4pvEymVCVxkU++X1dkgQQow==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz", + "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-rc.2.tgz", - "integrity": "sha512-4Pnwwv4s9EhdZrYHP/dMEbr/TR7bqGsINofRavYBHv1lVSwvajhB0Z6+YAmOZabQZieCfH0Kfg1oJLa3sYsfpQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0.tgz", + "integrity": "sha512-Gt9xNyRrCHCiyX/ZxDGOcBnlJl0I3IWicpZRC4CdC0P5a/I07Ya2OAMEBU+J7GmRFVmIetqEYRko6QYRuKOESw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-import-meta": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.0.0-rc.2.tgz", - "integrity": "sha512-rAoIL3trykJNy+S481XBT9zPXs8ZD4W7P7uk2aEawyVeExg0B7oh19oWK15qbyGur3GkIwvSdDL6PxTODH9Uag==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.0.0.tgz", + "integrity": "sha512-FEoGvhXVAiWzpDjyZIlBGzKyNk/lnRPy7aPke3PjVkiAY0QFsvFfkjUg5diRwVfowBA8SJqvFt0ZoXNSjl70hQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-rc.2.tgz", - "integrity": "sha512-TcwJSyWkA5ruAuWhJvmj7N9gmiHTGAz44Rqr6Fgkf6fhdlEYcBHRQQvYEKcYyPLLpqgWCqFvfiW7HgfqkCCe3A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-rc.2.tgz", - "integrity": "sha512-wCZZpEfjPBiO7kRLzLLxcaImgHzlrJKjl5pHpTbng+btsCb53hNgE0dm8ph/YRRHv0NdGej0Mo3+kKNJHARjYg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz", + "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-rc.2.tgz", - "integrity": "sha512-NIRF0AbXilqtr8VuTNqhQUgKGeOVu2AosUxJxAQ0e0NaxnNMRWdVTVj4p/Pl1FuSuA5oftDbSGeQYi3VOFktpg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0.tgz", + "integrity": "sha512-CiWNhSMZzj1n3uEKUUS/oL+a7Xi8hnPQB6GpC1WfL/ZYvxBLDBn14sHMo5EyOaeArccSonyk5jFIKMRRbrHOnQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0-rc.2", - "@babel/helper-plugin-utils": "7.0.0-rc.2", - "@babel/helper-remap-async-to-generator": "7.0.0-rc.2" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.0.0" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-rc.2.tgz", - "integrity": "sha512-l2vetC7pegLd1yhDf0uMQsHpACTqBHqiVB5TaMpiGk7Ixz5qS5R4IXdl2hoSAi6ytAAs7VPRtsWrLqfXgjWYwQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz", + "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-rc.2.tgz", - "integrity": "sha512-bJ8717eZ0Y3oY8t5qnCS0f9AQd6aDt5gJiNjqtEYs9OZkwxKfcadnRuIiC49UdfrgbNqVPbXHz/y6ueJiLtheA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", + "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2", + "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.10" } }, @@ -769,232 +769,232 @@ } }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-rc.2.tgz", - "integrity": "sha512-XZMHsEAM0KRcvEWHIO/5r8kUrPTFlb4oSKf771dlfA7Hfg60YFY8S4UDGmL6Fw5qBn1j0E9pbDoJ5V/MVeU7hA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz", + "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-rc.2.tgz", - "integrity": "sha512-fmtP2ZOtXQGv2ncSZtGzWL/cz5aevgKjvVrdz9t3dPHkyX2CTDBdtJWNds6XLFPkWuN4ayjCbVp7z70Pl98dMg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0.tgz", + "integrity": "sha512-Fr2GtF8YJSXGTyFPakPFB4ODaEKGU04bPsAllAIabwoXdFrPxL0LVXQX5dQWoxOjjgozarJcC9eWGsj0fD6Zsg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-rc.2.tgz", - "integrity": "sha512-CeEHFlCgeZAb57buALjNFmOYgfblKuQBK2ti09nk2PkhJE3+uf1LbCrLra9sU90lOl474AinQqwkmYyogmkjkw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz", + "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-rc.2.tgz", - "integrity": "sha512-VnotPddF7jLAQK6QgBNNwzhPUsxxullq+BEFaDKi1zvXnNGqOcgJ+fmemrdfGUoZWV82Zv2aRehwswPkxPcK2w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0.tgz", + "integrity": "sha512-Ig74elCuFQ0mvHkWUq5qDCNI3qHWlop5w4TcDxdtJiOk8Egqe2uxDRY9XnXGSlmWClClmnixcoYumyvbAuj4dA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-rc.2", - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-rc.2.tgz", - "integrity": "sha512-6alRFzRGQEYlsYsm/WCOZ3+XND9f+/Pj0wkM4+uWPy7lmYoUHLVESGYJc8wFXjk/diNYzjowrx9JZn6sn6lXNw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz", + "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-rc.2.tgz", - "integrity": "sha512-UmP+TGefcAAakV54Gs1RPwt0WCD1MogSMlWjEjJXUCrjvWlGGUIlcz5YR2bxtvPHBv3anpt9fxS1LZb0fjd2Mw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0.tgz", + "integrity": "sha512-mR7JN9vkwsAIot74pSwzn/2Gq4nn2wN0HKtQyJLc1ghAarsymdBMTfh+Q/aeR2N3heXs3URQscTLrKe3yUU7Yw==", "dev": true, "requires": { - "@babel/helper-function-name": "7.0.0-rc.2", - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-function-name": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-instanceof": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-instanceof/-/plugin-transform-instanceof-7.0.0-rc.2.tgz", - "integrity": "sha512-VG7gS15xp//f/MayUmKcs7jsw6C8zJMxoBvTDXppIm7U780ie/uH220WJ+eqPURSm12p2wMyWouboTuUnJMPdQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-instanceof/-/plugin-transform-instanceof-7.0.0.tgz", + "integrity": "sha512-Dv6MtJZOjjGjnHlSwQVpYlwZBkPzaWX/1zoHUW82fmKmUNOp+XnYA1lCYCB+7RXkX8rBa6IuNZ9Y8u3MLJCxuQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-literals": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-rc.2.tgz", - "integrity": "sha512-lW0hoPqS4WhYgSQ0ifNk1tHn+e4OateqWXaM7BW7wZEU0dtP+RQ0x4z5Xghc7u82ZA4IwPN7mS1i201I7eT+dw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz", + "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-rc.2.tgz", - "integrity": "sha512-phr4bjRHDvLv3OK4g0NvT998A19kmqZKMrnOFZC5gvIEvdGCa18y9Y2mZPg2Jxi+tKI1lkh248L0puLUsEtwfw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0.tgz", + "integrity": "sha512-CtSVpT/0tty/4405qczoIHm41YfFbPChplsmfBwsi3RTq/M9cHgVb3ixI5bqqgdKkqWwSX2sXqejvMKLuTVU+Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.0.0-rc.2", - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-module-transforms": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-rc.2.tgz", - "integrity": "sha512-VuV9E57/MQLLw5uQ1fiVhyC25gTTa+rNUVz6DEzInIV81VFm1KM0U5/b3FgTqtLMMHp/dFDExqwkHjmvlWpdzw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0.tgz", + "integrity": "sha512-BfAiF1l18Xr1shy1NyyQgLiHDvh/S7APiEM5+0wxTsQ+e3fgXO+NA47u4PvppzH0meJS21y0gZHcjnvUAJj8tQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2", - "@babel/helper-replace-supers": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.0.0" }, "dependencies": { "@babel/helper-optimise-call-expression": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-rc.2.tgz", - "integrity": "sha512-O/rWpfst/rKucph1U0Hy8YDwoHBNwAZJqv7rDOp00S7eMYbU8wDYgG43J+mJcYV+2WV2dqoym6j9QdV4xTvEsw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "7.0.0-rc.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-replace-supers": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-rc.2.tgz", - "integrity": "sha512-MdMAYjNacQ3pCMNvAs31Nkp4UZTAE9ahMnJvkqIjgB7YgpNFfRI/8BX97SyWKe4qlNrkVxCE6WrY2s9nJBh7uA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0.tgz", + "integrity": "sha512-fsSv7VogxzMSmGch6DwhKHGsciVXo7hbfhBgH9ZrgJMXKMjO7ASQTUfbVL7MU1uCfviyqjucazGK7TWPT9weuQ==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0-rc.2", - "@babel/helper-optimise-call-expression": "7.0.0-rc.2", - "@babel/traverse": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0" } } } }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-rc.2.tgz", - "integrity": "sha512-jjl/rEU3LAHPWdlNokNex0sOZ6ytEw8+f1tvSZCGuSzmqGZbMreLOLB1HFSKRCsu6zsQNYY/in2h11fgQU40yQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0.tgz", + "integrity": "sha512-eWngvRBWx0gScot0xa340JzrkA+8HGAk1OaCHDfXAjkrTFkp73Lcf+78s7AStSdRML5nzx5aXpnjN1MfrjkBoA==", "dev": true, "requires": { - "@babel/helper-call-delegate": "7.0.0-rc.2", - "@babel/helper-get-function-arity": "7.0.0-rc.2", - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-call-delegate": "^7.0.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-rc.2.tgz", - "integrity": "sha512-t4d/kBjxwLgmLWwI/Kz9CnO4z8rsiQ5dS3EYgGRua4VGkczde6m3jpzZx0+7b6iw+frGI12W27V50D5Ruv5juw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "dev": true, "requires": { "regenerator-transform": "^0.13.3" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-rc.2.tgz", - "integrity": "sha512-IKkCwaGhfgRTGFrGKCqQmPFm7Z+y4hfzWPgctZNhZFtjPN0Y6B+ixaX7Ey0aFEIq6K+2cAIMiZTJbDflQEb0Fg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz", + "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-spread": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-rc.2.tgz", - "integrity": "sha512-Xmw5FxsvrxHv94j9i54IfIpbNbaGC4TpokMmMjuqdgeezCEZkCFUolqydhgDKgxCg5pqKDh6oDistJIJ/8RLMA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz", + "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-rc.2.tgz", - "integrity": "sha512-//QPQAuZE6BqOkZNqr2GLfBE0gssKucez91+4wX3f4x0QN9lsMD6fLN5mymnVGWw7FKlM3XuPYEF8syqqJD4Dw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz", + "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2", - "@babel/helper-regex": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" } }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-rc.2.tgz", - "integrity": "sha512-6ICqvslFDU6S+zggiF73e9chbb1MicgPMFgnjo3QikfKe0aolOfyoKTcBNRRXywnZr+ILUcY44zkF3jI3mr2Fw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz", + "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-rc.2", - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-rc.2.tgz", - "integrity": "sha512-nL5PV6/VjuBreNsaJm00RzdIuC8ITK1O++WFwlZLOen5CPNSFmpOqP84J088hGk3tU9Iw5x4ETEzYHrf/5/72g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz", + "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-rc.2.tgz", - "integrity": "sha512-C+28QnIFb8jmw1NegaOtVxnZpBz748h/zsxmAq+uP9J8yGXLA7LtKrFLi00Ky+554BCnqf8Ftp5Fd3NaYpPOOQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz", + "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.2", - "@babel/helper-regex": "7.0.0-rc.2", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", "regexpu-core": "^4.1.3" } }, "@babel/template": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-rc.2.tgz", - "integrity": "sha512-CryGZ01Nko2/g8gkYiiPc7x9ZinrX59/BTWMZV1sDj5cAeia64vhyNnXTcNeim885IdGOdYyia1PNBWKnFxuSw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0.tgz", + "integrity": "sha512-VLQZik/G5mjYJ6u19U3W2u7eM+rA/NGzH+GtHDFFkLTKLW66OasFrxZ/yK7hkyQcswrmvugFyZpDFRW0DjcjCw==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-rc.2", - "@babel/parser": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/types": "^7.0.0" } }, "@babel/traverse": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-rc.2.tgz", - "integrity": "sha512-x8y9E+KZHs3Xmy5uiYmr1TtDhOBAZnL9vUtLIt95Pw3jovkY9q2NIwgLzfSlzOU83sQvzAooZWuJ65JERwxx+Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0.tgz", + "integrity": "sha512-ka/lwaonJZTlJyn97C4g5FYjPOx+Oxd3ab05hbDr1Mx9aP1FclJ+SUHyLx3Tx40sGmOVJApDxE6puJhd3ld2kw==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-rc.2", - "@babel/generator": "7.0.0-rc.2", - "@babel/helper-function-name": "7.0.0-rc.2", - "@babel/helper-split-export-declaration": "7.0.0-rc.2", - "@babel/parser": "7.0.0-rc.2", - "@babel/types": "7.0.0-rc.2", + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.0.0", + "@babel/helper-function-name": "^7.0.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/types": "^7.0.0", "debug": "^3.1.0", "globals": "^11.1.0", "lodash": "^4.17.10" } }, "@babel/types": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.2.tgz", - "integrity": "sha512-I2SMGD8bUX7sysOwGM8TcwCoaHiOx2YWZmT9h5oAncsPQ9Wy068yJneCF4vkOGTCzPFIETPDR5i3EIEm5QgMFg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz", + "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -1003,15 +1003,15 @@ } }, "@polymer/app-layout": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/app-layout/-/app-layout-3.0.0-pre.21.tgz", - "integrity": "sha512-yQpUQR3zFJWb/sS5wU1prcuyjL6yzKD7L+qRoK0TYLcS7kHO6k3vB4ufHg//lN4HHhOvw3Q5dwe2bgVdlm0ELw==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/app-layout/-/app-layout-3.0.0-pre.23.tgz", + "integrity": "sha512-WpvBD9u8nUDT1ChA9DNXcVP6Yed6bXARPbuhvyIqTieN6APrmXIwUqzT/PoDZHuCdvOGvM2gzS8IPbwx/9Jq4g==", "dev": true, "requires": { - "@polymer/iron-flex-layout": "^3.0.0-pre.21", - "@polymer/iron-media-query": "^3.0.0-pre.21", - "@polymer/iron-resizable-behavior": "^3.0.0-pre.21", - "@polymer/iron-scroll-target-behavior": "^3.0.0-pre.21", + "@polymer/iron-flex-layout": "^3.0.0-pre.22", + "@polymer/iron-media-query": "^3.0.0-pre.22", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.22", + "@polymer/iron-scroll-target-behavior": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, @@ -1022,9 +1022,9 @@ "dev": true }, "@polymer/font-roboto": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/font-roboto/-/font-roboto-3.0.0-pre.21.tgz", - "integrity": "sha512-1DnYDaoyTeSmZzocj7jhHS8tM1j+FJNTrMEOyudLKF8sqGzmlz48XyMRbt4RL4pO9szz5vJ8xhS+4WUPHFj9OA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/font-roboto/-/font-roboto-3.0.0-pre.23.tgz", + "integrity": "sha512-jp+PJtrN9XnXQrXG7oJyKjAeeksU1Ly06+t2Nn8nTtyEqiwhaeWNCQlDC27ysOfxiiTcs0MYcnpWC+UFOdzwng==", "dev": true }, "@polymer/gen-closure-declarations": { @@ -1038,9 +1038,9 @@ } }, "@polymer/gen-typescript-declarations": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@polymer/gen-typescript-declarations/-/gen-typescript-declarations-1.5.0.tgz", - "integrity": "sha512-53/Q+q4nm/YMeJePkCP9NKKmkt8/qoQIlvb9MzOXEnMlNvxFuFPL6iZ4elkOcqszUyuw0lYQwDTPreLbq8GTiw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@polymer/gen-typescript-declarations/-/gen-typescript-declarations-1.5.1.tgz", + "integrity": "sha512-9MPXvkP543SsVb3TwcxAHrFyvjQEbJbUokGrUMs0RGhGqXwSeQRa390AazNHJePOypze1R0VQ9I0WfkP6JlrBg==", "dev": true, "requires": { "@babel/types": "^7.0.0-beta.42", @@ -1142,50 +1142,50 @@ } }, "@polymer/iron-a11y-announcer": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.0.0-pre.21.tgz", - "integrity": "sha512-n35ck7y5aQweRxK2JvEe7sFE/LbUd/b5EW8tYPa/96iZw1qcTHWtIKdMJjDH18YroKVFH4Ncz4/0Xg7GChLhvA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.0.0-pre.23.tgz", + "integrity": "sha512-xh53F7CgGD0lfxCKzetzfHY2ccRmuJCi59IjvSEzJ1x4KUeiCCu0PHHefCOIe4ZIr81oiTIkrcAgNVDLvCd5bA==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-a11y-keys-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-fdADeKVQsZ7Izg5H6pOM9VVFWMTVUGgMfGr6jzEW0ehZT6N7bTzBIjft2r8sh3qSx2zCUxQEgUUDoeXE9/yROA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.0-pre.23.tgz", + "integrity": "sha512-DvXwTydiP3e/8peA73LpNsaz6ytxc6kn/HUv+MrAKiBPsP/yW/tFCUQ2CPrt086jV5afpbYJTwqbAblI3jsHSw==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-ajax": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-ajax/-/iron-ajax-3.0.0-pre.21.tgz", - "integrity": "sha512-ThdEkmsyAwfEsz8l08uiDp0rHzBe+aCPix+wqsomxoZf7zpUtCr7k8EDhp1u9CLxNO7HRv4SPApM110GVAQA9Q==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-ajax/-/iron-ajax-3.0.0-pre.23.tgz", + "integrity": "sha512-1FnsIl9vaE+sPGb0x7LsXV9jflI6o0mg5T1rEGeI/tS5Ylc6N67otvFwTmwYm3pIoZb/6M51cAQ7ENivMPpiBw==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-behaviors": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-behaviors/-/iron-behaviors-3.0.0-pre.21.tgz", - "integrity": "sha512-sxdLri6CMNs6kty8sPDYGuAX9LofbEn2r/qI3QkJZUXFZhZUSGwCmoDt9yMWffNSamUsEDURLafYW09jOEhtRQ==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-behaviors/-/iron-behaviors-3.0.0-pre.23.tgz", + "integrity": "sha512-3kTjwsUI3t7w8dNktgUK0lWRYBWtR8GTRMwNANBkjdrBlQcnioYyXNMgFrEtNH1KDBQcnVNh0qsD4eafG3EUTQ==", "dev": true, "requires": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.21", + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-checked-element-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-ZpyKomXudcOM1vGvfqwFkrlTumChStbNy5rRFKbdCbsUeZsXV83LIHfkXxMhJJ5hEIExvK4pDcnv/wEdFggXPQ==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.0-pre.23.tgz", + "integrity": "sha512-R990GsQgSSfHpF+bJBmZN1eJN/yIshn48+xoEGb6XMIGGGDm+7A6fAmjhDfaPFIOpHByslqkgEBn3/ZIWJhYMA==", "dev": true, "requires": { - "@polymer/iron-form-element-behavior": "^3.0.0-pre.21", - "@polymer/iron-validatable-behavior": "^3.0.0-pre.21", + "@polymer/iron-form-element-behavior": "^3.0.0-pre.22", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, @@ -1219,135 +1219,135 @@ } }, "@polymer/iron-fit-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-j3F59w4xGfVbmw8PQruQz4b7tHpi2cmgVeuOuQM6eG0+wA6hu5O2I+LYJCQmCLuQN8LzFjATTOCDfhlDb2Pfcg==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.0.0-pre.23.tgz", + "integrity": "sha512-Qs8vK4lMEiD1UDPscWDoJniI0/jcA077UJIs9gT2hasVboqGXvKRqzGVmXgDgZLSN1/ZM4/QzxBmTE/sk4Q5ow==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-flex-layout": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.0-pre.21.tgz", - "integrity": "sha512-/GFBWLBhpzycXmdyS+rzQxCa/ssCX5ZGEa0M/oMRsUK/hUKrj/XBNNYZ3BlyHf2NHELNqnwZLcIZB5EPjA0uwg==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.0-pre.23.tgz", + "integrity": "sha512-skB8W3qcJJnooAk6lQCDhMvIP9F4bjLIgZHvXhTrafW2Gt/bJUByc/MOuMCZbbwXX2dELkOJU68zMVw+24PusQ==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-form-element-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-E9oS0ryZw7FPQ/XMmBaKScyv8l/z86kKpIfXm+WLbqapu5FIuNE54z/73QUs5uoKI+H8gR9UL48mzZGCiGEMDw==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.0-pre.23.tgz", + "integrity": "sha512-58S4IQCRwAR33mA2nd4a1se7DCqlcLTNpRbUEdBwF4cq6la7kXvDQQj2DwutsUWRZSJgIt08PDKnVt2GqTz3pQ==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-icon": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-icon/-/iron-icon-3.0.0-pre.21.tgz", - "integrity": "sha512-B/6ncM/JiKYOCkYtIsgztZuMzmMWAR5POGQ0r7TU0RaBzKstqTvn6NfRHeNzYjsOwBMse/wA6/qvgvCRgx6kWw==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-icon/-/iron-icon-3.0.0-pre.23.tgz", + "integrity": "sha512-Mw3zg5Ml9QCW0SS6LFlkbVutD+nF397ELFgOyN3kH7bRCxND4YP5V27CZEPj53TTC0gCKxIOKwFwk65W9huibw==", "dev": true, "requires": { - "@polymer/iron-flex-layout": "^3.0.0-pre.21", - "@polymer/iron-meta": "^3.0.0-pre.21", + "@polymer/iron-flex-layout": "^3.0.0-pre.22", + "@polymer/iron-meta": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-icons": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-icons/-/iron-icons-3.0.0-pre.21.tgz", - "integrity": "sha512-ExwaHlToVXl3BN3y2sYiutVqf9+vrnVx8/PdaNkwvDaBt1RTyeGN5EP3YGvKsaF17yq9TlJsnLOANvf1koO/XA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-icons/-/iron-icons-3.0.0-pre.23.tgz", + "integrity": "sha512-D4qPdCucPl59T33YKdCYyFVxnwYgMrHjpn+KwNGxX51V6n2cde2XGNR2rydyIXVYI9ep50KIXMz4eFeH9CgKew==", "dev": true, "requires": { - "@polymer/iron-icon": "^3.0.0-pre.21", - "@polymer/iron-iconset-svg": "^3.0.0-pre.21", + "@polymer/iron-icon": "^3.0.0-pre.22", + "@polymer/iron-iconset-svg": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-iconset-svg": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.0-pre.21.tgz", - "integrity": "sha512-YWdX3QROFHKsGds9wUDbD2u1hN6uG6oG4fEu/F16aHFQg9tu2oiSyRspGsOQlXJ28177Qc2rxQ1Kp8GdlzpMbw==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.0-pre.23.tgz", + "integrity": "sha512-E40kY/ymMkVylZw9nmWt2Km015m/CnGXCAtRe0jSS8Zb8m79OXPx1NKO8o4WVmBTb2NHfc48SdkLC1OQgTFfDQ==", "dev": true, "requires": { - "@polymer/iron-meta": "^3.0.0-pre.21", + "@polymer/iron-meta": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-location": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-location/-/iron-location-3.0.0-pre.21.tgz", - "integrity": "sha512-NIAAGKkvUkfkVg3lge4r66WdcTXTZfhNwADWwh5REcM5rubqMWb6PKb+K/6bumDEODYtI5waL3ewOeFMdONUHA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-location/-/iron-location-3.0.0-pre.23.tgz", + "integrity": "sha512-fj5flXHs/Yw9e1oHfXNlHhKZmuD/aYeW7CtRJwFqdd353MIN89O8iW+c+8WgdG/bcfBWViL/9QDZ+et4swmKmg==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-media-query": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-media-query/-/iron-media-query-3.0.0-pre.21.tgz", - "integrity": "sha512-hvuNZj53XBU6LDU93VDkOozH3Kn6Gd7hsi/KlOCHPocQFhCz+ChM3uSfC7Jf0cBLvS1VpH0hxUDAvQNlrx9H/w==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-media-query/-/iron-media-query-3.0.0-pre.23.tgz", + "integrity": "sha512-hNGVR3gUUCbPxEXDj49MxEAdA2yl+NhA9LJ/IqtTCMrqy75UsmIsGBWJ0R0/4W9I9gUOwlr/vXG1d2576QcVYA==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-meta": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-meta/-/iron-meta-3.0.0-pre.21.tgz", - "integrity": "sha512-RR24zD2t4rSJyjisMo5Cfy200FFYrsmRDZSX8wk1JdaDHVWLgq9DM1aa7/B7WI7sEWkckzVZPBthRFVB+PmVwA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-meta/-/iron-meta-3.0.0-pre.23.tgz", + "integrity": "sha512-UhRJqYfRN1A3boyxJGol5jSsSn2b7S3XBJhdZ+YqntSd6hGANi854+WlWdKFLygIviv7JZ/F5pcEtpc6qHb5nQ==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-overlay-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-aHGtygYEXmFu0Y13vLuBfXm/obNlGnb4JdKCycB931ugfrloEwYo+8DcPyWdc3J0dMJDhv7pH8VZJglNdUQjZA==", + "version": "3.0.0-pre.24", + "resolved": "https://registry.npmjs.org/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.0-pre.24.tgz", + "integrity": "sha512-5Ev/SzPp4ZjIg29hlZ3w92ItTZB6npy3hMi/8GNd1fO18dJMHlDVsmREo3rnmPYLaLOY2e3SQ9LivOMtP9GeSg==", "dev": true, "requires": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.21", - "@polymer/iron-fit-behavior": "^3.0.0-pre.21", - "@polymer/iron-resizable-behavior": "^3.0.0-pre.21", + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.22", + "@polymer/iron-fit-behavior": "^3.0.0-pre.22", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-resizable-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-V27DpRXUofbz8K43U5ITC2N/LIrqIrrmaslNxrnasTheiDiienpZDFBTCjO+eGz61Cijjs39VIEYF9TezbDY8A==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.0-pre.23.tgz", + "integrity": "sha512-CnKN9pQODNxjYvyU5Wsxlj/MT/E6JX1atnYyHSHP//vfYl4f9MXazHWpiqWjZKca6S+tLYN6h6P3H8wjBBDNlA==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-scroll-target-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-bHW5eKtXmSHzZbMAo7cUgORkLKToMawY4+jHQCUyghmX+pRCnedOF56YJW96Ix60/NzU1SLrEin1RMDjlISw/w==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.0-pre.23.tgz", + "integrity": "sha512-rrgytE/c+pFLXAWGBjFB7vRObRChOlfX6Ut5sc16hcUfPRfb3dUNIMK6BFIMHeu89GgrTUKeLRS8MORmgM94Sg==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0" } }, "@polymer/iron-validatable-behavior": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.0-pre.21.tgz", - "integrity": "sha512-G4yxCe2xp9+jJ0MkjqC26MKo1FqsvUrnmqpCtJiVBLlpZEUx1b2lZz2ZzynXpnisg9EuZ3xtHtOge5UFTNoG+w==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.0-pre.23.tgz", + "integrity": "sha512-yPpfv+fQz7/Ipdgmet/PXI02sdheHD4r3eMdkO2xCYoXtD+FS6ac41MH+s2yKESI3tannlWwYmHmYWkIRDxoLA==", "dev": true, "requires": { - "@polymer/iron-meta": "^3.0.0-pre.21", + "@polymer/iron-meta": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/marked-element": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/marked-element/-/marked-element-3.0.0-pre.21.tgz", - "integrity": "sha512-7DlbJb/l/M87heHvj8lmK6P02fUpoMZLIe6GxbqQscH0uvDtHTyM7topu1hBt0pg0V7wkgC5KInZteftMQSPeQ==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/marked-element/-/marked-element-3.0.0-pre.23.tgz", + "integrity": "sha512-bKytsIm5h2UECu522IPPZlXhvWqdUf70szyXtIN6dm04db9iMEHJHGXMTilZ04uA3Fd0pt88FUrdFFYW6NUcFA==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0", @@ -1355,59 +1355,59 @@ } }, "@polymer/paper-behaviors": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/paper-behaviors/-/paper-behaviors-3.0.0-pre.21.tgz", - "integrity": "sha512-CiS/1K9b+b5qxpykr5P/ZeO5le06H7aaR/ymPWJ/m0ioFcSyzRPWlEwjDwiqqCBCmwmdsLXvLYmB2Z6oLiXqPQ==", + "version": "3.0.0-pre.24", + "resolved": "https://registry.npmjs.org/@polymer/paper-behaviors/-/paper-behaviors-3.0.0-pre.24.tgz", + "integrity": "sha512-cdJn83Pq59Zw34+6j0jceT2QodZsfxckBRTxCmf/P8ZkWUx0phveIropdBQNZg1p6rUu5eCbSKSnLLaSCmg4kQ==", "dev": true, "requires": { - "@polymer/iron-behaviors": "^3.0.0-pre.21", - "@polymer/iron-checked-element-behavior": "^3.0.0-pre.21", - "@polymer/paper-ripple": "^3.0.0-pre.21", + "@polymer/iron-behaviors": "^3.0.0-pre.22", + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.22", + "@polymer/paper-ripple": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/paper-icon-button": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/paper-icon-button/-/paper-icon-button-3.0.0-pre.21.tgz", - "integrity": "sha512-H+kx7v6R7+Hd6A6hSt+bsCMzbTPArty8yGFqTKpjsvGFCVfRHcIwoKrHqgQ0CX/JHmn2Zs+tF0IIdtiHjJYegg==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/paper-icon-button/-/paper-icon-button-3.0.0-pre.23.tgz", + "integrity": "sha512-VGZfJm3ZrAGnA585htp3omqmx85twMF0OF8DXaQRhFIdnEdNE8/AlqyWpQxKg2evpdYdQhWzyUnYw0smssjtQA==", "dev": true, "requires": { - "@polymer/iron-icon": "^3.0.0-pre.21", - "@polymer/paper-behaviors": "^3.0.0-pre.21", - "@polymer/paper-styles": "^3.0.0-pre.21", + "@polymer/iron-icon": "^3.0.0-pre.22", + "@polymer/paper-behaviors": "^3.0.0-pre.23", + "@polymer/paper-styles": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/paper-ripple": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/paper-ripple/-/paper-ripple-3.0.0-pre.21.tgz", - "integrity": "sha512-qqNdU1/57WtMr+3NiAVI2zXw4LrEX9QD9jwifIgJXWj+lqe0YMeKrXOvCYHvV8nv9Owq7dRGvhOXM++E+imoLQ==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/paper-ripple/-/paper-ripple-3.0.0-pre.23.tgz", + "integrity": "sha512-/Cgl2p6Shz7i+xbXKbpCBh0eAc+OuiEpWfPTsSLtamjunodYvNTjsGSPR99bUTq1QuobzSgDT1un9AmwS0D91g==", "dev": true, "requires": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.21", + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/paper-styles": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/paper-styles/-/paper-styles-3.0.0-pre.21.tgz", - "integrity": "sha512-GJB0EirkY17N05kbTMDa8aABvQ2GIE95LMt7aOy16VG6sjh1TFS0gUOnoGgHA7ZUUZsOP3BdNqxKYzgQ+9m/GA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/paper-styles/-/paper-styles-3.0.0-pre.23.tgz", + "integrity": "sha512-jq02HKdjtF6PGVbI1TVu6IoqhDR29W0xPaceJgJXchSGrJYHVTjIoRfxgFk31Hx7JbGLuHXdkrmeRj7MESz53A==", "dev": true, "requires": { - "@polymer/font-roboto": "^3.0.0-pre.21", - "@polymer/iron-flex-layout": "^3.0.0-pre.21", + "@polymer/font-roboto": "^3.0.0-pre.22", + "@polymer/iron-flex-layout": "^3.0.0-pre.22", "@polymer/polymer": "^3.0.0" } }, "@polymer/paper-toast": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/paper-toast/-/paper-toast-3.0.0-pre.21.tgz", - "integrity": "sha512-7jaAfpYxz86CUcgUhE/CCrCSh5kMNIC6c0+rerUozraVOmbbQGO2C4CLu/8aaJjxzqPdnTxyZwME82zHCu2qhw==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/paper-toast/-/paper-toast-3.0.0-pre.23.tgz", + "integrity": "sha512-ukqsr24aHwaQBdKCAfr191bjlpwimLWudjU/2bC9qbPPlk0qPSRTNrcJQR7UlpP23JqvfCIgFElhKW6nVgA8SA==", "dev": true, "requires": { - "@polymer/iron-a11y-announcer": "^3.0.0-pre.21", - "@polymer/iron-fit-behavior": "^3.0.0-pre.21", - "@polymer/iron-overlay-behavior": "^3.0.0-pre.21", + "@polymer/iron-a11y-announcer": "^3.0.0-pre.22", + "@polymer/iron-fit-behavior": "^3.0.0-pre.22", + "@polymer/iron-overlay-behavior": "^3.0.0-pre.23", "@polymer/polymer": "^3.0.0" } }, @@ -1421,9 +1421,9 @@ } }, "@polymer/prism-element": { - "version": "3.0.0-pre.21", - "resolved": "https://registry.npmjs.org/@polymer/prism-element/-/prism-element-3.0.0-pre.21.tgz", - "integrity": "sha512-8ZvgyrVncOOy9EoGIBAdgBTaPVfu4Vg0fHsBOQ9qCpGXYOU+033G9hgrHgNyWKNR1VGmdVEhztTvNIGqH9KzQA==", + "version": "3.0.0-pre.23", + "resolved": "https://registry.npmjs.org/@polymer/prism-element/-/prism-element-3.0.0-pre.23.tgz", + "integrity": "sha512-YKBhB8+KFlABogx0fTeD/0pse0gPfXM4AWcTO+PaBUkQCWzah2BX9eWZnCjeHnQGmLL2759HM3yvqP7YrNshWw==", "dev": true, "requires": { "@polymer/polymer": "^3.0.0", @@ -1763,9 +1763,9 @@ "dev": true }, "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", + "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==", "dev": true }, "acorn-import-meta": { @@ -5057,9 +5057,9 @@ "dev": true }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -7013,9 +7013,9 @@ } }, "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", + "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", "dev": true, "optional": true }, @@ -7682,9 +7682,9 @@ }, "dependencies": { "@types/node": { - "version": "9.6.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.29.tgz", - "integrity": "sha512-KtYsg4/OzMV8CIgwT0kGwHn2J5DNd3w7hY6/AYwIfxRhrN0isNFlT5nN+pgvcMUkiba2+A3D6Ig0onBGgSj18A==", + "version": "9.6.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.30.tgz", + "integrity": "sha512-mFkVM9yFexPPKm0sidVyEzM8F0O06W3vZ8QnjHYa3AB1uvtPOayGKLrXlXIKOdJ7LOE+zilhxYbGPy/34QTgrw==", "dev": true }, "@types/resolve": { @@ -20394,9 +20394,9 @@ }, "dependencies": { "@types/node": { - "version": "9.6.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.29.tgz", - "integrity": "sha512-KtYsg4/OzMV8CIgwT0kGwHn2J5DNd3w7hY6/AYwIfxRhrN0isNFlT5nN+pgvcMUkiba2+A3D6Ig0onBGgSj18A==", + "version": "9.6.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.30.tgz", + "integrity": "sha512-mFkVM9yFexPPKm0sidVyEzM8F0O06W3vZ8QnjHYa3AB1uvtPOayGKLrXlXIKOdJ7LOE+zilhxYbGPy/34QTgrw==", "dev": true } } diff --git a/test/runner.html b/test/runner.html index 3f68f28e7a..13e6e66773 100644 --- a/test/runner.html +++ b/test/runner.html @@ -82,7 +82,8 @@ 'unit/dir.html', 'unit/disable-upgrade.html', 'unit/shady-unscoped-style.html', - 'unit/html-tag.html' + 'unit/html-tag.html', + 'unit/legacy-data.html' // 'unit/multi-style.html' ]; diff --git a/test/unit/legacy-data.html b/test/unit/legacy-data.html new file mode 100644 index 0000000000..3747c9f561 --- /dev/null +++ b/test/unit/legacy-data.html @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +