]> git.ipfire.org Git - thirdparty/vuejs/pinia.git/commitdiff
Merge branch 'master' into next
authorEduardo San Martin Morote <posva13@gmail.com>
Thu, 30 Jan 2020 10:38:14 +0000 (11:38 +0100)
committerEduardo San Martin Morote <posva13@gmail.com>
Thu, 30 Jan 2020 10:38:14 +0000 (11:38 +0100)
1  2 
jest.config.js
old test ssr/app/main.ts
old test ssr/app/store.ts
package.json
src/store.ts
src/types.ts
yarn.lock

diff --cc jest.config.js
index 7ff71123db1c4c57bb8b64083af0c79a2ca5df18,9672b3532d01cb60d255c85f389544d2b816dd38..becdb1fdb869e26f35e5626479c79a025b9ab3d7
@@@ -1,8 -1,9 +1,8 @@@
  module.exports = {
    preset: 'ts-jest',
    collectCoverage: true,
-   collectCoverageFrom: ['<rootDir>/src/**/*.ts'],
+   collectCoverageFrom: ['<rootDir>/src/**/*.ts', '!<rootDir>/src/devtools.ts'],
    testMatch: ['<rootDir>/__tests__/**/*.spec.ts'],
 -  setupFilesAfterEnv: ['./__tests__/setup.ts'],
    globals: {
      'ts-jest': {
        diagnostics: {
Simple merge
index 6d6558148f753a91a7c44db0c922d2a4aa65399c,4a40174c3048e64441e5ece28f16469d9d3df41b..17fb95ab910a346a15274eb297deb62d39b73a42
@@@ -1,6 -1,9 +1,9 @@@
 -import { createStore } from '../../../src'
 +import { createStore } from '../../src'
  
- export const useStore = createStore('main', () => ({
-   counter: 0,
-   name: 'anon',
- }))
+ export const useStore = createStore({
+   id: 'main',
+   state: () => ({
+     counter: 0,
+     name: 'anon',
+   }),
+ })
diff --cc package.json
index 354367362dd04ac41bccb59a384bc9e688f8dadd,1b97da0bc6baf3fd49696f5c30d5aef147c83c80..de680010e3297e59af60f914a806899ea3ef62da
    "tsd": {
      "directory": "__tests__/dts"
    },
 -  "keywords": [],
 +  "keywords": [
 +    "vue",
 +    "vuex",
 +    "store",
 +    "pina",
 +    "composition",
 +    "api",
 +    "setup",
 +    "typed",
 +    "typescript",
 +    "ts",
 +    "type",
 +    "safe"
 +  ],
    "license": "MIT",
    "devDependencies": {
-     "@rollup/plugin-alias": "^2.2.0",
+     "@nuxt/types": "^0.6.1",
+     "@rollup/plugin-alias": "^3.0.0",
      "@rollup/plugin-replace": "^2.2.1",
-     "@types/jest": "^24.0.24",
-     "@typescript-eslint/eslint-plugin": "^2.12.0",
-     "@typescript-eslint/parser": "^2.12.0",
+     "@types/jest": "^25.1.1",
+     "@typescript-eslint/eslint-plugin": "^2.18.0",
+     "@typescript-eslint/parser": "^2.18.0",
 -    "@vue/composition-api": "^0.3.2",
      "codecov": "^3.6.1",
-     "eslint": "^6.8.0",
-     "eslint-config-prettier": "^6.3.0",
+     "eslint": "^6.4.0",
+     "eslint-config-prettier": "^6.10.0",
      "eslint-plugin-prettier": "^3.1.1",
-     "jest": "^24.9.0",
+     "jest": "^25.1.0",
      "pascalcase": "^1.0.0",
      "prettier": "^1.18.2",
-     "rimraf": "^3.0.0",
-     "rollup": "^1.21.4",
+     "rimraf": "^3.0.1",
+     "rollup": "^1.30.1",
      "rollup-plugin-commonjs": "^10.1.0",
      "rollup-plugin-node-resolve": "^5.2.0",
      "rollup-plugin-terser": "^5.1.2",
      "rollup-plugin-typescript2": "^0.25.2",
-     "ts-jest": "^24.1.0",
+     "ts-jest": "^25.1.0",
      "tsd": "^0.11.0",
 -    "typescript": "^3.6.3",
 -    "vue": "^2.6.11",
 -    "vue-server-renderer": "^2.6.11"
 +    "typescript": "^3.7.4",
 +    "vue": "next"
    },
    "repository": {
      "type": "git",
diff --cc src/store.ts
index 4508a358a4b270facfd76311c5abe423b250358f,83c86d8ecf2a3bf48b4b29e276a77b29f59ca1f6..82621a96e6cedb5b8dc476d4e840bdff31230b4c
@@@ -1,7 -1,7 +1,7 @@@
- import { ref, watch, computed } from 'vue'
 -import { ref, watch, computed, reactive, Ref } from '@vue/composition-api'
++import { ref, watch, computed, reactive, Ref } from 'vue'
  import {
    StateTree,
-   Store,
+   StoreWithState,
    SubscriptionCallback,
    DeepPartial,
    isPlainObject,
@@@ -48,15 -48,17 +48,18 @@@ function innerPatch<T extends StateTree
  export function buildStore<
    Id extends string,
    S extends StateTree,
-   G extends Record<string, StoreGetter<S>>
+   G extends Record<string, StoreGetter<S>>,
+   A extends Record<string, StoreAction>
  >(
    id: Id,
-   buildState: () => S,
-   getters: G = {} as G
-   // methods: Record<string | symbol, StoreMethod>
- ): CombinedStore<Id, S, G> {
-   const state = ref<S>(buildState())
 -  buildState = () => ({} as S),
++  buildState: () => S = () => ({} as S),
+   getters: G = {} as G,
+   actions: A = {} as A,
+   initialState?: S | undefined
+ ): Store<Id, S, G, A> {
+   const state: Ref<S> = ref(initialState || buildState())
++  // TODO: remove req part?
+   const _r = getActiveReq()
  
    let isListening = true
    let subscriptions: SubscriptionCallback<S>[] = []
      state.value = buildState()
    }
  
-   const storeWithState: Store<Id, S> = {
+   const storeWithState: StoreWithState<Id, S> = {
      id,
+     _r,
      // it is replaced below by a getter
 +    // @ts-ignore FIXME: why is this even failing on TS
      state: state.value,
  
      patch,
      reset,
    }
  
-   // @ts-ignore we have to build it
-   const computedGetters: StoreGetters<S, G> = {}
+   const computedGetters: StoreWithGetters<S, G> = {} as StoreWithGetters<S, G>
    for (const getterName in getters) {
-     const method = getters[getterName]
-     // @ts-ignore
-     computedGetters[getterName] = computed<ReturnType<typeof method>>(() =>
-       // @ts-ignore FIXME: why is this even failing on TS
-       getters[getterName](state.value)
-     )
+     computedGetters[getterName] = computed(() => {
+       setActiveReq(_r)
+       // eslint-disable-next-line @typescript-eslint/no-use-before-define
 -      return getters[getterName](state.value, computedGetters)
 -    }) as StoreWithGetters<S, G>[typeof getterName]
++      return getters[getterName](state.value as S, computedGetters)
++    }) as any
+   }
+   // const reactiveGetters = reactive(computedGetters)
+   const wrappedActions: StoreWithActions<A> = {} as StoreWithActions<A>
+   for (const actionName in actions) {
+     wrappedActions[actionName] = function() {
+       setActiveReq(_r)
+       // eslint-disable-next-line
+       return actions[actionName].apply(store, arguments as unknown as any[])
+     } as StoreWithActions<A>[typeof actionName]
    }
  
-   const store = {
+   const store: Store<Id, S, G, A> = {
      ...storeWithState,
      ...computedGetters,
+     ...wrappedActions,
    }
  
    // make state access invisible
diff --cc src/types.ts
index 3c8281ba2c0e3900cac3eadd79505bcdc4cee1c1,725704387ab71ec480bc8913f485c2eb38480d55..0dc60debb470c89050ff58e11cad257c8d4cb521
@@@ -1,24 -1,6 +1,6 @@@
 -import { Ref } from '@vue/composition-api'
 +import { Ref } from 'vue'
  
- interface JSONSerializable {
-   toJSON(): string
- }
- export type StateTreeValue =
-   | string
-   | symbol
-   | number
-   | boolean
-   | null
-   | void
-   | Function
-   | StateTree
-   | StateTreeArray
-   | JSONSerializable
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
- export interface StateTree
-   extends Record<string | number | symbol, StateTreeValue> {}
+ export type StateTree = Record<string | number | symbol, any>
  
  export function isPlainObject(
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
diff --cc yarn.lock
index 7432d0f3a78bb41c195f81e831d9019dd57f8834,8d299f6ea1cac01c26d9fad196c2e68e0885c094..23783934350446853bc85bdba2e618a4363b59bb
+++ b/yarn.lock
  # yarn lockfile v1
  
  
- "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5":
-   version "7.5.5"
-   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
-   integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.0.tgz#8c98d4ac29d6f80f28127b1bc50970a72086c5ac"
 -  integrity sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==
--  dependencies:
-     "@babel/highlight" "^7.0.0"
 -    "@babel/highlight" "^7.8.0"
--
- "@babel/core@^7.1.0":
-   version "7.7.2"
-   resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.2.tgz#ea5b99693bcfc058116f42fa1dd54da412b29d91"
-   integrity sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ==
-   dependencies:
-     "@babel/code-frame" "^7.5.5"
-     "@babel/generator" "^7.7.2"
-     "@babel/helpers" "^7.7.0"
-     "@babel/parser" "^7.7.2"
-     "@babel/template" "^7.7.0"
-     "@babel/traverse" "^7.7.2"
-     "@babel/types" "^7.7.2"
 -"@babel/code-frame@^7.8.3":
++"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
+   integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
+   dependencies:
+     "@babel/highlight" "^7.8.3"
 -"@babel/core@^7.1.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.0.tgz#fd273d4faf69cc20ee3ccfd32d42df916bb4a15c"
 -  integrity sha512-3rqPi/bv/Xfu2YzHvBz4XqMI1fKVwnhntPA1/fjoECrSjrhbOCxlTrbVu5gUtr8zkxW+RpkDOa/HCW93gzS2Dw==
 -  dependencies:
 -    "@babel/code-frame" "^7.8.0"
 -    "@babel/generator" "^7.8.0"
 -    "@babel/helpers" "^7.8.0"
 -    "@babel/parser" "^7.8.0"
 -    "@babel/template" "^7.8.0"
 -    "@babel/traverse" "^7.8.0"
 -    "@babel/types" "^7.8.0"
 -    convert-source-map "^1.7.0"
 -    debug "^4.1.0"
 -    gensync "^1.0.0-beta.1"
 -    json5 "^2.1.0"
 -    lodash "^4.17.13"
 -    resolve "^1.3.2"
 -    semver "^5.4.1"
 -    source-map "^0.5.0"
 -
 -"@babel/core@^7.7.5":
++"@babel/core@^7.1.0", "@babel/core@^7.7.5":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.3.tgz#30b0ebb4dd1585de6923a0b4d179e0b9f5d82941"
+   integrity sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==
+   dependencies:
+     "@babel/code-frame" "^7.8.3"
+     "@babel/generator" "^7.8.3"
+     "@babel/helpers" "^7.8.3"
+     "@babel/parser" "^7.8.3"
+     "@babel/template" "^7.8.3"
+     "@babel/traverse" "^7.8.3"
+     "@babel/types" "^7.8.3"
      convert-source-map "^1.7.0"
      debug "^4.1.0"
+     gensync "^1.0.0-beta.1"
      json5 "^2.1.0"
      lodash "^4.17.13"
      resolve "^1.3.2"
      semver "^5.4.1"
      source-map "^0.5.0"
  
- "@babel/generator@^7.4.0", "@babel/generator@^7.7.2":
-   version "7.7.2"
-   resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.2.tgz#2f4852d04131a5e17ea4f6645488b5da66ebf3af"
-   integrity sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ==
 -"@babel/generator@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.0.tgz#40a1244677be58ffdc5cd01e22634cd1d5b29edf"
 -  integrity sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==
 -  dependencies:
 -    "@babel/types" "^7.8.0"
 -    jsesc "^2.5.1"
 -    lodash "^4.17.13"
 -    source-map "^0.5.0"
 -
+ "@babel/generator@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.3.tgz#0e22c005b0a94c1c74eafe19ef78ce53a4d45c03"
+   integrity sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==
    dependencies:
-     "@babel/types" "^7.7.2"
+     "@babel/types" "^7.8.3"
      jsesc "^2.5.1"
      lodash "^4.17.13"
      source-map "^0.5.0"
  
- "@babel/helper-function-name@^7.7.0":
-   version "7.7.0"
-   resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz#44a5ad151cfff8ed2599c91682dda2ec2c8430a3"
-   integrity sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q==
 -"@babel/helper-function-name@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz#dde5cf0d6b15c21817a67dd66fe7350348e023bf"
 -  integrity sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==
 -  dependencies:
 -    "@babel/helper-get-function-arity" "^7.8.0"
 -    "@babel/template" "^7.8.0"
 -    "@babel/types" "^7.8.0"
 -
+ "@babel/helper-function-name@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca"
+   integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==
    dependencies:
-     "@babel/helper-get-function-arity" "^7.7.0"
-     "@babel/template" "^7.7.0"
-     "@babel/types" "^7.7.0"
+     "@babel/helper-get-function-arity" "^7.8.3"
+     "@babel/template" "^7.8.3"
+     "@babel/types" "^7.8.3"
  
- "@babel/helper-get-function-arity@^7.7.0":
-   version "7.7.0"
-   resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz#c604886bc97287a1d1398092bc666bc3d7d7aa2d"
-   integrity sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw==
 -"@babel/helper-get-function-arity@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz#90977f61d76d2225d1ae0208def7df22ea92792e"
 -  integrity sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==
 -  dependencies:
 -    "@babel/types" "^7.8.0"
 -
+ "@babel/helper-get-function-arity@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
+   integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
    dependencies:
-     "@babel/types" "^7.7.0"
+     "@babel/types" "^7.8.3"
  
- "@babel/helper-plugin-utils@^7.0.0":
-   version "7.0.0"
-   resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
-   integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
+ "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz#59ec882d43c21c544ccb51decaecb306b34a8231"
 -  integrity sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==
 -
 -"@babel/helper-split-export-declaration@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz#ed10cb03b07454c0d40735fad4e9c9711e739588"
 -  integrity sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==
 -  dependencies:
 -    "@babel/types" "^7.8.0"
++  version "7.8.3"
++  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
++  integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
  
- "@babel/helper-split-export-declaration@^7.7.0":
-   version "7.7.0"
-   resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz#1365e74ea6c614deeb56ebffabd71006a0eb2300"
-   integrity sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA==
+ "@babel/helper-split-export-declaration@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
+   integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==
    dependencies:
-     "@babel/types" "^7.7.0"
+     "@babel/types" "^7.8.3"
  
- "@babel/helpers@^7.7.0":
-   version "7.7.0"
-   resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.0.tgz#359bb5ac3b4726f7c1fde0ec75f64b3f4275d60b"
-   integrity sha512-VnNwL4YOhbejHb7x/b5F39Zdg5vIQpUUNzJwx0ww1EcVRt41bbGRZWhAURrfY32T5zTT3qwNOQFWpn+P0i0a2g==
 -"@babel/helpers@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.0.tgz#3d3e6e08febf5edbbf63b1cf64395525aa3ece37"
 -  integrity sha512-srWKpjAFbiut5JoCReZJ098hLqoZ9HufOnKZPggc7j74XaPuQ+9b3RYPV1M/HfjL63lCNd8uI1O487qIWxAFNA==
 -  dependencies:
 -    "@babel/template" "^7.8.0"
 -    "@babel/traverse" "^7.8.0"
 -    "@babel/types" "^7.8.0"
 -
+ "@babel/helpers@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.3.tgz#382fbb0382ce7c4ce905945ab9641d688336ce85"
+   integrity sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ==
    dependencies:
-     "@babel/template" "^7.7.0"
-     "@babel/traverse" "^7.7.0"
-     "@babel/types" "^7.7.0"
+     "@babel/template" "^7.8.3"
+     "@babel/traverse" "^7.8.3"
+     "@babel/types" "^7.8.3"
  
- "@babel/highlight@^7.0.0":
-   version "7.5.0"
-   resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
-   integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
 -"@babel/highlight@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.0.tgz#4cc003dc10359919e2e3a1d9459150942913dd1a"
 -  integrity sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==
 -  dependencies:
 -    chalk "^2.0.0"
 -    esutils "^2.0.2"
 -    js-tokens "^4.0.0"
 -
+ "@babel/highlight@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
+   integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==
    dependencies:
      chalk "^2.0.0"
      esutils "^2.0.2"
      js-tokens "^4.0.0"
  
- "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.7.2":
-   version "7.7.3"
-   resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.3.tgz#5fad457c2529de476a248f75b0f090b3060af043"
-   integrity sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A==
 -"@babel/parser@^7.1.0", "@babel/parser@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.0.tgz#54682775f1fb25dd29a93a02315aab29a6a292bb"
 -  integrity sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==
 -
 -"@babel/parser@^7.7.5", "@babel/parser@^7.8.3":
++"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
+   integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==
  
- "@babel/plugin-syntax-object-rest-spread@^7.0.0":
-   version "7.2.0"
-   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
-   integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==
+ "@babel/plugin-syntax-bigint@^7.0.0":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
+   integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
    dependencies:
-     "@babel/helper-plugin-utils" "^7.0.0"
+     "@babel/helper-plugin-utils" "^7.8.0"
  
- "@babel/template@^7.4.0", "@babel/template@^7.7.0":
-   version "7.7.0"
-   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.0.tgz#4fadc1b8e734d97f56de39c77de76f2562e597d0"
-   integrity sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ==
-   dependencies:
-     "@babel/code-frame" "^7.0.0"
-     "@babel/parser" "^7.7.0"
-     "@babel/types" "^7.7.0"
- "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2":
-   version "7.7.2"
-   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.2.tgz#ef0a65e07a2f3c550967366b3d9b62a2dcbeae09"
-   integrity sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw==
-   dependencies:
-     "@babel/code-frame" "^7.5.5"
-     "@babel/generator" "^7.7.2"
-     "@babel/helper-function-name" "^7.7.0"
-     "@babel/helper-split-export-declaration" "^7.7.0"
-     "@babel/parser" "^7.7.2"
-     "@babel/types" "^7.7.2"
+ "@babel/plugin-syntax-object-rest-spread@^7.0.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.0.tgz#9b37d580d459682364d8602494c69145b394fd4c"
 -  integrity sha512-dt89fDlkfkTrQcy5KavMQPyF2A6tR0kYp8HAnIoQv5hO34iAUffHghP/hMGd7Gf/+uYTmLQO0ar7peX1SUWyIA==
++  version "7.8.3"
++  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
++  integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+   dependencies:
+     "@babel/helper-plugin-utils" "^7.8.0"
+ "@babel/template@^7.7.4", "@babel/template@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8"
+   integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==
+   dependencies:
+     "@babel/code-frame" "^7.8.3"
+     "@babel/parser" "^7.8.3"
+     "@babel/types" "^7.8.3"
 -"@babel/template@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.0.tgz#a32f57ad3be89c0fa69ae87b53b4826844dc6330"
 -  integrity sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==
 -  dependencies:
 -    "@babel/code-frame" "^7.8.0"
 -    "@babel/parser" "^7.8.0"
 -    "@babel/types" "^7.8.0"
 -
 -"@babel/traverse@^7.1.0", "@babel/traverse@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.0.tgz#d85266fdcff553c10e57b672604b36383a127c1f"
 -  integrity sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==
 -  dependencies:
 -    "@babel/code-frame" "^7.8.0"
 -    "@babel/generator" "^7.8.0"
 -    "@babel/helper-function-name" "^7.8.0"
 -    "@babel/helper-split-export-declaration" "^7.8.0"
 -    "@babel/parser" "^7.8.0"
 -    "@babel/types" "^7.8.0"
 -    debug "^4.1.0"
 -    globals "^11.1.0"
 -    lodash "^4.17.13"
 -
 -"@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3":
++"@babel/traverse@^7.1.0", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.3.tgz#a826215b011c9b4f73f3a893afbc05151358bf9a"
+   integrity sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==
+   dependencies:
+     "@babel/code-frame" "^7.8.3"
+     "@babel/generator" "^7.8.3"
+     "@babel/helper-function-name" "^7.8.3"
+     "@babel/helper-split-export-declaration" "^7.8.3"
+     "@babel/parser" "^7.8.3"
+     "@babel/types" "^7.8.3"
      debug "^4.1.0"
      globals "^11.1.0"
      lodash "^4.17.13"
  
- "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.7.0", "@babel/types@^7.7.2":
-   version "7.7.2"
-   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7"
-   integrity sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA==
 -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.8.0":
 -  version "7.8.0"
 -  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.0.tgz#1a2039a028057a2c888b668d94c98e61ea906e7f"
 -  integrity sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==
 -  dependencies:
 -    esutils "^2.0.2"
 -    lodash "^4.17.13"
 -    to-fast-properties "^2.0.0"
 -
 -"@babel/types@^7.8.3":
++"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.8.3":
+   version "7.8.3"
+   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c"
+   integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==
    dependencies:
      esutils "^2.0.2"
      lodash "^4.17.13"
    resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
    integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
  
 -  version "4.17.1"
 -  resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.1.tgz#82be64a77211b205641e0209096fd3afb62481d3"
 -  integrity sha512-9e7jj549ZI+RxY21Cl0t8uBnWyb22HzILupyHZjYEVK//5TT/1bZodU+yUbLnPdoYViBBnNWbxp4zYjGV0zUGw==
+ "@types/express-serve-static-core@*":
++  version "4.17.2"
++  resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz#f6f41fa35d42e79dbf6610eccbb2637e6008a0cf"
++  integrity sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg==
+   dependencies:
+     "@types/node" "*"
+     "@types/range-parser" "*"
+ "@types/express@*":
+   version "4.17.2"
+   resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.2.tgz#a0fb7a23d8855bac31bc01d5a58cadd9b2173e6c"
+   integrity sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==
+   dependencies:
+     "@types/body-parser" "*"
+     "@types/express-serve-static-core" "*"
+     "@types/serve-static" "*"
+ "@types/file-loader@^4.2.0":
+   version "4.2.0"
+   resolved "https://registry.yarnpkg.com/@types/file-loader/-/file-loader-4.2.0.tgz#ec8e793e275b7f90cdec3ff286518c6bf7bb8fc3"
+   integrity sha512-N3GMqKiKSNd41q4/lZlkdvNXKKWVdOXrA8Rniu64+25X0K2U1mWmTSu1CIqXKKsZUCwfaFcaioviLQtQ+EowLg==
+   dependencies:
+     "@types/webpack" "*"
  "@types/glob@^7.1.1":
    version "7.1.1"
    resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
    integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==
  
  "@types/istanbul-lib-report@*":
--  version "1.1.1"
--  resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c"
--  integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==
++  version "3.0.0"
++  resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
++  integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
    dependencies:
      "@types/istanbul-lib-coverage" "*"
  
    resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
    integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
  
+ "@types/node-sass@^4.11.0":
+   version "4.11.0"
+   resolved "https://registry.yarnpkg.com/@types/node-sass/-/node-sass-4.11.0.tgz#b0372075546e83f39df52bd37359eab00165a04d"
+   integrity sha512-uNpVWhwVmbB5luE7b8vxcJwu5np75YkVTBJS0O3ar+hrxqLfyhOKXg9NYBwJ6mMQX/V6/8d6mMZTB7x2r5x9Bw==
+   dependencies:
+     "@types/node" "*"
  "@types/node@*":
-   version "12.12.8"
-   resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.8.tgz#dab418655af39ce2fa99286a0bed21ef8072ac9d"
-   integrity sha512-XLla8N+iyfjvsa0KKV+BP/iGSoTmwxsu5Ci5sM33z9TjohF72DEz95iNvD6pPmemvbQgxAv/909G73gUn8QR7w==
 -  version "13.1.6"
 -  resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.6.tgz#076028d0b0400be8105b89a0a55550c86684ffec"
 -  integrity sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==
++  version "13.5.2"
++  resolved "https://registry.yarnpkg.com/@types/node/-/node-13.5.2.tgz#3de53b55fd39efc428a901a0f6db31f761cfa131"
++  integrity sha512-Fr6a47c84PRLfd7M7u3/hEknyUdQrrBA6VoPmkze0tcflhU5UnpWEX2kn12ktA/lb+MNHSqFlSiPHIHsaErTPA==
+ "@types/node@^12.12.24":
 -  version "12.12.24"
 -  resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.24.tgz#d4606afd8cf6c609036b854360367d1b2c78931f"
 -  integrity sha512-1Ciqv9pqwVtW6FsIUKSZNB82E5Cu1I2bBTj1xuIHXLe/1zYLl3956Nbhg2MzSYHVfl9/rmanjbQIb7LibfCnug==
++  version "12.12.26"
++  resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.26.tgz#213e153babac0ed169d44a6d919501e68f59dea9"
++  integrity sha512-UmUm94/QZvU5xLcUlNR8hA7Ac+fGpO1EG/a8bcWVz0P0LqtxFmun9Y2bbtuckwGboWJIT70DoWq1r3hb56n3DA==
+ "@types/optimize-css-assets-webpack-plugin@^5.0.1":
+   version "5.0.1"
+   resolved "https://registry.yarnpkg.com/@types/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz#1f437ef9ef937b393687a8819be2d2fddc03b069"
+   integrity sha512-qyi5xmSl+DTmLFtVtelhso3VnNQYxltfgMa+Ed02xqNZCZBD0uYR6i64FmcwfieDzZRdwkJxt9o2JHq/5PBKQg==
+   dependencies:
+     "@types/webpack" "*"
+ "@types/pug@^2.0.4":
+   version "2.0.4"
+   resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.4.tgz#8772fcd0418e3cd2cc171555d73007415051f4b2"
+   integrity sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI=
+ "@types/range-parser@*":
+   version "1.2.3"
+   resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
+   integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
+ "@types/relateurl@*":
+   version "0.2.28"
+   resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.28.tgz#6bda7db8653fa62643f5ee69e9f69c11a392e3a6"
+   integrity sha1-a9p9uGU/piZD9e5p6facEaOS46Y=
  
  "@types/resolve@0.0.8":
    version "0.0.8"
    resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
    integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
  
 -  version "4.41.2"
 -  resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.2.tgz#c6faf0111de27afdffe1158dac559e447c273516"
 -  integrity sha512-DNMQOfEvwzWRRyp6Wy9QVCgJ3gkelZsuBE2KUD318dg95s9DKGiT5CszmmV58hq8jk89I9NClre48AEy1MWAJA==
+ "@types/tapable@*":
+   version "1.0.5"
+   resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02"
+   integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ==
+ "@types/terser-webpack-plugin@^2.2.0":
+   version "2.2.0"
+   resolved "https://registry.yarnpkg.com/@types/terser-webpack-plugin/-/terser-webpack-plugin-2.2.0.tgz#b1561e3118b9319d80ff65798c345877669b3e12"
+   integrity sha512-ywqEfTm7KdKoX9aYx0zYtiFU1z6IHrIYW9FJqeay2Ea58rTPML1J0hvoztGal2Jow3bkgGKcAmEZNL+8LqUVrA==
+   dependencies:
+     "@types/webpack" "*"
+     terser "^4.3.9"
+ "@types/uglify-js@*":
+   version "3.0.4"
+   resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082"
+   integrity sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==
+   dependencies:
+     source-map "^0.6.1"
+ "@types/webpack-bundle-analyzer@^2.13.3":
+   version "2.13.3"
+   resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.3.tgz#820c8f734e171f081cbf02d889b9cda687cc89dd"
+   integrity sha512-p8EXyKfq311FFFfRuAR9tOHFFTQ9DqGrjRQYXbjjEMfl9pKGaTtRy1zFJtPMyZHfRoqh5rsYPVSVknkl004M7A==
+   dependencies:
+     "@types/webpack" "*"
+ "@types/webpack-dev-middleware@^2.0.3":
+   version "2.0.3"
+   resolved "https://registry.yarnpkg.com/@types/webpack-dev-middleware/-/webpack-dev-middleware-2.0.3.tgz#aefb145281b3326a052325d583d2339debbf1be3"
+   integrity sha512-DzNJJ6ah/6t1n8sfAgQyEbZ/OMmFcF9j9P3aesnm7G6/iBFR/qiGin8K89J0RmaWIBzhTMdDg3I5PmKmSv7N9w==
+   dependencies:
+     "@types/connect" "*"
+     "@types/memory-fs" "*"
+     "@types/webpack" "*"
+     loglevel "^1.6.2"
+ "@types/webpack-hot-middleware@^2.25.0":
+   version "2.25.0"
+   resolved "https://registry.yarnpkg.com/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#ceb1e0fb43cbb9ec79c4a856c2060f161e12bf30"
+   integrity sha512-J+Zk7c99pMnPcxWpPY7CEdc4jhPFX1SVPrqXTzinoF8ea+OmIiHa+oOdVI7leMQFGZ6G9e9Yo1uNPhLVr/R8Uw==
+   dependencies:
+     "@types/connect" "*"
+     "@types/webpack" "*"
+ "@types/webpack-sources@*":
+   version "0.1.6"
+   resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.6.tgz#3d21dfc2ec0ad0c77758e79362426a9ba7d7cbcb"
+   integrity sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ==
+   dependencies:
+     "@types/node" "*"
+     "@types/source-list-map" "*"
+     source-map "^0.6.1"
+ "@types/webpack@*", "@types/webpack@^4.41.2":
++  version "4.41.3"
++  resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.3.tgz#30c2251db1d69a45bbffd79c0577dd9baf50e7ba"
++  integrity sha512-dH+BZ6pHBZFrXpnif0YU/PbmUq3lQrvRPnqkxsciSIzvG/DE+Vm/Wrjn56T7V3+B5ryQa5fw0oGnHL8tk4ll6w==
+   dependencies:
+     "@types/anymatch" "*"
+     "@types/node" "*"
+     "@types/tapable" "*"
+     "@types/uglify-js" "*"
+     "@types/webpack-sources" "*"
+     source-map "^0.6.0"
  "@types/yargs-parser@*":
--  version "13.1.0"
--  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228"
--  integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==
++  version "15.0.0"
++  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
++  integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
  
- "@types/yargs@^13.0.0":
-   version "13.0.3"
-   resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380"
-   integrity sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==
+ "@types/yargs@^15.0.0":
 -  version "15.0.1"
 -  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.1.tgz#9266a9d7be68cfcc982568211085a49a277f7c96"
 -  integrity sha512-sYlwNU7zYi6eZbMzFvG6eHD7VsEvFdoDtlD7eI1JTg7YNnuguzmiGsc6MPSq5l8n+h21AsNof0je+9sgOe4+dg==
++  version "15.0.2"
++  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.2.tgz#0bf292a0369493cee030e2e4f4ff84f5982b028d"
++  integrity sha512-hFkuAp58M2xOc1QgJhkFrLMnqa8KWTFRTnzrI1zlEcOfg3DZ0eH3aPAo/N6QlVVu8E4KS4xD1jtEG3rdQYFmIg==
    dependencies:
      "@types/yargs-parser" "*"
  
      semver "^6.3.0"
      tsutils "^3.17.1"
  
- "@vue/compiler-core@3.0.0-alpha.0":
-   version "3.0.0-alpha.0"
-   resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.0-alpha.0.tgz#016ebe9d36a65a909164b0ad9d48b2a5b53c99ab"
-   integrity sha512-9Yavlt5pA0kP9IxztuEYkNwpgqtyvcL3eHI78d0vZNG0QCRz3nrdJiI4cmTi4aRw8gTzmDN8c1N9k5quwbyzxQ==
 -"@vue/composition-api@^0.3.2":
 -  version "0.3.4"
 -  resolved "https://registry.yarnpkg.com/@vue/composition-api/-/composition-api-0.3.4.tgz#43d2c3377173cfe1d02e51e3342bcf0fbde9c4b6"
 -  integrity sha512-aMbg/pEk0PSQAIFyWWLqbAmaCCTx1kFq+49KZslIBJH9Wqos7eEPLtMv4gGxd/EcciBIgfbtUXaXGg/O3mheRA==
++"@vue/compiler-core@3.0.0-alpha.4":
++  version "3.0.0-alpha.4"
++  resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.0-alpha.4.tgz#46d62d0fa70495e0fb3d23dd7b4c57fb4344f410"
++  integrity sha512-WiRK3LSW4N+L8snXMx9aNANBO1LTlfIPf+2M6ld0GZEsiGj0JNJIheXPYdhSCjRNSIU5GqLFxWvzNgGGN9e4DQ==
 +  dependencies:
 +    acorn "^7.1.0"
 +    estree-walker "^0.8.1"
 +    source-map "^0.6.1"
 +
- "@vue/compiler-dom@3.0.0-alpha.0":
-   version "3.0.0-alpha.0"
-   resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.0-alpha.0.tgz#d54ed384b5b136ac166b1b48d5a89729c760e22e"
-   integrity sha512-JJnigid6juCuudd9ZYTbxdUId5T2s2rM6ULYHrDHqxHjnfxxx+SdOZeBMcrNfZkmLa8wTSzo+aXe1+KYlvPOJw==
++"@vue/compiler-dom@3.0.0-alpha.4":
++  version "3.0.0-alpha.4"
++  resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.0-alpha.4.tgz#638141bb293f09692f005e8da46bdb64ac680fec"
++  integrity sha512-QtDs/ezMMYcIX5gN9qijmTQE5YcOQH4TH/PKZUdToe0bjDQEhAaMiedKfTrLjR+OTxuHkFvayp4SzUzTiQ3CAQ==
 +  dependencies:
-     "@vue/compiler-core" "3.0.0-alpha.0"
++    "@vue/compiler-core" "3.0.0-alpha.4"
 +
- "@vue/reactivity@3.0.0-alpha.0":
-   version "3.0.0-alpha.0"
-   resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.0.0-alpha.0.tgz#4209b6c55f8b499206a7cbf0d07ad580932206fe"
-   integrity sha512-v3k/hdeLwixX1dLOFUJp4VSZ77Wm3F6zP+xpZvhqhvGEzTlN3esCf2nSZ2swzR6ZZrdI+Dw0N1r6JiDsCZ0KSA==
++"@vue/reactivity@3.0.0-alpha.4":
++  version "3.0.0-alpha.4"
++  resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.0.0-alpha.4.tgz#ed09062693a03417ffc909212b3b94fd43c82569"
++  integrity sha512-ti94RMI3gccPf5Oi8ld32DaZ/7MZPYutVs80jPBoSRjb5O0byDdsE89o1HCkNI5fUNQRBkx9/N4vBEeEQamaWw==
 +
- "@vue/runtime-core@3.0.0-alpha.0":
-   version "3.0.0-alpha.0"
-   resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.0.0-alpha.0.tgz#57274424b96fd55857b3bd08af86c3737bbcacea"
-   integrity sha512-CqsbpeQwHSdF2LUcwVGf8rWG3Z2dhMvOficMu3Nk+gh+ZfUtqm+dCAEeBCjTfFaA8rC3Bsgrjyq8YGcA8Th//w==
++"@vue/runtime-core@3.0.0-alpha.4":
++  version "3.0.0-alpha.4"
++  resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.0.0-alpha.4.tgz#379ff0597e71270bdf8e2becf180b3cf085a36dd"
++  integrity sha512-ytC9+fPLY9PhDmdRa9hLs96ct6fOWhLEB0o3495/3WqpJEbQwleXjcYjn7j8yv3u/r+bmtiM9kqc6Hi9FOrxkA==
 +  dependencies:
-     "@vue/reactivity" "3.0.0-alpha.0"
++    "@vue/reactivity" "3.0.0-alpha.4"
 +
- "@vue/runtime-dom@3.0.0-alpha.0":
-   version "3.0.0-alpha.0"
-   resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.0.0-alpha.0.tgz#329bca7f8fe8edc9a9c83401a27ae045a5f98299"
-   integrity sha512-D7ElICdLQmJaQjBMQ+RgQEILHzmB9EgPYOdP5aEFewVg4lzUac0eccaRR5/rTWRxHnQ7D9OT2TMgBFqXngl1tg==
++"@vue/runtime-dom@3.0.0-alpha.4":
++  version "3.0.0-alpha.4"
++  resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.0.0-alpha.4.tgz#be7e703bb2b12101cfe250c08e950e410fc1c92e"
++  integrity sha512-T9FxDX8pOC/YSSCbpF1SaVAizqrFNYgKNb9kKdGJlp0dxjJU/SqpAqLjpw2cF0hSy3wsT1XzWrFtWlBZFkg6+w==
    dependencies:
-     "@vue/runtime-core" "3.0.0-alpha.0"
 -    tslib "^1.9.3"
++    "@vue/runtime-core" "3.0.0-alpha.4"
++    csstype "^2.6.8"
  
  abab@^2.0.0:
    version "2.0.3"
@@@ -566,11 -943,11 +855,11 @@@ agent-base@^4.3.0
      es6-promisify "^5.0.0"
  
  ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:
--  version "6.10.2"
--  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
--  integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
++  version "6.11.0"
++  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9"
++  integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==
    dependencies:
--    fast-deep-equal "^2.0.1"
++    fast-deep-equal "^3.1.1"
      fast-json-stable-stringify "^2.0.0"
      json-schema-traverse "^0.4.1"
      uri-js "^4.2.2"
@@@ -599,11 -971,11 +883,6 @@@ ansi-escapes@^4.2.1
    dependencies:
      type-fest "^0.8.1"
  
--ansi-regex@^2.0.0:
--  version "2.1.1"
--  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
--  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
--
  ansi-regex@^3.0.0:
    version "3.0.0"
    resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
@@@ -749,37 -1124,38 +1026,38 @@@ aws-sign2@~0.7.0
    integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
  
  aws4@^1.8.0:
-   version "1.8.0"
-   resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
-   integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
 -  version "1.9.0"
 -  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c"
 -  integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==
++  version "1.9.1"
++  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
++  integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
  
- babel-jest@^24.9.0:
-   version "24.9.0"
-   resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54"
-   integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==
+ babel-jest@^25.1.0:
+   version "25.1.0"
+   resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.1.0.tgz#206093ac380a4b78c4404a05b3277391278f80fb"
+   integrity sha512-tz0VxUhhOE2y+g8R2oFrO/2VtVjA1lkJeavlhExuRBg3LdNJY9gwQ+Vcvqt9+cqy71MCTJhewvTB7Qtnnr9SWg==
    dependencies:
-     "@jest/transform" "^24.9.0"
-     "@jest/types" "^24.9.0"
+     "@jest/transform" "^25.1.0"
+     "@jest/types" "^25.1.0"
      "@types/babel__core" "^7.1.0"
-     babel-plugin-istanbul "^5.1.0"
-     babel-preset-jest "^24.9.0"
-     chalk "^2.4.2"
-     slash "^2.0.0"
+     babel-plugin-istanbul "^6.0.0"
+     babel-preset-jest "^25.1.0"
+     chalk "^3.0.0"
+     slash "^3.0.0"
  
- babel-plugin-istanbul@^5.1.0:
-   version "5.2.0"
-   resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854"
-   integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==
+ babel-plugin-istanbul@^6.0.0:
+   version "6.0.0"
+   resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
+   integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==
    dependencies:
      "@babel/helper-plugin-utils" "^7.0.0"
-     find-up "^3.0.0"
-     istanbul-lib-instrument "^3.3.0"
-     test-exclude "^5.2.3"
+     "@istanbuljs/load-nyc-config" "^1.0.0"
+     "@istanbuljs/schema" "^0.1.2"
+     istanbul-lib-instrument "^4.0.0"
+     test-exclude "^6.0.0"
  
- babel-plugin-jest-hoist@^24.9.0:
-   version "24.9.0"
-   resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756"
-   integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==
+ babel-plugin-jest-hoist@^25.1.0:
+   version "25.1.0"
+   resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.1.0.tgz#fb62d7b3b53eb36c97d1bc7fec2072f9bd115981"
+   integrity sha512-oIsopO41vW4YFZ9yNYoLQATnnN46lp+MZ6H4VvPKFkcc2/fkl3CfE/NZZSmnEIEsJRmJAgkVEK0R7Zbl50CpTw==
    dependencies:
      "@types/babel__traverse" "^7.0.6"
  
@@@ -1154,13 -1574,13 +1465,18 @@@ cssom@~0.3.6
    resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
    integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
  
- cssstyle@^1.0.0:
-   version "1.4.0"
-   resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1"
-   integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==
+ cssstyle@^2.0.0:
+   version "2.2.0"
+   resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992"
+   integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==
    dependencies:
-     cssom "0.3.x"
+     cssom "~0.3.6"
++csstype@^2.6.8:
++  version "2.6.8"
++  resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.8.tgz#0fb6fc2417ffd2816a418c9336da74d7f07db431"
++  integrity sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA==
 +
  currently-unhandled@^0.4.1:
    version "0.4.1"
    resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@@ -1352,23 -1762,24 +1658,24 @@@ error-ex@^1.3.1
    dependencies:
      is-arrayish "^0.2.1"
  
- es-abstract@^1.5.1:
-   version "1.16.0"
-   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d"
-   integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==
 -es-abstract@^1.17.0-next.1:
 -  version "1.17.0"
 -  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.0.tgz#f42a517d0036a5591dbb2c463591dc8bb50309b1"
 -  integrity sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==
++es-abstract@^1.17.0-next.1, es-abstract@^1.17.2:
++  version "1.17.4"
++  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184"
++  integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==
    dependencies:
-     es-to-primitive "^1.2.0"
+     es-to-primitive "^1.2.1"
      function-bind "^1.1.1"
      has "^1.0.3"
-     has-symbols "^1.0.0"
-     is-callable "^1.1.4"
-     is-regex "^1.0.4"
-     object-inspect "^1.6.0"
+     has-symbols "^1.0.1"
+     is-callable "^1.1.5"
+     is-regex "^1.0.5"
+     object-inspect "^1.7.0"
      object-keys "^1.1.1"
-     string.prototype.trimleft "^2.1.0"
-     string.prototype.trimright "^2.1.0"
+     object.assign "^4.1.0"
+     string.prototype.trimleft "^2.1.1"
+     string.prototype.trimright "^2.1.1"
  
- es-to-primitive@^1.2.0:
+ es-to-primitive@^1.2.1:
    version "1.2.1"
    resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
    integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
@@@ -1661,10 -2078,10 +1979,10 @@@ extsprintf@^1.2.0
    resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
    integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
  
--fast-deep-equal@^2.0.1:
--  version "2.0.1"
--  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
--  integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
++fast-deep-equal@^3.1.1:
++  version "3.1.1"
++  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
++  integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
  
  fast-diff@^1.1.2:
    version "1.2.0"
@@@ -2149,9 -2577,9 +2461,9 @@@ ini@^1.3.4, ini@~1.3.0
    integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
  
  inquirer@^7.0.0:
-   version "7.0.0"
-   resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a"
-   integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==
 -  version "7.0.3"
 -  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.3.tgz#f9b4cd2dff58b9f73e8d43759436ace15bed4567"
 -  integrity sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==
++  version "7.0.4"
++  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703"
++  integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==
    dependencies:
      ansi-escapes "^4.2.1"
      chalk "^2.4.2"
@@@ -2967,9 -3397,9 +3281,9 @@@ kind-of@^5.0.0
    integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
  
  kind-of@^6.0.0, kind-of@^6.0.2:
--  version "6.0.2"
--  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
--  integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
++  version "6.0.3"
++  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
++  integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
  
  kleur@^3.0.3:
    version "3.0.3"
@@@ -3044,11 -3474,26 +3353,6 @@@ lodash.sortby@^4.7.0
    resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
    integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
  
- lodash.unescape@4.0.1:
-   version "4.0.1"
-   resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c"
-   integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=
 -lodash.template@^4.5.0:
 -  version "4.5.0"
 -  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
 -  integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
 -  dependencies:
 -    lodash._reinterpolate "^3.0.0"
 -    lodash.templatesettings "^4.0.0"
 -
 -lodash.templatesettings@^4.0.0:
 -  version "4.2.0"
 -  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
 -  integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
 -  dependencies:
 -    lodash._reinterpolate "^3.0.0"
 -
 -lodash.uniq@^4.5.0:
 -  version "4.5.0"
 -  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
 -  integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
--
  lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15:
    version "4.17.15"
    resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
@@@ -3477,13 -3843,23 +3702,23 @@@ object-visit@^1.0.0
    dependencies:
      isobject "^3.0.0"
  
- object.getownpropertydescriptors@^2.0.3:
-   version "2.0.3"
-   resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
-   integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=
+ object.assign@^4.1.0:
+   version "4.1.0"
+   resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+   integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
    dependencies:
      define-properties "^1.1.2"
-     es-abstract "^1.5.1"
+     function-bind "^1.1.1"
+     has-symbols "^1.0.0"
+     object-keys "^1.0.11"
 -object.getownpropertydescriptors@^2.0.3:
++object.getownpropertydescriptors@^2.1.0:
+   version "2.1.0"
+   resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
+   integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
+   dependencies:
+     define-properties "^1.1.3"
+     es-abstract "^1.17.0-next.1"
  
  object.pick@^1.3.0:
    version "1.3.0"
@@@ -4031,10 -4378,10 +4237,10 @@@ resolve@1.12.0
    dependencies:
      path-parse "^1.0.6"
  
 -resolve@1.x, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.2.0, resolve@^1.3.2:
 -  version "1.14.2"
 -  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2"
 -  integrity sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==
 +resolve@1.x, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.3.2:
-   version "1.12.2"
-   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.2.tgz#08b12496d9aa8659c75f534a8f05f0d892fff594"
-   integrity sha512-cAVTI2VLHWYsGOirfeYVVQ7ZDejtQ9fp4YhYckWDEkFfqbVjaT11iM8k6xSAfGFMM+gDpZjMnFssPu8we+mqFw==
++  version "1.15.0"
++  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5"
++  integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==
    dependencies:
      path-parse "^1.0.6"
  
@@@ -4058,17 -4405,17 +4264,10 @@@ rimraf@2.6.3
    dependencies:
      glob "^7.1.3"
  
- rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
-   version "2.7.1"
-   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
-   integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
-   dependencies:
-     glob "^7.1.3"
--rimraf@^3.0.0:
--  version "3.0.0"
--  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b"
--  integrity sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==
 -  dependencies:
 -    glob "^7.1.3"
 -
 -rimraf@^3.0.1:
++rimraf@^3.0.0, rimraf@^3.0.1:
+   version "3.0.1"
+   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.1.tgz#48d3d4cb46c80d388ab26cd61b1b466ae9ae225a"
+   integrity sha512-IQ4ikL8SjBiEDZfk+DFVwqRK8md24RWMEJkdSlgNLkyyAImcjf8SWvU1qFMDOb4igBClbTQ/ugPqXcRwdFTxZw==
    dependencies:
      glob "^7.1.3"
  
@@@ -4347,10 -4718,15 +4565,15 @@@ source-map@^0.6.0, source-map@^0.6.1, s
    resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
    integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
  
+ source-map@^0.7.3:
+   version "0.7.3"
+   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+   integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
  sourcemap-codec@^1.4.4:
-   version "1.4.6"
-   resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9"
-   integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==
 -  version "1.4.7"
 -  resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.7.tgz#5b2cd184e3fe51fd30ba049f7f62bf499b4f73ae"
 -  integrity sha512-RuN23NzhAOuUtaivhcrjXx1OPXsFeH9m5sI373/U7+tGLKihjUyboZAzOadytMjnqHp1f45RGk1IzDKCpDpSYA==
++  version "1.4.8"
++  resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
++  integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
  
  spdx-correct@^3.0.0:
    version "3.1.0"
@@@ -4482,20 -4849,13 +4696,6 @@@ string.prototype.trimright@^2.1.1
      define-properties "^1.1.3"
      function-bind "^1.1.1"
  
- string_decoder@~1.1.1:
-   version "1.1.1"
-   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
-   integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
-   dependencies:
-     safe-buffer "~5.1.0"
- strip-ansi@^3.0.0, strip-ansi@^3.0.1:
 -strip-ansi@^3.0.0:
--  version "3.0.1"
--  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
--  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
--  dependencies:
--    ansi-regex "^2.0.0"
--
  strip-ansi@^4.0.0:
    version "4.0.0"
    resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
@@@ -4773,18 -5178,17 +5013,17 @@@ type-fest@^0.8.1
    resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
    integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
  
- typescript@^3.7.4:
-   version "3.7.4"
-   resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19"
-   integrity sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==
- uglify-js@^3.1.4:
-   version "3.6.9"
-   resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.9.tgz#85d353edb6ddfb62a9d798f36e91792249320611"
-   integrity sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==
+ typedarray-to-buffer@^3.1.5:
+   version "3.1.5"
+   resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+   integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
    dependencies:
-     commander "~2.20.3"
-     source-map "~0.6.1"
+     is-typedarray "^1.0.0"
 -typescript@^3.6.3:
++typescript@^3.7.4:
+   version "3.7.5"
+   resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae"
+   integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==
  
  union-value@^1.0.0:
    version "1.0.1"
@@@ -4866,23 -5270,18 +5105,20 @@@ use@^3.1.0
    resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
    integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
  
- util-deprecate@~1.0.1:
-   version "1.0.2"
-   resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-   integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
  util.promisify@^1.0.0:
--  version "1.0.0"
--  resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
--  integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
++  version "1.0.1"
++  resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
++  integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
    dependencies:
--    define-properties "^1.1.2"
--    object.getownpropertydescriptors "^2.0.3"
++    define-properties "^1.1.3"
++    es-abstract "^1.17.2"
++    has-symbols "^1.0.1"
++    object.getownpropertydescriptors "^2.1.0"
  
  uuid@^3.3.2:
--  version "3.3.3"
--  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
--  integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==
++  version "3.4.0"
++  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
++  integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
  
  v8-compile-cache@^2.0.3:
    version "2.1.0"
@@@ -4906,13 -5319,24 +5156,13 @@@ verror@1.10.0
      core-util-is "1.0.2"
      extsprintf "^1.2.0"
  
 -vue-server-renderer@^2.6.11:
 -  version "2.6.11"
 -  resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.11.tgz#be8c9abc6aacc309828a755c021a05fc474b4bc3"
 -  integrity sha512-V3faFJHr2KYfdSIalL+JjinZSHYUhlrvJ9pzCIjjwSh77+pkrsXpK4PucdPcng57+N77pd1LrKqwbqjQdktU1A==
 -  dependencies:
 -    chalk "^1.1.3"
 -    hash-sum "^1.0.2"
 -    he "^1.1.0"
 -    lodash.template "^4.5.0"
 -    lodash.uniq "^4.5.0"
 -    resolve "^1.2.0"
 -    serialize-javascript "^2.1.2"
 -    source-map "0.5.6"
 -
 -vue@^2.6.11:
 -  version "2.6.11"
 -  resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
 -  integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==
 +vue@next:
-   version "3.0.0-alpha.0"
-   resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.0-alpha.0.tgz#f0dabb0ed3ab0be69c0a93be2a9112769764e238"
-   integrity sha512-wgQ1r4LVNQFD+L5bczQvItT+8Cak0jsA9cRIxwlyh+kb1jr6L8UktueEuBSoYhvC/899kprBuaR1vZHRAh5CLg==
++  version "3.0.0-alpha.4"
++  resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.0-alpha.4.tgz#c0aa2a175820cb52dde4ca3e1b659df44ff5b2a5"
++  integrity sha512-hQ8bwl5tneFHjlomZ7DcwUZoB4yseM+6phOhjBQciKmPp2sYapGHNHB1O3pl/2IUFD/RtrGeZtI7BiHk9wfxxA==
 +  dependencies:
-     "@vue/compiler-dom" "3.0.0-alpha.0"
-     "@vue/runtime-dom" "3.0.0-alpha.0"
++    "@vue/compiler-dom" "3.0.0-alpha.4"
++    "@vue/runtime-dom" "3.0.0-alpha.4"
  
  w3c-hr-time@^1.0.1:
    version "1.0.1"