From bec3bb91371957ac155ec595ae2bf20b13e863e1 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Fri, 26 Oct 2018 11:33:25 +0800 Subject: [PATCH] init commit --- .editorconfig | 13 + .gitignore | 39 + README.md | 27 + angular.json | 131 + e2e/protractor.conf.js | 28 + e2e/src/app.e2e-spec.ts | 14 + e2e/src/app.po.ts | 11 + e2e/tsconfig.e2e.json | 13 + package-lock.json | 10002 ++++++++++ package.json | 52 + src/app/app-routing.module.ts | 40 + src/app/app.component.scss | 0 src/app/app.component.spec.ts | 27 + src/app/app.component.ts | 12 + src/app/app.module.ts | 44 + .../bar-menu/bar-menu.component.html | 9 + .../bar-menu/bar-menu.component.scss | 58 + .../bar-menu/bar-menu.component.spec.ts | 25 + .../components/bar-menu/bar-menu.component.ts | 34 + .../bar-menu/bar-menu.module.spec.ts | 13 + .../components/bar-menu/bar-menu.module.ts | 12 + src/app/components/components.module.spec.ts | 13 + src/app/components/components.module.ts | 22 + .../page-top/page-top.component.html | 50 + .../page-top/page-top.component.scss | 50 + .../page-top/page-top.component.spec.ts | 25 + .../components/page-top/page-top.component.ts | 15 + .../page-top/page-top.module.spec.ts | 13 + .../components/page-top/page-top.module.ts | 12 + .../sidebar-menu/sidebar-menu.component.html | 9 + .../sidebar-menu/sidebar-menu.component.scss | 58 + .../sidebar-menu.component.spec.ts | 25 + .../sidebar-menu/sidebar-menu.component.ts | 36 + .../sidebar-menu/sidebar-menu.module.spec.ts | 13 + .../sidebar-menu/sidebar-menu.module.ts | 14 + .../components/toast/toast-box.component.html | 5 + .../components/toast/toast-box.component.scss | 36 + .../toast/toast-box.component.spec.ts | 25 + .../components/toast/toast-box.component.ts | 68 + src/app/components/toast/toast-model.ts | 57 + src/app/components/toast/toast.component.html | 8 + src/app/components/toast/toast.component.scss | 9 + .../components/toast/toast.component.spec.ts | 25 + src/app/components/toast/toast.component.ts | 72 + src/app/components/toast/toast.module.ts | 25 + .../components/toast/toast.service.spec.ts | 15 + src/app/components/toast/toast.service.ts | 24 + src/app/login/login-routing.module.ts | 20 + src/app/login/login.component.html | 39 + src/app/login/login.component.scss | 65 + src/app/login/login.component.spec.ts | 25 + src/app/login/login.component.ts | 40 + src/app/login/login.module.spec.ts | 13 + src/app/login/login.module.ts | 17 + src/app/pages/main/main-routing.module.ts | 17 + src/app/pages/main/main.component.html | 126 + src/app/pages/main/main.component.scss | 63 + src/app/pages/main/main.component.spec.ts | 25 + src/app/pages/main/main.component.ts | 66 + src/app/pages/main/main.module.spec.ts | 13 + src/app/pages/main/main.module.ts | 13 + src/app/pages/pages-routing.module.ts | 29 + src/app/pages/pages.component.html | 67 + src/app/pages/pages.component.scss | 95 + src/app/pages/pages.component.spec.ts | 25 + src/app/pages/pages.component.ts | 69 + src/app/pages/pages.module.spec.ts | 13 + src/app/pages/pages.module.ts | 16 + src/app/preloading-strategy.ts | 12 + src/app/register/register-routing.module.ts | 18 + src/app/register/register.component.html | 44 + src/app/register/register.component.scss | 65 + src/app/register/register.component.spec.ts | 25 + src/app/register/register.component.ts | 27 + src/app/register/register.module.spec.ts | 13 + src/app/register/register.module.ts | 16 + src/app/services/http-client.service.ts | 175 + src/app/services/http.service.ts | 135 + src/app/services/login-auth.service.ts | 39 + src/app/theme/scss/base.scss | 37 + src/app/theme/scss/common.scss | 208 + src/app/theme/scss/typography.scss | 101 + src/app/theme/scss/variables.scss | 69 + src/app/utils/get-cookie.ts | 14 + src/assets/.gitkeep | 0 src/assets/images/Vlad.png | Bin 0 -> 47573 bytes src/assets/images/blur-bg-blurred.jpg | Bin 0 -> 260016 bytes src/assets/images/logo.png | Bin 0 -> 19852 bytes src/assets/mock-data/airline-col_code.json | 52 + src/assets/mock-data/airline-color.json | 6 + src/assets/mock-data/airline-data.json | 15898 ++++++++++++++++ src/browserslist | 9 + src/environments/environment.prod.ts | 3 + src/environments/environment.ts | 15 + src/favicon.ico | Bin 0 -> 19852 bytes src/index.html | 115 + src/karma.conf.js | 31 + src/main.ts | 12 + src/polyfills.ts | 80 + src/styles.scss | 7 + src/test.ts | 20 + src/tsconfig.app.json | 12 + src/tsconfig.spec.json | 19 + src/tslint.json | 17 + tsconfig.json | 20 + tslint.json | 130 + 106 files changed, 29628 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 README.md create mode 100644 angular.json create mode 100644 e2e/protractor.conf.js create mode 100644 e2e/src/app.e2e-spec.ts create mode 100644 e2e/src/app.po.ts create mode 100644 e2e/tsconfig.e2e.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/app/app-routing.module.ts create mode 100644 src/app/app.component.scss create mode 100644 src/app/app.component.spec.ts create mode 100644 src/app/app.component.ts create mode 100644 src/app/app.module.ts create mode 100644 src/app/components/bar-menu/bar-menu.component.html create mode 100644 src/app/components/bar-menu/bar-menu.component.scss create mode 100644 src/app/components/bar-menu/bar-menu.component.spec.ts create mode 100644 src/app/components/bar-menu/bar-menu.component.ts create mode 100644 src/app/components/bar-menu/bar-menu.module.spec.ts create mode 100644 src/app/components/bar-menu/bar-menu.module.ts create mode 100644 src/app/components/components.module.spec.ts create mode 100644 src/app/components/components.module.ts create mode 100644 src/app/components/page-top/page-top.component.html create mode 100644 src/app/components/page-top/page-top.component.scss create mode 100644 src/app/components/page-top/page-top.component.spec.ts create mode 100644 src/app/components/page-top/page-top.component.ts create mode 100644 src/app/components/page-top/page-top.module.spec.ts create mode 100644 src/app/components/page-top/page-top.module.ts create mode 100644 src/app/components/sidebar-menu/sidebar-menu.component.html create mode 100644 src/app/components/sidebar-menu/sidebar-menu.component.scss create mode 100644 src/app/components/sidebar-menu/sidebar-menu.component.spec.ts create mode 100644 src/app/components/sidebar-menu/sidebar-menu.component.ts create mode 100644 src/app/components/sidebar-menu/sidebar-menu.module.spec.ts create mode 100644 src/app/components/sidebar-menu/sidebar-menu.module.ts create mode 100644 src/app/components/toast/toast-box.component.html create mode 100644 src/app/components/toast/toast-box.component.scss create mode 100644 src/app/components/toast/toast-box.component.spec.ts create mode 100644 src/app/components/toast/toast-box.component.ts create mode 100644 src/app/components/toast/toast-model.ts create mode 100644 src/app/components/toast/toast.component.html create mode 100644 src/app/components/toast/toast.component.scss create mode 100644 src/app/components/toast/toast.component.spec.ts create mode 100644 src/app/components/toast/toast.component.ts create mode 100644 src/app/components/toast/toast.module.ts create mode 100644 src/app/components/toast/toast.service.spec.ts create mode 100644 src/app/components/toast/toast.service.ts create mode 100644 src/app/login/login-routing.module.ts create mode 100644 src/app/login/login.component.html create mode 100644 src/app/login/login.component.scss create mode 100644 src/app/login/login.component.spec.ts create mode 100644 src/app/login/login.component.ts create mode 100644 src/app/login/login.module.spec.ts create mode 100644 src/app/login/login.module.ts create mode 100644 src/app/pages/main/main-routing.module.ts create mode 100644 src/app/pages/main/main.component.html create mode 100644 src/app/pages/main/main.component.scss create mode 100644 src/app/pages/main/main.component.spec.ts create mode 100644 src/app/pages/main/main.component.ts create mode 100644 src/app/pages/main/main.module.spec.ts create mode 100644 src/app/pages/main/main.module.ts create mode 100644 src/app/pages/pages-routing.module.ts create mode 100644 src/app/pages/pages.component.html create mode 100644 src/app/pages/pages.component.scss create mode 100644 src/app/pages/pages.component.spec.ts create mode 100644 src/app/pages/pages.component.ts create mode 100644 src/app/pages/pages.module.spec.ts create mode 100644 src/app/pages/pages.module.ts create mode 100644 src/app/preloading-strategy.ts create mode 100644 src/app/register/register-routing.module.ts create mode 100644 src/app/register/register.component.html create mode 100644 src/app/register/register.component.scss create mode 100644 src/app/register/register.component.spec.ts create mode 100644 src/app/register/register.component.ts create mode 100644 src/app/register/register.module.spec.ts create mode 100644 src/app/register/register.module.ts create mode 100644 src/app/services/http-client.service.ts create mode 100644 src/app/services/http.service.ts create mode 100644 src/app/services/login-auth.service.ts create mode 100644 src/app/theme/scss/base.scss create mode 100644 src/app/theme/scss/common.scss create mode 100644 src/app/theme/scss/typography.scss create mode 100644 src/app/theme/scss/variables.scss create mode 100644 src/app/utils/get-cookie.ts create mode 100644 src/assets/.gitkeep create mode 100644 src/assets/images/Vlad.png create mode 100644 src/assets/images/blur-bg-blurred.jpg create mode 100644 src/assets/images/logo.png create mode 100644 src/assets/mock-data/airline-col_code.json create mode 100644 src/assets/mock-data/airline-color.json create mode 100644 src/assets/mock-data/airline-data.json create mode 100644 src/browserslist create mode 100644 src/environments/environment.prod.ts create mode 100644 src/environments/environment.ts create mode 100644 src/favicon.ico create mode 100644 src/index.html create mode 100644 src/karma.conf.js create mode 100644 src/main.ts create mode 100644 src/polyfills.ts create mode 100644 src/styles.scss create mode 100644 src/test.ts create mode 100644 src/tsconfig.app.json create mode 100644 src/tsconfig.spec.json create mode 100644 src/tslint.json create mode 100644 tsconfig.json create mode 100644 tslint.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ee5c9d8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/README.md b/README.md new file mode 100644 index 0000000..d4627d5 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# GzznAdmin + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 6.0.1. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). diff --git a/angular.json b/angular.json new file mode 100644 index 0000000..07bc6fe --- /dev/null +++ b/angular.json @@ -0,0 +1,131 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "gzzn-admin": { + "root": "", + "sourceRoot": "src", + "projectType": "application", + "prefix": "app", + "schematics": { + "@schematics/angular:component": { + "styleext": "scss" + } + }, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/gzzn-admin", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.app.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "node_modules/bootstrap/scss/bootstrap.scss", + "node_modules/font-awesome/scss/font-awesome.scss", + "src/styles.scss" + ], + "scripts": [ + "node_modules/jquery/dist/jquery.min.js", + "node_modules/bootstrap/dist/js/bootstrap.min.js" + ] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "gzzn-admin:build" + }, + "configurations": { + "production": { + "browserTarget": "gzzn-admin:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "gzzn-admin:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.spec.json", + "karmaConfig": "src/karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/favicon.ico", + "src/assets" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "src/tsconfig.app.json", + "src/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + } + } + }, + "gzzn-admin-e2e": { + "root": "e2e/", + "projectType": "application", + "architect": { + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "gzzn-admin:serve" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": "e2e/tsconfig.e2e.json", + "exclude": [ + "**/node_modules/**" + ] + } + } + } + } + }, + "defaultProject": "gzzn-admin" +} \ No newline at end of file diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js new file mode 100644 index 0000000..86776a3 --- /dev/null +++ b/e2e/protractor.conf.js @@ -0,0 +1,28 @@ +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter } = require('jasmine-spec-reporter'); + +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './src/**/*.e2e-spec.ts' + ], + capabilities: { + 'browserName': 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + onPrepare() { + require('ts-node').register({ + project: require('path').join(__dirname, './tsconfig.e2e.json') + }); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + } +}; \ No newline at end of file diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts new file mode 100644 index 0000000..e42d1f9 --- /dev/null +++ b/e2e/src/app.e2e-spec.ts @@ -0,0 +1,14 @@ +import { AppPage } from './app.po'; + +describe('workspace-project App', () => { + let page: AppPage; + + beforeEach(() => { + page = new AppPage(); + }); + + it('should display welcome message', () => { + page.navigateTo(); + expect(page.getParagraphText()).toEqual('Welcome to app!'); + }); +}); diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts new file mode 100644 index 0000000..82ea75b --- /dev/null +++ b/e2e/src/app.po.ts @@ -0,0 +1,11 @@ +import { browser, by, element } from 'protractor'; + +export class AppPage { + navigateTo() { + return browser.get('/'); + } + + getParagraphText() { + return element(by.css('app-root h1')).getText(); + } +} diff --git a/e2e/tsconfig.e2e.json b/e2e/tsconfig.e2e.json new file mode 100644 index 0000000..a6dd622 --- /dev/null +++ b/e2e/tsconfig.e2e.json @@ -0,0 +1,13 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/app", + "module": "commonjs", + "target": "es5", + "types": [ + "jasmine", + "jasminewd2", + "node" + ] + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..04a1b1f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,10002 @@ +{ + "name": "gzzn-admin", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.6.8", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/architect/download/@angular-devkit/architect-0.6.8.tgz", + "integrity": "sha1-l3rMYFq6RdIblcpwTMmUkuFCmd0=", + "dev": true, + "requires": { + "@angular-devkit/core": "0.6.8", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/build-angular": { + "version": "0.6.8", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/build-angular/download/@angular-devkit/build-angular-0.6.8.tgz", + "integrity": "sha1-6hCFCflw78nNkIekeJTAFk3S0MA=", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.6.8", + "@angular-devkit/build-optimizer": "0.6.8", + "@angular-devkit/core": "0.6.8", + "@ngtools/webpack": "6.0.8", + "ajv": "6.4.0", + "autoprefixer": "8.6.5", + "cache-loader": "1.2.2", + "chalk": "2.2.2", + "circular-dependency-plugin": "5.0.2", + "clean-css": "4.2.1", + "copy-webpack-plugin": "4.5.2", + "file-loader": "1.1.11", + "glob": "7.1.3", + "html-webpack-plugin": "3.2.0", + "istanbul": "0.4.5", + "istanbul-instrumenter-loader": "3.0.1", + "karma-source-map-support": "1.3.0", + "less": "3.8.1", + "less-loader": "4.1.0", + "license-webpack-plugin": "1.5.0", + "lodash": "4.17.11", + "memory-fs": "0.4.1", + "mini-css-extract-plugin": "0.4.3", + "minimatch": "3.0.4", + "node-sass": "4.9.3", + "opn": "5.4.0", + "parse5": "4.0.0", + "portfinder": "1.0.17", + "postcss": "6.0.23", + "postcss-import": "11.1.0", + "postcss-loader": "2.1.6", + "postcss-url": "7.3.2", + "raw-loader": "0.5.1", + "resolve": "1.8.1", + "rxjs": "6.3.3", + "sass-loader": "7.1.0", + "silent-error": "1.1.0", + "source-map-support": "0.5.9", + "stats-webpack-plugin": "0.6.2", + "style-loader": "0.21.0", + "stylus": "0.54.5", + "stylus-loader": "3.0.2", + "tree-kill": "1.2.0", + "uglifyjs-webpack-plugin": "1.3.0", + "url-loader": "1.1.1", + "webpack": "4.8.3", + "webpack-dev-middleware": "3.4.0", + "webpack-dev-server": "3.1.9", + "webpack-merge": "4.1.4", + "webpack-sources": "1.3.0", + "webpack-subresource-integrity": "1.1.0-rc.7" + } + }, + "@angular-devkit/build-optimizer": { + "version": "0.6.8", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/build-optimizer/download/@angular-devkit/build-optimizer-0.6.8.tgz", + "integrity": "sha1-nhik9EcpDTqOMt8REKrIuYuA3sI=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "source-map": "0.5.7", + "typescript": "2.9.2", + "webpack-sources": "1.3.0" + }, + "dependencies": { + "typescript": { + "version": "2.9.2", + "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.9.2.tgz", + "integrity": "sha1-HL9h0F1rliaSROtqO85L2RTg8Aw=", + "dev": true + } + } + }, + "@angular-devkit/core": { + "version": "0.6.8", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/core/download/@angular-devkit/core-0.6.8.tgz", + "integrity": "sha1-OwnZe9JYjwCR3xGSH37XckMYBqo=", + "dev": true, + "requires": { + "ajv": "6.4.0", + "chokidar": "2.0.4", + "rxjs": "6.3.3", + "source-map": "0.5.7" + } + }, + "@angular-devkit/schematics": { + "version": "0.6.8", + "resolved": "http://registry.npm.taobao.org/@angular-devkit/schematics/download/@angular-devkit/schematics-0.6.8.tgz", + "integrity": "sha1-Y2CgJx8fQihiv5MqA7N0HnasX/A=", + "dev": true, + "requires": { + "@angular-devkit/core": "0.6.8", + "rxjs": "6.3.3" + } + }, + "@angular/animations": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/animations/download/@angular/animations-6.1.9.tgz", + "integrity": "sha1-HYdGnm9riahxNXDfvpdwDqhb0Ac=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/cli": { + "version": "6.0.8", + "resolved": "http://registry.npm.taobao.org/@angular/cli/download/@angular/cli-6.0.8.tgz", + "integrity": "sha1-ZQcJWLlEvjAFMjLFH4RJt93U2So=", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.6.8", + "@angular-devkit/core": "0.6.8", + "@angular-devkit/schematics": "0.6.8", + "@schematics/angular": "0.6.8", + "@schematics/update": "0.6.8", + "opn": "5.3.0", + "resolve": "1.8.1", + "rxjs": "6.3.3", + "semver": "5.5.1", + "silent-error": "1.1.0", + "symbol-observable": "1.2.0", + "yargs-parser": "10.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "opn": { + "version": "5.3.0", + "resolved": "http://registry.npm.taobao.org/opn/download/opn-5.3.0.tgz", + "integrity": "sha1-ZIcVZchjh18FLP31PT48ta21Oxw=", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "@angular/common": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/common/download/@angular/common-6.1.9.tgz", + "integrity": "sha1-Y4+o6OMGJhFuqeo25vLwD+2XH3c=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/compiler": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/compiler/download/@angular/compiler-6.1.9.tgz", + "integrity": "sha1-NpZln3UrXiOfUYbOpyzxeWW1nLg=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/compiler-cli": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/compiler-cli/download/@angular/compiler-cli-6.1.9.tgz", + "integrity": "sha1-msVvw+onTIl8y7PD/gqqEAwBE30=", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "minimist": "1.2.0", + "reflect-metadata": "0.1.12", + "tsickle": "0.32.1" + }, + "dependencies": { + "anymatch": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz", + "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "@angular/core": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/core/download/@angular/core-6.1.9.tgz", + "integrity": "sha1-oho13lUclfJ27LsfMUlJzGkyaVA=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/forms": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/forms/download/@angular/forms-6.1.9.tgz", + "integrity": "sha1-2dhZH0x0Jw5T4xhOtF4ZukkP3zI=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/http": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/http/download/@angular/http-6.1.9.tgz", + "integrity": "sha1-JB81IH1i+GvBVf6xJKHnNRXWb7Y=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/language-service": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/language-service/download/@angular/language-service-6.1.9.tgz", + "integrity": "sha1-yoL1F3W8+cz1ZCEimskBa7Y7mIU=", + "dev": true + }, + "@angular/platform-browser": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/platform-browser/download/@angular/platform-browser-6.1.9.tgz", + "integrity": "sha1-bIMuUoxmCtiAoWUxdU5lubl9T58=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/platform-browser-dynamic": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/platform-browser-dynamic/download/@angular/platform-browser-dynamic-6.1.9.tgz", + "integrity": "sha1-4A8aSUi0wpmxfJVh2D9+pYgReBg=", + "requires": { + "tslib": "1.9.3" + } + }, + "@angular/router": { + "version": "6.1.9", + "resolved": "http://registry.npm.taobao.org/@angular/router/download/@angular/router-6.1.9.tgz", + "integrity": "sha1-KYaeU0QnA8U6lDzjdcuwoPNpJ/s=", + "requires": { + "tslib": "1.9.3" + } + }, + "@ngtools/webpack": { + "version": "6.0.8", + "resolved": "http://registry.npm.taobao.org/@ngtools/webpack/download/@ngtools/webpack-6.0.8.tgz", + "integrity": "sha1-oFvOUmrunaYrsjCpX7qD/umdC8o=", + "dev": true, + "requires": { + "@angular-devkit/core": "0.6.8", + "tree-kill": "1.2.0", + "webpack-sources": "1.3.0" + } + }, + "@schematics/angular": { + "version": "0.6.8", + "resolved": "http://registry.npm.taobao.org/@schematics/angular/download/@schematics/angular-0.6.8.tgz", + "integrity": "sha1-qNGvwz53FgKWsKiz0C8O5N/p0dI=", + "dev": true, + "requires": { + "@angular-devkit/core": "0.6.8", + "@angular-devkit/schematics": "0.6.8", + "typescript": "2.7.2" + } + }, + "@schematics/update": { + "version": "0.6.8", + "resolved": "http://registry.npm.taobao.org/@schematics/update/download/@schematics/update-0.6.8.tgz", + "integrity": "sha1-O0+JfdOygzWsxTpJ2fDcEOvZNKc=", + "dev": true, + "requires": { + "@angular-devkit/core": "0.6.8", + "@angular-devkit/schematics": "0.6.8", + "npm-registry-client": "8.6.0", + "rxjs": "6.3.3", + "semver": "5.5.1", + "semver-intersect": "1.4.0" + } + }, + "@types/jasmine": { + "version": "2.8.9", + "resolved": "http://registry.npm.taobao.org/@types/jasmine/download/@types/jasmine-2.8.9.tgz", + "integrity": "sha1-4CjIkehVH99t6QXZWVgfxPoLVQk=", + "dev": true + }, + "@types/jasminewd2": { + "version": "2.0.5", + "resolved": "http://registry.npm.taobao.org/@types/jasminewd2/download/@types/jasminewd2-2.0.5.tgz", + "integrity": "sha1-CRDbS9UCAt6p/m7DdRewrmoBqeY=", + "dev": true, + "requires": { + "@types/jasmine": "2.8.9" + } + }, + "@types/jquery": { + "version": "3.3.14", + "resolved": "http://registry.npm.taobao.org/@types/jquery/download/@types/jquery-3.3.14.tgz", + "integrity": "sha1-fHjhj4xL+ajq4d5igVSTqx18wE8=", + "dev": true, + "requires": { + "@types/sizzle": "2.3.2" + } + }, + "@types/node": { + "version": "8.9.5", + "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-8.9.5.tgz", + "integrity": "sha1-FiuGS8cL4Hfm2yErMidUkXkp6XY=", + "dev": true + }, + "@types/q": { + "version": "0.0.32", + "resolved": "http://registry.npm.taobao.org/@types/q/download/@types/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/selenium-webdriver": { + "version": "2.53.43", + "resolved": "http://registry.npm.taobao.org/@types/selenium-webdriver/download/@types/selenium-webdriver-2.53.43.tgz", + "integrity": "sha1-LePXGIGbwgFldUxKWa+36YM/Zwc=", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.2", + "resolved": "http://registry.npm.taobao.org/@types/sizzle/download/@types/sizzle-2.3.2.tgz", + "integrity": "sha1-qBG4wY4rq6t9VCszZYh64uTZ3kc=", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.4.3.tgz", + "integrity": "sha1-Oz9vztlE2GYCczR1M+bU0xW1k0o=", + "dev": true, + "requires": { + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/wast-parser": "1.4.3", + "debug": "3.2.5", + "webassemblyjs": "1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.4.3.tgz", + "integrity": "sha1-9a7kw3anF8dCZNe6ytqYHn5E+q0=", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.4.3.tgz", + "integrity": "sha1-BDS1WVhRm/UDaX04JIV7HeqAtyk=", + "dev": true, + "requires": { + "debug": "3.2.5" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.4.3.tgz", + "integrity": "sha1-8TSco+AajinuIJjHcHc++Xr0NkE=", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.4.3" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.4.3.tgz", + "integrity": "sha1-Zakh20j7Q+ho8XsnSXhwvcriK3k=", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.4.3.tgz", + "integrity": "sha1-DltLVBjjP4om6UC3gJhigow3IaU=", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.4.3.tgz", + "integrity": "sha1-nO7dU6PxUsNBLgcoh63maNCxrL8=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-buffer": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/wasm-gen": "1.4.3", + "debug": "3.2.5" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "@webassemblyjs/leb128": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.4.3.tgz", + "integrity": "sha1-Wl5ZSdu1rf466VZk0EOZJ6xVf7g=", + "dev": true, + "requires": { + "leb": "0.3.0" + } + }, + "@webassemblyjs/validation": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/validation/download/@webassemblyjs/validation-1.4.3.tgz", + "integrity": "sha1-nmbJswede7zyBwwb9SpUryoJqsk=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3" + } + }, + "@webassemblyjs/wasm-edit": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.4.3.tgz", + "integrity": "sha1-h/69Vl4P+1riX2SVuzlY0Xqgp3k=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-buffer": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/helper-wasm-section": "1.4.3", + "@webassemblyjs/wasm-gen": "1.4.3", + "@webassemblyjs/wasm-opt": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "@webassemblyjs/wast-printer": "1.4.3", + "debug": "3.2.5" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.4.3.tgz", + "integrity": "sha1-hVMWTQFUpr6PdNZT16s1X3MkCqQ=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/leb128": "1.4.3" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.4.3.tgz", + "integrity": "sha1-JseiO/sTaqQFsdNBDmNAjsYIlLg=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-buffer": "1.4.3", + "@webassemblyjs/wasm-gen": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "debug": "3.2.5" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.4.3.tgz", + "integrity": "sha1-fd0+QI+FQmR+1hIBnPt4CDCZNpg=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/leb128": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "webassemblyjs": "1.4.3" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.4.3.tgz", + "integrity": "sha1-MlBALixe1T2+IjPJ3h/h+fDVF0U=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/floating-point-hex-parser": "1.4.3", + "@webassemblyjs/helper-code-frame": "1.4.3", + "@webassemblyjs/helper-fsm": "1.4.3", + "long": "3.2.0", + "webassemblyjs": "1.4.3" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.4.3.tgz", + "integrity": "sha1-PVmqjQJS1oFKPvTm0qNMne05BOA=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/wast-parser": "1.4.3", + "long": "3.2.0" + } + }, + "abbrev": { + "version": "1.0.9", + "resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "accepts": { + "version": "1.3.5", + "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "2.1.20", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.7.3", + "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz", + "integrity": "sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk=", + "dev": true + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha1-kBzu5Mf6rvfgetKkfokGddpQong=", + "dev": true, + "requires": { + "acorn": "5.7.3" + } + }, + "adm-zip": { + "version": "0.4.4", + "resolved": "http://registry.npm.taobao.org/adm-zip/download/adm-zip-0.4.4.tgz", + "integrity": "sha1-ph7VrmkFw66lizplfSUDMJEFJzY=", + "dev": true + }, + "after": { + "version": "0.8.2", + "resolved": "http://registry.npm.taobao.org/after/download/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "agent-base": { + "version": "4.2.1", + "resolved": "http://registry.npm.taobao.org/agent-base/download/agent-base-4.2.1.tgz", + "integrity": "sha1-2J5ZmfeXh1Z0wH2H8mD8Qeg+jKk=", + "dev": true, + "requires": { + "es6-promisify": "5.0.0" + } + }, + "ajv": { + "version": "6.4.0", + "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "dev": true, + "requires": { + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1", + "uri-js": "3.0.2" + } + }, + "ajv-errors": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "dev": true + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "http://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.1.0.tgz", + "integrity": "sha1-3PqsyQ75GH3kE+w++NXrmBqYgI8=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "app-root-path": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/app-root-path/download/app-root-path-2.1.0.tgz", + "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=", + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "resolved": "http://registry.npm.taobao.org/append-transform/download/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz", + "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "optional": true + }, + "array-flatten": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "http://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.6", + "resolved": "http://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "http://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "http://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "http://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true + }, + "autoprefixer": { + "version": "8.6.5", + "resolved": "http://registry.npm.taobao.org/autoprefixer/download/autoprefixer-8.6.5.tgz", + "integrity": "sha1-ND89GT7VaLMgjgARehuW62kdTuk=", + "dev": true, + "requires": { + "browserslist": "3.2.8", + "caniuse-lite": "1.0.30000890", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz", + "integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz", + "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.11" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.11" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "dev": true + }, + "backo2": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/backo2/download/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "http://registry.npm.taobao.org/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "base64-js": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.3.0.tgz", + "integrity": "sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM=", + "dev": true + }, + "base64id": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/base64id/download/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/better-assert/download/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "dev": true + }, + "binary-extensions": { + "version": "1.12.0", + "resolved": "http://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.12.0.tgz", + "integrity": "sha1-wteA9T1Fu6gxeokC1M7q86Y4WxQ=", + "dev": true + }, + "blob": { + "version": "0.0.4", + "resolved": "http://registry.npm.taobao.org/blob/download/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "optional": true, + "requires": { + "inherits": "2.0.3" + } + }, + "blocking-proxy": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/blocking-proxy/download/blocking-proxy-1.0.1.tgz", + "integrity": "sha1-gdb9H+E6TA1pV99/kbdemNrEDLI=", + "dev": true, + "requires": { + "minimist": "1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "bluebird": { + "version": "3.5.2", + "resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.2.tgz", + "integrity": "sha1-G+CQjgVKdRdUVJwnBInBUF1KsVo=", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz", + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "http://registry.npm.taobao.org/body-parser/download/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.16" + }, + "dependencies": { + "qs": { + "version": "6.5.1", + "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz", + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "http://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.2.3", + "multicast-dns-service-types": "1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "bootstrap": { + "version": "4.1.3", + "resolved": "http://registry.npm.taobao.org/bootstrap/download/bootstrap-4.1.3.tgz", + "integrity": "sha1-DrNxryyESOjCEEEdDLgkpkCaEr4=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "http://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.3", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", + "dev": true, + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "http://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "http://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "dev": true, + "requires": { + "pako": "1.0.6" + } + }, + "browserslist": { + "version": "3.2.8", + "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz", + "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000890", + "electron-to-chromium": "1.3.75" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "http://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz", + "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "1.1.0", + "buffer-fill": "1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/builtins/download/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "http://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz", + "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", + "dev": true, + "requires": { + "bluebird": "3.5.2", + "chownr": "1.1.1", + "glob": "7.1.3", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.1", + "y18n": "4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "cache-loader": { + "version": "1.2.2", + "resolved": "http://registry.npm.taobao.org/cache-loader/download/cache-loader-1.2.2.tgz", + "integrity": "sha1-bVw43tlZoJzF1YGQq1r29zvTU/U=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mkdirp": "0.5.1", + "neo-async": "2.5.2", + "schema-utils": "0.4.7" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "optional": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30000890", + "resolved": "http://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000890.tgz", + "integrity": "sha1-hqGP/MZdeexqQ36YV2G4vxxO/q8=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.2.2", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.2.2.tgz", + "integrity": "sha1-RAP1zxjzXAX1H73xUr9Yj5Vs98s=", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-2.0.4.tgz", + "integrity": "sha1-NW/04rDo5D4yLRijckYLvPOszSY=", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1", + "upath": "1.1.0" + } + }, + "chownr": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/chownr/download/chownr-1.1.1.tgz", + "integrity": "sha1-VHJri4//TfBTxCGH6AH7RBLfFJQ=", + "dev": true + }, + "chrome-trace-event": { + "version": "0.1.3", + "resolved": "http://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-0.1.3.tgz", + "integrity": "sha1-05WvLTHIe5CnFsgx/jJvaXaOwIQ=", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "circular-dependency-plugin": { + "version": "5.0.2", + "resolved": "http://registry.npm.taobao.org/circular-dependency-plugin/download/circular-dependency-plugin-5.0.2.tgz", + "integrity": "sha1-2haMCzfntDVj+5+RLBwAfCEzie8=", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "http://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "http://registry.npm.taobao.org/clean-css/download/clean-css-4.2.1.tgz", + "integrity": "sha1-LUEe92uFabbQyEBo2r6FsKpeXBc=", + "dev": true, + "requires": { + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/clone-deep/download/clone-deep-2.0.2.tgz", + "integrity": "sha1-ANs6Hhc2VnMNEYjD1qztbX6pdxM=", + "dev": true, + "requires": { + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "6.0.2", + "shallow-clone": "1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codelyzer": { + "version": "4.2.1", + "resolved": "http://registry.npm.taobao.org/codelyzer/download/codelyzer-4.2.1.tgz", + "integrity": "sha1-1W6qzvyn6BOKrApjDkhL2wmYhUQ=", + "dev": true, + "requires": { + "app-root-path": "2.1.0", + "css-selector-tokenizer": "0.7.0", + "cssauron": "1.4.0", + "semver-dsl": "1.0.1", + "source-map": "0.5.7", + "sprintf-js": "1.0.3" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combine-lists": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/combine-lists/download/combine-lists-1.0.1.tgz", + "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.7.tgz", + "integrity": "sha1-LR0kMXr7ir6V1tLAsHtXgTU52Cg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz", + "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "http://registry.npm.taobao.org/component-inherit/download/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "compressible": { + "version": "2.0.15", + "resolved": "http://registry.npm.taobao.org/compressible/download/compressible-2.0.15.tgz", + "integrity": "sha1-hXqasKfloH2Ng37UP+Le//ZP4hI=", + "dev": true, + "requires": { + "mime-db": "1.36.0" + } + }, + "compression": { + "version": "1.7.3", + "resolved": "http://registry.npm.taobao.org/compression/download/compression-1.7.3.tgz", + "integrity": "sha1-J+DhdqryYPfywoE8PkQK258Zk9s=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.15", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.2", + "vary": "1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "requires": { + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, + "connect": { + "version": "3.6.6", + "resolved": "http://registry.npm.taobao.org/connect/download/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "1.3.2", + "utils-merge": "1.0.1" + }, + "dependencies": { + "finalhandler": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "http://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.6.0.tgz", + "integrity": "sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "cookie": { + "version": "0.3.1", + "resolved": "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "http://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.5.2", + "resolved": "http://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.5.2.tgz", + "integrity": "sha1-1TREqP6ikS2AbniTc5Dd1+Yy7lw=", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "1.1.0", + "minimatch": "3.0.4", + "p-limit": "1.3.0", + "serialize-javascript": "1.5.0" + } + }, + "core-js": { + "version": "2.5.7", + "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.7.tgz", + "integrity": "sha1-+XJgj/DOrWi4QaFqky0LGDeRgU4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-4.0.0.tgz", + "integrity": "sha1-dgORVJWAu9LfHlYrwXexPCkJctw=", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0", + "require-from-string": "2.0.2" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" + } + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz", + "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.1" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.5", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "4.1.3", + "which": "1.3.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "dev": true, + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.17", + "public-encrypt": "4.0.3", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "css-parse": { + "version": "1.7.0", + "resolved": "http://registry.npm.taobao.org/css-parse/download/css-parse-1.7.0.tgz", + "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=", + "dev": true + }, + "css-select": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "http://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + } + }, + "css-what": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/css-what/download/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, + "cssauron": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/cssauron/download/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "cssesc": { + "version": "0.1.0", + "resolved": "http://registry.npm.taobao.org/cssesc/download/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cuint": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/cuint/download/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "optional": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/custom-event/download/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/cyclist/download/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-gateway": { + "version": "2.7.2", + "resolved": "http://registry.npm.taobao.org/default-gateway/download/default-gateway-2.7.2.tgz", + "integrity": "sha1-t+8znl4CSwRUZ69APVA0jbRkLQ8=", + "dev": true, + "requires": { + "execa": "0.10.0", + "ip-regex": "2.1.0" + } + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/default-require-extensions/download/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dev": true, + "requires": { + "object-keys": "1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "del": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/del/download/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "http://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.3", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "detect-node": { + "version": "2.0.4", + "resolved": "http://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", + "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "http://registry.npm.taobao.org/di/download/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "http://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz", + "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz", + "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "http://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz", + "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", + "dev": true, + "requires": { + "ip": "1.1.5", + "safe-buffer": "5.1.2" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "1.1.1" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", + "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", + "dev": true, + "requires": { + "utila": "0.4.0" + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "1.0.1", + "ent": "2.2.0", + "extend": "3.0.2", + "void-elements": "2.0.1" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "http://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", + "dev": true + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "duplexify": { + "version": "3.6.0", + "resolved": "http://registry.npm.taobao.org/duplexify/download/duplexify-3.6.0.tgz", + "integrity": "sha1-WSkD9dgLONA3IgVBJk1poZj7NBA=", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.6.1", + "resolved": "http://registry.npm.taobao.org/ejs/download/ejs-2.6.1.tgz", + "integrity": "sha1-SY7A1JVlWrxvI81hho2SZGQHGqA=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.75", + "resolved": "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.75.tgz", + "integrity": "sha1-3QRVFznnNxhisKx/Tdqp8/lbfmg=", + "dev": true + }, + "elliptic": { + "version": "6.4.1", + "resolved": "http://registry.npm.taobao.org/elliptic/download/elliptic-6.4.1.tgz", + "integrity": "sha1-wtC3d2kRuGcixjLDwGxg8vgZk5o=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz", + "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "engine.io": { + "version": "1.8.3", + "resolved": "http://registry.npm.taobao.org/engine.io/download/engine.io-1.8.3.tgz", + "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=", + "dev": true, + "requires": { + "accepts": "1.3.3", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "2.3.3", + "engine.io-parser": "1.3.2", + "ws": "1.1.2" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "2.1.20", + "negotiator": "0.6.1" + } + }, + "debug": { + "version": "2.3.3", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "engine.io-client": { + "version": "1.8.3", + "resolved": "http://registry.npm.taobao.org/engine.io-client/download/engine.io-client-1.8.3.tgz", + "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "2.3.3", + "engine.io-parser": "1.3.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parsejson": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "1.1.2", + "xmlhttprequest-ssl": "1.5.3", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "2.3.3", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-1.3.2.tgz", + "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary": "0.1.7", + "wtf-8": "1.0.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.0.tgz", + "integrity": "sha1-Qcfgv9/nSsH/4eV61qXGyfN0Kn8=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.1.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/entities/download/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "http://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "http://registry.npm.taobao.org/es-abstract/download/es-abstract-1.12.0.tgz", + "integrity": "sha1-nbvdJ8aFbwABQhyhh4LXhr+KYWU=", + "dev": true, + "requires": { + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.0.tgz", + "integrity": "sha1-7fckeAM0VujdqO8J4ArZZQcH83c=", + "dev": true, + "requires": { + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" + } + }, + "es6-promise": { + "version": "4.2.5", + "resolved": "http://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.5.tgz", + "integrity": "sha1-2m0NVpLvtGHggsFIF/4kJ9j10FQ=", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "http://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "4.2.5" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "http://registry.npm.taobao.org/escodegen/download/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "2.7.3", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "http://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.3.tgz", + "integrity": "sha1-u1ByANPRf2AkdjYWC0gmKEsQhTU=", + "dev": true, + "requires": { + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, + "estraverse": { + "version": "1.9.3", + "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "http://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/eventemitter3/download/eventemitter3-3.1.0.tgz", + "integrity": "sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM=", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/events/download/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "http://registry.npm.taobao.org/eventsource/download/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": "1.0.2" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "dev": true, + "requires": { + "md5.js": "1.3.5", + "safe-buffer": "5.1.2" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "http://registry.npm.taobao.org/execa/download/execa-0.10.0.tgz", + "integrity": "sha1-/0Vqj1P5D47MxxqW0Rvfx/CCy1A=", + "dev": true, + "requires": { + "cross-spawn": "6.0.5", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "requires": { + "nice-try": "1.0.5", + "path-key": "2.0.1", + "semver": "5.5.1", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-braces": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/expand-braces/download/expand-braces-0.1.2.tgz", + "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "dev": true, + "requires": { + "array-slice": "0.2.3", + "array-unique": "0.2.1", + "braces": "0.1.5" + }, + "dependencies": { + "array-unique": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/braces/download/braces-0.1.5.tgz", + "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", + "dev": true, + "requires": { + "expand-range": "0.1.1" + } + }, + "expand-range": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-0.1.1.tgz", + "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", + "dev": true, + "requires": { + "is-number": "0.1.1", + "repeat-string": "0.2.2" + } + }, + "is-number": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-0.1.1.tgz", + "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-0.2.2.tgz", + "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.4.tgz", + "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.3", + "repeat-string": "1.6.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "express": { + "version": "4.16.3", + "resolved": "http://registry.npm.taobao.org/express/download/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.4", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz", + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/fastparse/download/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "http://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "http://registry.npm.taobao.org/file-loader/download/file-loader-1.1.11.tgz", + "integrity": "sha1-b+iGRJsPKpNuQ8q6rAzb+zaVBvg=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.7" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fileset": { + "version": "2.0.3", + "resolved": "http://registry.npm.taobao.org/fileset/download/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "7.1.3", + "minimatch": "3.0.4" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.1.tgz", + "integrity": "sha1-7r9O2EAHnIP0JJA4ydcDAIMBsQU=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.0.3.tgz", + "integrity": "sha1-xdWG7zivYJdlC0m8QbVfq7GfNb0=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.8", + "resolved": "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.8.tgz", + "integrity": "sha1-Hb/hPkWtlp+BPobADlKW9SXIhaE=", + "dev": true, + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "font-awesome": { + "version": "4.7.0", + "resolved": "http://registry.npm.taobao.org/font-awesome/download/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + }, + "for-in": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.20" + }, + "dependencies": { + "combined-stream": { + "version": "1.0.6", + "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + } + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/fs-access/download/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "1.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "http://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.11", + "resolved": "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz", + "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=", + "dev": true, + "optional": true, + "requires": { + "globule": "1.2.1" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "http://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz", + "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "globals": { + "version": "9.18.0", + "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "dev": true + }, + "globby": { + "version": "7.1.1", + "resolved": "http://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.3", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "http://registry.npm.taobao.org/globule/download/globule-1.2.1.tgz", + "integrity": "sha1-Xf+xsZHyLSB5epNptJ6rTpg5aW0=", + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.3", + "lodash": "4.17.11", + "minimatch": "3.0.4" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "handle-thing": { + "version": "1.2.5", + "resolved": "http://registry.npm.taobao.org/handle-thing/download/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "handlebars": { + "version": "4.0.12", + "resolved": "http://registry.npm.taobao.org/handlebars/download/handlebars-4.0.12.tgz", + "integrity": "sha1-LBXIqW1G2l4mZwBRi6jLjZGdW8U=", + "dev": true, + "requires": { + "async": "2.6.1", + "optimist": "0.6.1", + "source-map": "0.6.1", + "uglify-js": "3.4.9" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "http://registry.npm.taobao.org/async/download/async-2.6.1.tgz", + "integrity": "sha1-skWiPKcZMAROxT+kaqAKPofGphA=", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.0", + "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.1.0.tgz", + "integrity": "sha1-RGV/VoiiLP1LckhugbOj+xF0LCk=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-binary": { + "version": "0.1.7", + "resolved": "http://registry.npm.taobao.org/has-binary/download/has-binary-0.1.7.tgz", + "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/has-cors/download/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "http://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash.js": { + "version": "1.1.5", + "resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.5.tgz", + "integrity": "sha1-44q0uF37HgxA/pJlwOm1SFTCOBI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "he": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.7.1.tgz", + "integrity": "sha1-l/I2l3vW4SVAiTD/bePuxigewEc=", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "http://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "wbuf": "1.7.3" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.20", + "resolved": "http://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.20.tgz", + "integrity": "sha1-exn9PKoMt5983l7lw6vfjsqmuxQ=", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.2.1", + "commander": "2.17.1", + "he": "1.1.1", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.4.9" + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "http://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "3.5.20", + "loader-utils": "0.2.17", + "lodash": "4.17.11", + "pretty-error": "2.1.1", + "tapable": "1.1.0", + "toposort": "1.0.7", + "util.promisify": "1.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + }, + "dependencies": { + "domutils": { + "version": "1.1.6", + "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "http://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.4.0" + } + }, + "http-parser-js": { + "version": "0.4.13", + "resolved": "http://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "http://registry.npm.taobao.org/http-proxy/download/http-proxy-1.17.0.tgz", + "integrity": "sha1-etOElGWPhGBeL220Q230EPTlvpo=", + "dev": true, + "requires": { + "eventemitter3": "3.1.0", + "follow-redirects": "1.5.8", + "requires-port": "1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.18.0", + "resolved": "http://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha1-CYfmu1pWBuWmkWjY+WeofxXdiqs=", + "dev": true, + "requires": { + "http-proxy": "1.17.0", + "is-glob": "4.0.0", + "lodash": "4.17.11", + "micromatch": "3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.1.tgz", + "integrity": "sha1-UVUpcPoE1yPgTFbQQXjD+SWSu8A=", + "dev": true, + "requires": { + "agent-base": "4.2.1", + "debug": "3.2.5" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz", + "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", + "dev": true + }, + "ieee754": { + "version": "1.1.12", + "resolved": "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.12.tgz", + "integrity": "sha1-UL8k5bnIu5ivSWTJQc2wkY2ntgs=", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "http://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz", + "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "http://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "http://registry.npm.taobao.org/immediate/download/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "2.1.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "requires": { + "pkg-dir": "3.0.0", + "resolve-cwd": "2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "3.0.0", + "path-exists": "3.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/p-limit/download/p-limit-2.0.0.tgz", + "integrity": "sha1-5iTtVO6MRgp3izyfNnBJb/ileuw=", + "dev": true, + "requires": { + "p-try": "2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/p-try/download/p-try-2.0.0.tgz", + "integrity": "sha1-hQgLuHxkaI+keZb+j3376CEXYLE=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "3.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/in-publish/download/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true, + "optional": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "optional": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexof": { + "version": "0.0.1", + "resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "dev": true + }, + "internal-ip": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/internal-ip/download/internal-ip-3.0.1.tgz", + "integrity": "sha1-31yZh24dLrLqLXT1IOP2aaAOzic=", + "dev": true, + "requires": { + "default-gateway": "2.7.2", + "ipaddr.js": "1.8.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "dev": true, + "requires": { + "loose-envify": "1.4.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "optional": true + }, + "ip": { + "version": "1.1.5", + "resolved": "http://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.12.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "http://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz", + "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "http://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "http://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.3" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.2.tgz", + "integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=", + "dev": true, + "requires": { + "has-symbols": "1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "http://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-3.0.3.tgz", + "integrity": "sha1-XW3vPt6/boyoyunDAYOoBLX4voA=", + "dev": true, + "requires": { + "buffer-alloc": "1.2.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "resolved": "http://registry.npm.taobao.org/istanbul/download/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.9", + "async": "1.5.2", + "escodegen": "1.8.1", + "esprima": "2.7.3", + "glob": "5.0.15", + "handlebars": "4.0.12", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "once": "1.4.0", + "resolve": "1.1.7", + "supports-color": "3.2.3", + "which": "1.3.1", + "wordwrap": "1.0.0" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "http://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-api": { + "version": "1.3.7", + "resolved": "http://registry.npm.taobao.org/istanbul-api/download/istanbul-api-1.3.7.tgz", + "integrity": "sha1-qGx3DSsD4R4/d4zXrt2C0nIgkqo=", + "dev": true, + "requires": { + "async": "2.6.1", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-hook": "1.2.2", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-report": "1.1.5", + "istanbul-lib-source-maps": "1.2.6", + "istanbul-reports": "1.5.1", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "once": "1.4.0" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "http://registry.npm.taobao.org/async/download/async-2.6.1.tgz", + "integrity": "sha1-skWiPKcZMAROxT+kaqAKPofGphA=", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + } + } + }, + "istanbul-instrumenter-loader": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/istanbul-instrumenter-loader/download/istanbul-instrumenter-loader-3.0.1.tgz", + "integrity": "sha1-mVe9WSUrNz+uXFK3tRiOb94qCUk=", + "dev": true, + "requires": { + "convert-source-map": "1.6.0", + "istanbul-lib-instrument": "1.10.2", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "http://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha1-zPftzQoLubj3Kf7rCTBHD5r2ZPA=", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "http://registry.npm.taobao.org/istanbul-lib-hook/download/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha1-vGvwfxKmQfvxyFOR0Nqo8K6mv4Y=", + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "http://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha1-H1XtEKw8R/K93dUweTUSZ1TQqco=", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.1", + "semver": "5.5.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.5", + "resolved": "http://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha1-8qZX/GKC+WFwqvKB6zCkWPf0Fww=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.6", + "supports-color": "3.2.3" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "http://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha1-N7n/ZhWA+PyhEjJ1LuQuCMZnXY8=", + "dev": true, + "requires": { + "debug": "3.2.5", + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "1.5.1", + "resolved": "http://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-1.5.1.tgz", + "integrity": "sha1-l+Tb87UV6MSEyuoV1lJO69P/Tho=", + "dev": true, + "requires": { + "handlebars": "4.0.12" + } + }, + "jasmine": { + "version": "2.8.0", + "resolved": "http://registry.npm.taobao.org/jasmine/download/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "7.1.3", + "jasmine-core": "2.8.0" + }, + "dependencies": { + "jasmine-core": { + "version": "2.8.0", + "resolved": "http://registry.npm.taobao.org/jasmine-core/download/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + } + } + }, + "jasmine-core": { + "version": "2.99.1", + "resolved": "http://registry.npm.taobao.org/jasmine-core/download/jasmine-core-2.99.1.tgz", + "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", + "dev": true + }, + "jasmine-diff": { + "version": "0.1.3", + "resolved": "http://registry.npm.taobao.org/jasmine-diff/download/jasmine-diff-0.1.3.tgz", + "integrity": "sha1-k8zC3MQQKMXd1GBlWAdIOfLe6qg=", + "dev": true, + "requires": { + "diff": "3.5.0" + } + }, + "jasmine-spec-reporter": { + "version": "4.2.1", + "resolved": "http://registry.npm.taobao.org/jasmine-spec-reporter/download/jasmine-spec-reporter-4.2.1.tgz", + "integrity": "sha1-HWMq7ANBZwrTJPkrqEtLMrNeniI=", + "dev": true, + "requires": { + "colors": "1.1.2" + } + }, + "jasminewd2": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/jasminewd2/download/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true + }, + "jquery": { + "version": "3.3.1", + "resolved": "http://registry.npm.taobao.org/jquery/download/jquery-3.3.1.tgz", + "integrity": "sha1-lYzinoHJeQ8xvneS311NlfxX+8o=" + }, + "js-base64": { + "version": "2.4.9", + "resolved": "http://registry.npm.taobao.org/js-base64/download/js-base64-2.4.9.tgz", + "integrity": "sha1-dIkR+wT0imDEdxs3XKxFqA3xHAM=", + "dev": true, + "optional": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.12.0.tgz", + "integrity": "sha1-6u1lbsg0TxD1J8a/obbiJE3hZ9E=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + } + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "http://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jszip": { + "version": "3.1.5", + "resolved": "http://registry.npm.taobao.org/jszip/download/jszip-3.1.5.tgz", + "integrity": "sha1-48KmxtcGrG5gMxQDbUPNQL7v3zc=", + "dev": true, + "requires": { + "core-js": "2.3.0", + "es6-promise": "3.0.2", + "lie": "3.1.1", + "pako": "1.0.6", + "readable-stream": "2.0.6" + }, + "dependencies": { + "core-js": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", + "dev": true + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/es6-promise/download/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "karma": { + "version": "1.7.1", + "resolved": "http://registry.npm.taobao.org/karma/download/karma-1.7.1.tgz", + "integrity": "sha1-hcwI6eCiLXzpzKN8ShvoJPaisa4=", + "dev": true, + "requires": { + "bluebird": "3.5.2", + "body-parser": "1.18.2", + "chokidar": "1.7.0", + "colors": "1.1.2", + "combine-lists": "1.0.1", + "connect": "3.6.6", + "core-js": "2.5.7", + "di": "0.0.1", + "dom-serialize": "2.2.1", + "expand-braces": "0.1.2", + "glob": "7.1.3", + "graceful-fs": "4.1.11", + "http-proxy": "1.17.0", + "isbinaryfile": "3.0.3", + "lodash": "3.10.1", + "log4js": "0.6.38", + "mime": "1.6.0", + "minimatch": "3.0.4", + "optimist": "0.6.1", + "qjobs": "1.2.0", + "range-parser": "1.2.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", + "socket.io": "1.7.3", + "source-map": "0.5.7", + "tmp": "0.0.31", + "useragent": "2.3.0" + }, + "dependencies": { + "anymatch": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz", + "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } + } + }, + "karma-chrome-launcher": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/karma-chrome-launcher/download/karma-chrome-launcher-2.2.0.tgz", + "integrity": "sha1-zxudBxNswY/iOTJ9JGVMPbw2is8=", + "dev": true, + "requires": { + "fs-access": "1.0.1", + "which": "1.3.1" + } + }, + "karma-coverage-istanbul-reporter": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/karma-coverage-istanbul-reporter/download/karma-coverage-istanbul-reporter-1.4.3.tgz", + "integrity": "sha1-O13/RmT6W41RlrmInj9hwforgNk=", + "dev": true, + "requires": { + "istanbul-api": "1.3.7", + "minimatch": "3.0.4" + } + }, + "karma-jasmine": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/karma-jasmine/download/karma-jasmine-1.1.2.tgz", + "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", + "dev": true + }, + "karma-jasmine-html-reporter": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/karma-jasmine-html-reporter/download/karma-jasmine-html-reporter-0.2.2.tgz", + "integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=", + "dev": true, + "requires": { + "karma-jasmine": "1.1.2" + } + }, + "karma-source-map-support": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/karma-source-map-support/download/karma-source-map-support-1.3.0.tgz", + "integrity": "sha1-Nt1NjKFUtirOlWliNvrjfK8Kfd4=", + "dev": true, + "requires": { + "source-map-support": "0.5.9" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "optional": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "leb": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/leb/download/leb-0.3.0.tgz", + "integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM=", + "dev": true + }, + "less": { + "version": "3.8.1", + "resolved": "http://registry.npm.taobao.org/less/download/less-3.8.1.tgz", + "integrity": "sha1-8xdYWY71oZMN1MrvqeQ0BkHnHh0=", + "dev": true, + "requires": { + "clone": "2.1.2", + "errno": "0.1.7", + "graceful-fs": "4.1.11", + "image-size": "0.5.5", + "mime": "1.6.0", + "mkdirp": "0.5.1", + "promise": "7.3.1", + "request": "2.88.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true + } + } + }, + "less-loader": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/less-loader/download/less-loader-4.1.0.tgz", + "integrity": "sha1-LBNSxbCaT4QQFJAnT9UWdN5BNj4=", + "dev": true, + "requires": { + "clone": "2.1.2", + "loader-utils": "1.1.0", + "pify": "3.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "license-webpack-plugin": { + "version": "1.5.0", + "resolved": "http://registry.npm.taobao.org/license-webpack-plugin/download/license-webpack-plugin-1.5.0.tgz", + "integrity": "sha1-IsoPEqiEruNbth39jqtF/jagRSM=", + "dev": true, + "requires": { + "ejs": "2.6.1" + } + }, + "lie": { + "version": "3.1.1", + "resolved": "http://registry.npm.taobao.org/lie/download/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dev": true, + "requires": { + "immediate": "3.0.6" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.3.1", + "resolved": "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.1.tgz", + "integrity": "sha1-Am8S/nwxFZkolqwCugIrqSlxuXk=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz", + "integrity": "sha1-s56mIp72B+zYniyN8SU2iRysm40=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "http://registry.npm.taobao.org/lodash.assign/download/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true, + "optional": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "http://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "http://registry.npm.taobao.org/lodash.mergewith/download/lodash.mergewith-4.6.1.tgz", + "integrity": "sha1-Y5BX5ybDr72z59QnQcqo1uQzWSc=", + "dev": true, + "optional": true + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "http://registry.npm.taobao.org/lodash.tail/download/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, + "log4js": { + "version": "0.6.38", + "resolved": "http://registry.npm.taobao.org/log4js/download/log4js-0.6.38.tgz", + "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "semver": "4.3.6" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "semver": { + "version": "4.3.6", + "resolved": "http://registry.npm.taobao.org/semver/download/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "loglevel": { + "version": "1.6.1", + "resolved": "http://registry.npm.taobao.org/loglevel/download/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true + }, + "long": { + "version": "3.2.0", + "resolved": "http://registry.npm.taobao.org/long/download/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "optional": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "http://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.3.tgz", + "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "make-error": { + "version": "1.3.5", + "resolved": "http://registry.npm.taobao.org/make-error/download/make-error-1.3.5.tgz", + "integrity": "sha1-7+ToH22yjK3WBccPKcgxtY73dsg=", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.2.tgz", + "integrity": "sha1-CY+xVTj9Pb5GHxJ0WwyoVo1OP3Q=", + "dev": true, + "requires": { + "p-defer": "1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "math-random": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/math-random/download/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/mem/download/mem-4.0.0.tgz", + "integrity": "sha1-ZDdpDZRxZ49syDZZwAy6/Nawza8=", + "dev": true, + "requires": { + "map-age-cleaner": "0.1.2", + "mimic-fn": "1.2.0", + "p-is-promise": "1.1.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "optional": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true + }, + "mime-db": { + "version": "1.36.0", + "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.36.0.tgz", + "integrity": "sha1-UCBHjbPH/pOq17vMTc+GnEM2M5c=", + "dev": true + }, + "mime-types": { + "version": "2.1.20", + "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.20.tgz", + "integrity": "sha1-kwy3GdVx6QNzhSD4RwkRVIyizBk=", + "dev": true, + "requires": { + "mime-db": "1.36.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.4.3", + "resolved": "http://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.4.3.tgz", + "integrity": "sha1-mNYPzF0ijD42qb0VodaBbWWAvrg=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "1.0.0", + "webpack-sources": "1.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "6.4.0", + "ajv-errors": "1.0.0", + "ajv-keywords": "3.2.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", + "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.3" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "http://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.1.tgz", + "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/mixin-object/download/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "0.1.8", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "http://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "requires": { + "dns-packet": "1.3.1", + "thunky": "1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "nan": { + "version": "2.11.1", + "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.11.1.tgz", + "integrity": "sha1-kOIrzLjKV+pM03zIPTgZtS7qZ2Y=", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "http://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.5.2", + "resolved": "http://registry.npm.taobao.org/neo-async/download/neo-async-2.5.2.tgz", + "integrity": "sha1-SJEFznvFTnCdc2sZX4ITUEjFD8w=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "http://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "http://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } + }, + "node-forge": { + "version": "0.7.5", + "resolved": "http://registry.npm.taobao.org/node-forge/download/node-forge-0.7.5.tgz", + "integrity": "sha1-bBUsNFzhHFL0ZcKr2VfoY5zWdN8=", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "http://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz", + "integrity": "sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw=", + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.3", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.88.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, + "optional": true + } + } + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.1.0.tgz", + "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-sass": { + "version": "4.9.3", + "resolved": "http://registry.npm.taobao.org/node-sass/download/node-sass-4.9.3.tgz", + "integrity": "sha1-9AfPPWb3gwi7HjRrJPpChwMZYiQ=", + "dev": true, + "optional": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.3", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.11.1", + "node-gyp": "3.8.0", + "npmlog": "4.1.2", + "request": "2.87.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.1", + "true-case-path": "1.0.3" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "har-validator": { + "version": "5.0.3", + "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "optional": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, + "optional": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + }, + "request": { + "version": "2.87.0", + "resolved": "http://registry.npm.taobao.org/request/download/request-2.87.0.tgz", + "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.20", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz", + "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=", + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.0.9" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "dev": true, + "requires": { + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.1", + "validate-npm-package-license": "3.0.4" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "npm-package-arg": { + "version": "6.1.0", + "resolved": "http://registry.npm.taobao.org/npm-package-arg/download/npm-package-arg-6.1.0.tgz", + "integrity": "sha1-Fa4eJ1ilAn77TCUFVLhac323/ME=", + "dev": true, + "requires": { + "hosted-git-info": "2.7.1", + "osenv": "0.1.5", + "semver": "5.5.1", + "validate-npm-package-name": "3.0.0" + } + }, + "npm-registry-client": { + "version": "8.6.0", + "resolved": "http://registry.npm.taobao.org/npm-registry-client/download/npm-registry-client-8.6.0.tgz", + "integrity": "sha1-fxUp+RRQcy6J+FGODyFFne6j5MQ=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "graceful-fs": "4.1.11", + "normalize-package-data": "2.4.0", + "npm-package-arg": "6.1.0", + "npmlog": "4.1.2", + "once": "1.4.0", + "request": "2.88.0", + "retry": "0.10.1", + "safe-buffer": "5.1.2", + "semver": "5.5.1", + "slide": "1.1.6", + "ssri": "5.3.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz", + "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/null-check/download/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "http://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-component": { + "version": "0.0.3", + "resolved": "http://registry.npm.taobao.org/object-component/download/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "http://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "object-keys": { + "version": "1.0.12", + "resolved": "http://registry.npm.taobao.org/object-keys/download/object-keys-1.0.12.tgz", + "integrity": "sha1-CcU4VTd1dTEMymL1W7M0q/97PtI=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "http://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.12.0" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + } + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/on-headers/download/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "opn": { + "version": "5.4.0", + "resolved": "http://registry.npm.taobao.org/opn/download/opn-5.4.0.tgz", + "integrity": "sha1-y1Reeqt4VivrEao7+rxwQuF2EDU=", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "options": { + "version": "0.0.6", + "resolved": "http://registry.npm.taobao.org/options/download/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "dev": true + }, + "original": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", + "dev": true, + "requires": { + "url-parse": "1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "optional": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz", + "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/p-is-promise/download/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.3.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.6", + "resolved": "http://registry.npm.taobao.org/pako/download/pako-1.0.6.tgz", + "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.1.tgz", + "integrity": "sha1-9r8pOBgzK9DatU77Fgh3JHRebKg=", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.17" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.2" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz", + "integrity": "sha1-bXhlbj2o14tOwLkG98CO8d/j9gg=", + "dev": true + }, + "parsejson": { + "version": "0.0.3", + "resolved": "http://registry.npm.taobao.org/parsejson/download/parsejson-0.0.3.tgz", + "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", + "dev": true, + "requires": { + "better-assert": "1.0.2" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "http://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dev": true, + "requires": { + "better-assert": "1.0.2" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "http://registry.npm.taobao.org/parseuri/download/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dev": true, + "requires": { + "better-assert": "1.0.2" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "http://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz", + "integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "portfinder": { + "version": "1.0.17", + "resolved": "http://registry.npm.taobao.org/portfinder/download/portfinder-1.0.17.tgz", + "integrity": "sha1-qKFpEUPkbEc17e/PT7zM7a0mRWo=", + "dev": true, + "requires": { + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz", + "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-import": { + "version": "11.1.0", + "resolved": "http://registry.npm.taobao.org/postcss-import/download/postcss-import-11.1.0.tgz", + "integrity": "sha1-Vck2LJGSmU7GiGXSJEGd8dspgfA=", + "dev": true, + "requires": { + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0", + "read-cache": "1.0.0", + "resolve": "1.8.1" + } + }, + "postcss-load-config": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.0.0.tgz", + "integrity": "sha1-8TEt2/WRLNdHF3CDxe96GdYu5IQ=", + "dev": true, + "requires": { + "cosmiconfig": "4.0.0", + "import-cwd": "2.1.0" + } + }, + "postcss-loader": { + "version": "2.1.6", + "resolved": "http://registry.npm.taobao.org/postcss-loader/download/postcss-loader-2.1.6.tgz", + "integrity": "sha1-HX3XsXxrojS5vtWvE+C+pApC10A=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "postcss": "6.0.23", + "postcss-load-config": "2.0.0", + "schema-utils": "0.4.7" + } + }, + "postcss-url": { + "version": "7.3.2", + "resolved": "http://registry.npm.taobao.org/postcss-url/download/postcss-url-7.3.2.tgz", + "integrity": "sha1-X+onOAf7hLOMRhw8mp6KvSNfcSA=", + "dev": true, + "requires": { + "mime": "1.6.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "postcss": "6.0.23", + "xxhashjs": "0.2.2" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "http://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "2.0.2", + "utila": "0.4.0" + } + }, + "process": { + "version": "0.11.10", + "resolved": "http://registry.npm.taobao.org/process/download/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", + "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "http://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "optional": true, + "requires": { + "asap": "2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "protractor": { + "version": "5.3.2", + "resolved": "http://registry.npm.taobao.org/protractor/download/protractor-5.3.2.tgz", + "integrity": "sha1-uCePMTHZ1S+hFy7Q9/7AMIX74M4=", + "dev": true, + "requires": { + "@types/node": "6.0.118", + "@types/q": "0.0.32", + "@types/selenium-webdriver": "2.53.43", + "blocking-proxy": "1.0.1", + "chalk": "1.1.3", + "glob": "7.1.3", + "jasmine": "2.8.0", + "jasminewd2": "2.2.0", + "optimist": "0.6.1", + "q": "1.4.1", + "saucelabs": "1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "0.4.18", + "webdriver-js-extender": "1.0.0", + "webdriver-manager": "12.1.0" + }, + "dependencies": { + "@types/node": { + "version": "6.0.118", + "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-6.0.118.tgz", + "integrity": "sha1-gBSpsd7gtytNfNFCVj8a8hJBw6I=", + "dev": true + }, + "adm-zip": { + "version": "0.4.11", + "resolved": "http://registry.npm.taobao.org/adm-zip/download/adm-zip-0.4.11.tgz", + "integrity": "sha1-KqVMhMSwGp0PuJuxGYKlHxPj1io=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "del": { + "version": "2.2.2", + "resolved": "http://registry.npm.taobao.org/del/download/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "http://registry.npm.taobao.org/globby/download/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.3", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "webdriver-manager": { + "version": "12.1.0", + "resolved": "http://registry.npm.taobao.org/webdriver-manager/download/webdriver-manager-12.1.0.tgz", + "integrity": "sha1-9mAeUt5fDJf8cCTIie6yQW8vHZ0=", + "dev": true, + "requires": { + "adm-zip": "0.4.11", + "chalk": "1.1.3", + "del": "2.2.2", + "glob": "7.1.3", + "ini": "1.3.5", + "minimist": "1.2.0", + "q": "1.4.1", + "request": "2.88.0", + "rimraf": "2.6.2", + "semver": "5.5.1", + "xml2js": "0.4.19" + } + } + } + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.4.tgz", + "integrity": "sha1-7PxzO/Iv+Mb0B/onUye5q2fki5M=", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.1.29", + "resolved": "http://registry.npm.taobao.org/psl/download/psl-1.1.29.tgz", + "integrity": "sha1-YPWA02AXC7cip5fMcEQR5tqFDGc=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "http://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", + "dev": true, + "requires": { + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "q": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/q/download/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/qjobs/download/qjobs-1.2.0.tgz", + "integrity": "sha1-xF6cYYAL0IfviNfiVkI73Unl0HE=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/querystringify/download/querystringify-2.0.0.tgz", + "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", + "dev": true + }, + "randomatic": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/randomatic/download/randomatic-3.1.0.tgz", + "integrity": "sha1-NvLKcI6eVn9e0uwBlJAm1QqhARY=", + "dev": true, + "requires": { + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-4.0.0.tgz", + "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=", + "dev": true + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "http://registry.npm.taobao.org/randombytes/download/randombytes-2.0.6.tgz", + "integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "http://registry.npm.taobao.org/raw-loader/download/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/read-cache/download/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "micromatch": "3.1.10", + "readable-stream": "2.3.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "optional": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reflect-metadata": { + "version": "0.1.12", + "resolved": "http://registry.npm.taobao.org/reflect-metadata/download/reflect-metadata-0.1.12.tgz", + "integrity": "sha1-MRvwxrY814LyKKgavhRqK/qcVvI=", + "dev": true + }, + "regenerate": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz", + "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz", + "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "http://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/renderkid/download/renderkid-2.0.2.tgz", + "integrity": "sha1-EtMQ8lU2DAetj94lP2yeneNy0qo=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.2.0", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.4.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", + "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.88.0", + "resolved": "http://registry.npm.taobao.org/request/download/request-2.88.0.tgz", + "integrity": "sha1-nC/KT301tZLv5Xx/ClXoEFIST+8=", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.1.0", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.20", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.8.1.tgz", + "integrity": "sha1-gvHsGaQjrB+9CAsLqwa6NuhKeiY=", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true + }, + "retry": { + "version": "0.10.1", + "resolved": "http://registry.npm.taobao.org/retry/download/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "dev": true + }, + "rimraf": { + "version": "2.6.2", + "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "dev": true, + "requires": { + "glob": "7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, + "rxjs": { + "version": "6.3.3", + "resolved": "http://registry.npm.taobao.org/rxjs/download/rxjs-6.3.3.tgz", + "integrity": "sha1-PGp/pCDoRKgTkPsRWKnsYU9LrVU=", + "requires": { + "tslib": "1.9.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "http://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.3", + "lodash": "4.17.11", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + } + }, + "sass-loader": { + "version": "7.1.0", + "resolved": "http://registry.npm.taobao.org/sass-loader/download/sass-loader-7.1.0.tgz", + "integrity": "sha1-Fv1ROMuLQkv4p1lSihly1yqtBp0=", + "dev": true, + "requires": { + "clone-deep": "2.0.2", + "loader-utils": "1.1.0", + "lodash.tail": "4.1.1", + "neo-async": "2.5.2", + "pify": "3.0.0", + "semver": "5.5.1" + } + }, + "saucelabs": { + "version": "1.5.0", + "resolved": "http://registry.npm.taobao.org/saucelabs/download/saucelabs-1.5.0.tgz", + "integrity": "sha1-lAWnPDYNRJsjKDmRmobDltN5/Z0=", + "dev": true, + "requires": { + "https-proxy-agent": "2.2.1" + } + }, + "sax": { + "version": "0.5.8", + "resolved": "http://registry.npm.taobao.org/sax/download/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz", + "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", + "dev": true, + "requires": { + "ajv": "6.4.0", + "ajv-keywords": "3.2.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "http://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "optional": true, + "requires": { + "js-base64": "2.4.9", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selenium-webdriver": { + "version": "3.6.0", + "resolved": "http://registry.npm.taobao.org/selenium-webdriver/download/selenium-webdriver-3.6.0.tgz", + "integrity": "sha1-K6h6FmLAILiYjJga5iyyoBKY6vw=", + "dev": true, + "requires": { + "jszip": "3.1.5", + "rimraf": "2.6.2", + "tmp": "0.0.30", + "xml2js": "0.4.19" + }, + "dependencies": { + "tmp": { + "version": "0.0.30", + "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + } + } + }, + "selfsigned": { + "version": "1.10.3", + "resolved": "http://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.3.tgz", + "integrity": "sha1-1ijs+eNzX4TouvupNrPPhb6kOCM=", + "dev": true, + "requires": { + "node-forge": "0.7.5" + } + }, + "semver": { + "version": "5.5.1", + "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.5.1.tgz", + "integrity": "sha1-ff3YgUvbfKvHvg+x1zTPtmyUBHc=", + "dev": true + }, + "semver-dsl": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/semver-dsl/download/semver-dsl-1.0.1.tgz", + "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "dev": true, + "requires": { + "semver": "5.5.1" + } + }, + "semver-intersect": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/semver-intersect/download/semver-intersect-1.4.0.tgz", + "integrity": "sha1-vdnAa+3N0v7bjNNSw8Q+6MYTIfM=", + "dev": true, + "requires": { + "semver": "5.5.1" + } + }, + "send": { + "version": "0.16.2", + "resolved": "http://registry.npm.taobao.org/send/download/send-0.16.2.tgz", + "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + }, + "dependencies": { + "mime": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz", + "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.5.0", + "resolved": "http://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.5.0.tgz", + "integrity": "sha1-GqM2FiyIqJDdrVOEuuvJOmVRYf4=", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "http://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "1.0.3", + "http-errors": "1.6.3", + "mime-types": "2.1.20", + "parseurl": "1.3.2" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.13.2.tgz", + "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", + "dev": true, + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/set-value/download/set-value-2.0.0.tgz", + "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/shallow-clone/download/shallow-clone-1.0.0.tgz", + "integrity": "sha1-RIDNBuiC72iyrYij6lSDLixItXE=", + "dev": true, + "requires": { + "is-extendable": "0.1.1", + "kind-of": "5.1.0", + "mixin-object": "2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "silent-error": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/silent-error/download/silent-error-1.1.0.tgz", + "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=", + "dev": true, + "requires": { + "debug": "2.6.9" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slide": { + "version": "1.1.6", + "resolved": "http://registry.npm.taobao.org/slide/download/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "http://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "socket.io": { + "version": "1.7.3", + "resolved": "http://registry.npm.taobao.org/socket.io/download/socket.io-1.7.3.tgz", + "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=", + "dev": true, + "requires": { + "debug": "2.3.3", + "engine.io": "1.8.3", + "has-binary": "0.1.7", + "object-assign": "4.1.0", + "socket.io-adapter": "0.5.0", + "socket.io-client": "1.7.3", + "socket.io-parser": "2.3.1" + }, + "dependencies": { + "debug": { + "version": "2.3.3", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "0.5.0", + "resolved": "http://registry.npm.taobao.org/socket.io-adapter/download/socket.io-adapter-0.5.0.tgz", + "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=", + "dev": true, + "requires": { + "debug": "2.3.3", + "socket.io-parser": "2.3.1" + }, + "dependencies": { + "debug": { + "version": "2.3.3", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "socket.io-client": { + "version": "1.7.3", + "resolved": "http://registry.npm.taobao.org/socket.io-client/download/socket.io-client-1.7.3.tgz", + "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=", + "dev": true, + "requires": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "2.3.3", + "engine.io-client": "1.8.3", + "has-binary": "0.1.7", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseuri": "0.0.5", + "socket.io-parser": "2.3.1", + "to-array": "0.1.4" + }, + "dependencies": { + "debug": { + "version": "2.3.3", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "2.3.1", + "resolved": "http://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-2.3.1.tgz", + "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", + "dev": true, + "requires": { + "component-emitter": "1.1.2", + "debug": "2.2.0", + "isarray": "0.0.1", + "json3": "3.3.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "http://registry.npm.taobao.org/sockjs/download/sockjs-0.3.19.tgz", + "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=", + "dev": true, + "requires": { + "faye-websocket": "0.10.0", + "uuid": "3.3.2" + } + }, + "sockjs-client": { + "version": "1.1.5", + "resolved": "http://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "requires": { + "debug": "2.6.9", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.4.3" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "http://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + } + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.0.tgz", + "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "http://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.2.tgz", + "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", + "dev": true, + "requires": { + "atob": "2.1.2", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.5.9", + "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.9.tgz", + "integrity": "sha1-QbyVOyU0Jn6i1gW8z6e/oxEc7V8=", + "dev": true, + "requires": { + "buffer-from": "1.1.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "http://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.0.2.tgz", + "integrity": "sha1-GbtAnpG0exrVQVkkP3MSqFjbPC4=", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.1" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz", + "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "dev": true, + "requires": { + "spdx-exceptions": "2.2.0", + "spdx-license-ids": "3.0.1" + } + }, + "spdx-license-ids": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.1.tgz", + "integrity": "sha1-4qMDI2ysVLBAMfp6WnnH5wHfhS8=", + "dev": true + }, + "spdy": { + "version": "3.4.7", + "resolved": "http://registry.npm.taobao.org/spdy/download/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.2", + "select-hose": "2.0.0", + "spdy-transport": "2.1.0" + } + }, + "spdy-transport": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/spdy-transport/download/spdy-transport-2.1.0.tgz", + "integrity": "sha1-S7sVqv/tC+791WrWHb3Iuj4st6E=", + "dev": true, + "requires": { + "debug": "2.6.9", + "detect-node": "2.0.4", + "hpack.js": "2.1.6", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2", + "wbuf": "1.7.3" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.2", + "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "dev": true, + "requires": { + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "http://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz", + "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "stats-webpack-plugin": { + "version": "0.6.2", + "resolved": "http://registry.npm.taobao.org/stats-webpack-plugin/download/stats-webpack-plugin-0.6.2.tgz", + "integrity": "sha1-LFlJtTHgf4eojm6k3PrFOqjHWis=", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz", + "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz", + "integrity": "sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "2.3.6" + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "http://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "http://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "optional": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "style-loader": { + "version": "0.21.0", + "resolved": "http://registry.npm.taobao.org/style-loader/download/style-loader-0.21.0.tgz", + "integrity": "sha1-aMUuXrKvycqStidL4nfuWa6jqFI=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.7" + } + }, + "stylus": { + "version": "0.54.5", + "resolved": "http://registry.npm.taobao.org/stylus/download/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "dev": true, + "requires": { + "css-parse": "1.7.0", + "debug": "2.6.9", + "glob": "7.0.6", + "mkdirp": "0.5.1", + "sax": "0.5.8", + "source-map": "0.1.43" + }, + "dependencies": { + "glob": { + "version": "7.0.6", + "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "stylus-loader": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/stylus-loader/download/stylus-loader-3.0.2.tgz", + "integrity": "sha1-J6cGQgsFo44DjnyssVNXjUUFE8Y=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "lodash.clonedeep": "4.5.0", + "when": "3.6.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz", + "integrity": "sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ=", + "dev": true + }, + "tapable": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/tapable/download/tapable-1.1.0.tgz", + "integrity": "sha1-DQdqFy49m6CI/SJysmaPuNGUt4w=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "optional": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "thunky": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/thunky/download/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "http://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.10.tgz", + "integrity": "sha1-HSjj0qrfHVpZlsTp+VYBzQU0gK4=", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "tmp": { + "version": "0.0.31", + "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "http://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz", + "integrity": "sha1-U/Nto/R3g7CSWvoG/587FlKA94E=", + "dev": true, + "requires": { + "psl": "1.1.29", + "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tree-kill": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/tree-kill/download/tree-kill-1.2.0.tgz", + "integrity": "sha1-WEZ4Yje0I5AU8F2xVrZDIS1MbzY=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "optional": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz", + "integrity": "sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0=", + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.3" + } + }, + "ts-node": { + "version": "5.0.1", + "resolved": "http://registry.npm.taobao.org/ts-node/download/ts-node-5.0.1.tgz", + "integrity": "sha1-eOXRyz9wTeG2QeQ7dr4tQJTwb4E=", + "dev": true, + "requires": { + "arrify": "1.0.1", + "chalk": "2.4.1", + "diff": "3.5.0", + "make-error": "1.3.5", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map-support": "0.5.9", + "yn": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz", + "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "tsickle": { + "version": "0.32.1", + "resolved": "http://registry.npm.taobao.org/tsickle/download/tsickle-0.32.1.tgz", + "integrity": "sha1-8W6UuoCzL8nr4yDclPvCyn81IaU=", + "dev": true, + "requires": { + "jasmine-diff": "0.1.3", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map": "0.6.1", + "source-map-support": "0.5.9" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "http://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz", + "integrity": "sha1-1+TdeSRdhUKMTX5IIqeZF5VMooY=" + }, + "tslint": { + "version": "5.9.1", + "resolved": "http://registry.npm.taobao.org/tslint/download/tslint-5.9.1.tgz", + "integrity": "sha1-ElX4ej/1frCw4fDmEKi0dIBGya4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.1", + "commander": "2.17.1", + "diff": "3.5.0", + "glob": "7.1.3", + "js-yaml": "3.12.0", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.1", + "tslib": "1.9.3", + "tsutils": "2.29.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz", + "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + } + } + }, + "tsutils": { + "version": "2.29.0", + "resolved": "http://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz", + "integrity": "sha1-MrSIUBRnrL7dS4VJhnOggSrKC5k=", + "dev": true, + "requires": { + "tslib": "1.9.3" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "http://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-is": { + "version": "1.6.16", + "resolved": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.16.tgz", + "integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.20" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "2.7.2", + "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.7.2.tgz", + "integrity": "sha1-LWFaHvSu5PV0Qlzf9wJu34GRmDY=", + "dev": true + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.9.tgz", + "integrity": "sha1-rwLxgMEgfXZDLkc+0koo9KeCuuM=", + "dev": true, + "requires": { + "commander": "2.17.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha1-dfVIFghYFjoIZD4IbV/v4YpdZ94=", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.7", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.3.0", + "worker-farm": "1.6.0" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.13.0.tgz", + "integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "http://registry.npm.taobao.org/uglify-es/download/uglify-es-3.3.9.tgz", + "integrity": "sha1-DBxPBwC+2NvBJM2zBNJZLKID5nc=", + "dev": true, + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + } + } + } + }, + "ultron": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/ultron/download/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/union-value/download/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "http://registry.npm.taobao.org/set-value/download/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "dev": true, + "requires": { + "unique-slug": "2.0.1" + } + }, + "unique-slug": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.1.tgz", + "integrity": "sha1-Xp7cbRzo+yZNsYpQfvm9hURFHKY=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/upath/download/upath-1.1.0.tgz", + "integrity": "sha1-NSVll+RqWB20eT0M5H+prr/J+r0=", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/uri-js/download/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "http://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "http://registry.npm.taobao.org/url/download/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/url-loader/download/url-loader-1.1.1.tgz", + "integrity": "sha1-TR87T5Dd6J8CwAjmYtYE11ERZ8E=", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "2.3.1", + "schema-utils": "1.0.0" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "http://registry.npm.taobao.org/mime/download/mime-2.3.1.tgz", + "integrity": "sha1-sWIcVNY7l8R9PP5/chX31kUXw2k=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "6.4.0", + "ajv-errors": "1.0.0", + "ajv-keywords": "3.2.0" + } + } + } + }, + "url-parse": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/url-parse/download/url-parse-1.4.3.tgz", + "integrity": "sha1-v67kVciJAjIZ11fgRfpqaE7DbBU=", + "dev": true, + "requires": { + "querystringify": "2.0.0", + "requires-port": "1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true + }, + "useragent": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/useragent/download/useragent-2.3.0.tgz", + "integrity": "sha1-IX+UOtVAyyEoZYqyP8lg9qiMmXI=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "tmp": "0.0.31" + } + }, + "util": { + "version": "0.10.4", + "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.4.tgz", + "integrity": "sha1-OqASW/5mikZy3liFfTrOJ+y3aQE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz", + "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz", + "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "3.0.2", + "spdx-expression-parse": "3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/validate-npm-package-name/download/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "1.0.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/void-elements/download/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "1.6.0", + "resolved": "http://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz", + "integrity": "sha1-S8EsLr6KonenHx0/FNaFx7RGzQA=", + "dev": true, + "requires": { + "chokidar": "2.0.4", + "graceful-fs": "4.1.11", + "neo-async": "2.5.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "http://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "requires": { + "minimalistic-assert": "1.0.1" + } + }, + "webassemblyjs": { + "version": "1.4.3", + "resolved": "http://registry.npm.taobao.org/webassemblyjs/download/webassemblyjs-1.4.3.tgz", + "integrity": "sha1-BZGJPvuPvedEmCUcvkstg9+SOcs=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/validation": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "@webassemblyjs/wast-parser": "1.4.3", + "long": "3.2.0" + } + }, + "webdriver-js-extender": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/webdriver-js-extender/download/webdriver-js-extender-1.0.0.tgz", + "integrity": "sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU=", + "dev": true, + "requires": { + "@types/selenium-webdriver": "2.53.43", + "selenium-webdriver": "2.53.3" + }, + "dependencies": { + "sax": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/sax/download/sax-0.6.1.tgz", + "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=", + "dev": true + }, + "selenium-webdriver": { + "version": "2.53.3", + "resolved": "http://registry.npm.taobao.org/selenium-webdriver/download/selenium-webdriver-2.53.3.tgz", + "integrity": "sha1-0p/1qVff8aG0ncRXdW5OS/vc4IU=", + "dev": true, + "requires": { + "adm-zip": "0.4.4", + "rimraf": "2.6.2", + "tmp": "0.0.24", + "ws": "1.1.2", + "xml2js": "0.4.4" + } + }, + "tmp": { + "version": "0.0.24", + "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.24.tgz", + "integrity": "sha1-1qXhmNFKmDXMby18PZ4wJCjIzxI=", + "dev": true + }, + "xml2js": { + "version": "0.4.4", + "resolved": "http://registry.npm.taobao.org/xml2js/download/xml2js-0.4.4.tgz", + "integrity": "sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0=", + "dev": true, + "requires": { + "sax": "0.6.1", + "xmlbuilder": "9.0.7" + } + } + } + }, + "webpack": { + "version": "4.8.3", + "resolved": "http://registry.npm.taobao.org/webpack/download/webpack-4.8.3.tgz", + "integrity": "sha1-lXyOgAAPnlzAPXdeeLRy2JVPTus=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/wasm-edit": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "acorn": "5.7.3", + "acorn-dynamic-import": "3.0.0", + "ajv": "6.4.0", + "ajv-keywords": "3.2.0", + "chrome-trace-event": "0.1.3", + "enhanced-resolve": "4.1.0", + "eslint-scope": "3.7.3", + "loader-runner": "2.3.1", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "neo-async": "2.5.2", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.7", + "tapable": "1.1.0", + "uglifyjs-webpack-plugin": "1.3.0", + "watchpack": "1.6.0", + "webpack-sources": "1.3.0" + } + }, + "webpack-core": { + "version": "0.6.9", + "resolved": "http://registry.npm.taobao.org/webpack-core/download/webpack-core-0.6.9.tgz", + "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", + "dev": true, + "requires": { + "source-list-map": "0.1.8", + "source-map": "0.4.4" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.8", + "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.4.0", + "resolved": "http://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.4.0.tgz", + "integrity": "sha1-ETL+zJAm/ZDw7O2sXL/3XR+0WJA=", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "2.3.1", + "range-parser": "1.2.0", + "webpack-log": "2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "http://registry.npm.taobao.org/mime/download/mime-2.3.1.tgz", + "integrity": "sha1-sWIcVNY7l8R9PP5/chX31kUXw2k=", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.1.9", + "resolved": "http://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.1.9.tgz", + "integrity": "sha1-izIWdiTS+v9A3O3Cy84X7R800+A=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "3.5.0", + "chokidar": "2.0.4", + "compression": "1.7.3", + "connect-history-api-fallback": "1.5.0", + "debug": "3.2.5", + "del": "3.0.0", + "express": "4.16.3", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.18.0", + "import-local": "2.0.0", + "internal-ip": "3.0.1", + "ip": "1.1.5", + "killable": "1.0.1", + "loglevel": "1.6.1", + "opn": "5.4.0", + "portfinder": "1.0.17", + "schema-utils": "1.0.0", + "selfsigned": "1.10.3", + "serve-index": "1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "5.5.0", + "webpack-dev-middleware": "3.4.0", + "webpack-log": "2.0.0", + "yargs": "12.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "debug": { + "version": "3.2.5", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.5.tgz", + "integrity": "sha1-wkGPv9ein01PcP9M6mBNS2TEZAc=", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-2.0.0.tgz", + "integrity": "sha1-ZW17vICUxMeI6lPFhAkIycfQY8c=", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "dev": true, + "requires": { + "invert-kv": "2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "3.0.0", + "path-exists": "3.0.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + }, + "os-locale": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-3.0.1.tgz", + "integrity": "sha1-OwFPvwHYf2Ch5TSNgP6HDcgsRiA=", + "dev": true, + "requires": { + "execa": "0.10.0", + "lcid": "2.0.0", + "mem": "4.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/p-limit/download/p-limit-2.0.0.tgz", + "integrity": "sha1-5iTtVO6MRgp3izyfNnBJb/ileuw=", + "dev": true, + "requires": { + "p-try": "2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/p-try/download/p-try-2.0.0.tgz", + "integrity": "sha1-hQgLuHxkaI+keZb+j3376CEXYLE=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "6.4.0", + "ajv-errors": "1.0.0", + "ajv-keywords": "3.2.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "12.0.2", + "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-12.0.2.tgz", + "integrity": "sha1-/lgjQ2k5KvM+y+9TgZFx7/D1qtw=", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "2.0.0", + "find-up": "3.0.0", + "get-caller-file": "1.0.3", + "os-locale": "3.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "4.0.0", + "yargs-parser": "10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", + "dev": true, + "requires": { + "ansi-colors": "3.1.0", + "uuid": "3.3.2" + } + }, + "webpack-merge": { + "version": "4.1.4", + "resolved": "http://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.1.4.tgz", + "integrity": "sha1-D9446r8tX9hSUcJKWoxI+KP063s=", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.3.0.tgz", + "integrity": "sha1-KijcufH0X+lg2PFJMlK17mUw+oU=", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "webpack-subresource-integrity": { + "version": "1.1.0-rc.7", + "resolved": "http://registry.npm.taobao.org/webpack-subresource-integrity/download/webpack-subresource-integrity-1.1.0-rc.7.tgz", + "integrity": "sha1-bc45iXSEqkkUVgiD9VG2mq2TpAg=", + "dev": true, + "requires": { + "webpack-core": "0.6.9" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "http://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.4.13", + "websocket-extensions": "0.1.3" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "http://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz", + "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", + "dev": true + }, + "when": { + "version": "3.6.4", + "resolved": "http://registry.npm.taobao.org/when/download/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz", + "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", + "dev": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "worker-farm": { + "version": "1.6.0", + "resolved": "http://registry.npm.taobao.org/worker-farm/download/worker-farm-1.6.0.tgz", + "integrity": "sha1-rsxAWXb6talVJhgIRvDboojzpKA=", + "dev": true, + "requires": { + "errno": "0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/ws/download/ws-1.1.2.tgz", + "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=", + "dev": true, + "requires": { + "options": "0.0.6", + "ultron": "1.0.2" + } + }, + "wtf-8": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/wtf-8/download/wtf-8-1.0.0.tgz", + "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", + "dev": true + }, + "xml2js": { + "version": "0.4.19", + "resolved": "http://registry.npm.taobao.org/xml2js/download/xml2js-0.4.19.tgz", + "integrity": "sha1-aGwg8hMgnpSr8NG88e+qKRx4J6c=", + "dev": true, + "requires": { + "sax": "1.2.4", + "xmlbuilder": "9.0.7" + }, + "dependencies": { + "sax": { + "version": "1.2.4", + "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + } + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "http://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xmlhttprequest-ssl": { + "version": "1.5.3", + "resolved": "http://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.3.tgz", + "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", + "dev": true + }, + "xregexp": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/xregexp/download/xregexp-4.0.0.tgz", + "integrity": "sha1-5pgYneSd0qGMxWh7BeF8jkOUMCA=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "xxhashjs": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/xxhashjs/download/xxhashjs-0.2.2.tgz", + "integrity": "sha1-imJRVnYhocRqWuIE2gJJx/jKqdg=", + "dev": true, + "requires": { + "cuint": "0.2.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "optional": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true, + "optional": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "optional": true + } + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + }, + "yn": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/yn/download/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true + }, + "zone.js": { + "version": "0.8.26", + "resolved": "http://registry.npm.taobao.org/zone.js/download/zone.js-0.8.26.tgz", + "integrity": "sha1-e91y92aMWnrWsRgUi06jnFnQjS0=" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..91ba889 --- /dev/null +++ b/package.json @@ -0,0 +1,52 @@ +{ + "name": "gzzn-admin", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "ng lint", + "e2e": "ng e2e" + }, + "private": true, + "dependencies": { + "@angular/animations": "^6.0.0", + "@angular/common": "^6.0.0", + "@angular/compiler": "^6.0.0", + "@angular/core": "^6.0.0", + "@angular/forms": "^6.0.0", + "@angular/http": "^6.0.0", + "@angular/platform-browser": "^6.0.0", + "@angular/platform-browser-dynamic": "^6.0.0", + "@angular/router": "^6.0.0", + "bootstrap": "^4.1.3", + "core-js": "^2.5.4", + "font-awesome": "^4.7.0", + "jquery": "^3.3.1", + "rxjs": "^6.0.0", + "zone.js": "^0.8.26" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~0.6.1", + "@angular/cli": "~6.0.1", + "@angular/compiler-cli": "^6.0.0", + "@angular/language-service": "^6.0.0", + "@types/jasmine": "~2.8.6", + "@types/jasminewd2": "~2.0.3", + "@types/jquery": "^3.3.14", + "@types/node": "~8.9.4", + "codelyzer": "~4.2.1", + "jasmine-core": "~2.99.1", + "jasmine-spec-reporter": "~4.2.1", + "karma": "~1.7.1", + "karma-chrome-launcher": "~2.2.0", + "karma-coverage-istanbul-reporter": "~1.4.2", + "karma-jasmine": "~1.1.1", + "karma-jasmine-html-reporter": "^0.2.2", + "protractor": "~5.3.0", + "ts-node": "~5.0.1", + "tslint": "~5.9.1", + "typescript": "~2.7.2" + } +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..fad259a --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,40 @@ +import { NgModule } from '@angular/core'; +/* 引入路由模块 */ +import { RouterModule, Routes } from '@angular/router'; + +/* 引入预加载策略 */ +import { SelectivePreloadingStrategy } from './preloading-strategy'; + +/* 引入路由权限控制 */ +import {LoginAuthService} from './services/login-auth.service' + + +/* 定义路由 */ +const appRoutes: Routes = [ + { path: '', redirectTo: '/login', pathMatch: 'full' }, + { + path: 'login', + loadChildren: './login/login.module#LoginModule', + canActivate:[LoginAuthService], + }, + { + path: 'register', + loadChildren: './register/register.module#RegisterModule', + // data: { preload: false } + }, + { + path: 'app', + loadChildren: './pages/pages.module#PagesModule', + canActivate:[LoginAuthService], + data: { preload: false } + } +] + +@NgModule({ + imports: [RouterModule.forRoot(appRoutes, { preloadingStrategy: SelectivePreloadingStrategy, useHash: true })], + exports: [ + RouterModule + ] +}) + +export class AppRoutingModule { } \ No newline at end of file diff --git a/src/app/app.component.scss b/src/app/app.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts new file mode 100644 index 0000000..bcbdf36 --- /dev/null +++ b/src/app/app.component.spec.ts @@ -0,0 +1,27 @@ +import { TestBed, async } from '@angular/core/testing'; +import { AppComponent } from './app.component'; +describe('AppComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent + ], + }).compileComponents(); + })); + it('should create the app', async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); + it(`should have as title 'app'`, async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app.title).toEqual('app'); + })); + it('should render title in a h1 tag', async(() => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('Welcome to app!'); + })); +}); diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 0000000..8f4f494 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + template: ` + + + `, +}) +export class AppComponent { + title = 'app'; +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 0000000..74a78cd --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,44 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations' +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common' +import { HttpClientModule } from '@angular/common/http' + +import { AppRoutingModule } from './app-routing.module' + +import { AppComponent } from './app.component'; + +/** http */ +import { HttpService } from './services/http.service' +import { HttpClientService } from './services/http-client.service' + +/* 消息提示 */ +import { ToastModule } from './components/toast/toast.module' + +/* 预加载策略 */ +import { SelectivePreloadingStrategy } from './preloading-strategy'; + +/* 路由权限控制 */ +import { LoginAuthService } from './services/login-auth.service'; + +@NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + HttpClientModule, + ToastModule, + AppRoutingModule + ], + providers: [ + SelectivePreloadingStrategy, + LoginAuthService, + HttpService, + HttpClientService + ], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/src/app/components/bar-menu/bar-menu.component.html b/src/app/components/bar-menu/bar-menu.component.html new file mode 100644 index 0000000..cc90e1c --- /dev/null +++ b/src/app/components/bar-menu/bar-menu.component.html @@ -0,0 +1,9 @@ + diff --git a/src/app/components/bar-menu/bar-menu.component.scss b/src/app/components/bar-menu/bar-menu.component.scss new file mode 100644 index 0000000..44d6de0 --- /dev/null +++ b/src/app/components/bar-menu/bar-menu.component.scss @@ -0,0 +1,58 @@ +@import "../../theme/scss/variables.scss"; + +.bar-menu { + list-style: none; + font-size: 16px; + padding: 0; + margin: 0; + a { + color: $color-gray-deep; + text-decoration: none; + border: 0px; + } + & > li { + position: relative; + margin: 0; + // padding: 0 10px; + background: rgb(46, 59, 76); + border-top: 2px solid rgb(34, 49, 68); + // box-shadow: 1px 2px 6px rgba(0, 0, 0, 0.03); + &:hover { + & > a { + color: $color-gray-deep; + border: 0px; + } + } + &.active { + & > a { + color: $color-gray-deep; + border: 0px; + } + } + & > a { + padding: 8px 5px 8px 60px; + display: block; + border-left: 3px solid transparent; + color: $color-gray-deep; + border: 0px; + &:hover { + color: $color-white; + -webkit-transition: 0.3s; + transition: 0.3s; + -moz-transition: 0.3s; + -webkit-transition: 0.3s; + -o-transition: 0.3s; + cursor: pointer; + filter: alpha(opacity=35); + -moz-opacity: 0.35; + opacity: 0.35; + margin-left: 5px; + } + & > .fa { + &::before { + width: 25px; + } + } + } + } +} diff --git a/src/app/components/bar-menu/bar-menu.component.spec.ts b/src/app/components/bar-menu/bar-menu.component.spec.ts new file mode 100644 index 0000000..0f7c9e1 --- /dev/null +++ b/src/app/components/bar-menu/bar-menu.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BarMenuComponent } from './bar-menu.component'; + +describe('BarMenuComponent', () => { + let component: BarMenuComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BarMenuComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BarMenuComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/bar-menu/bar-menu.component.ts b/src/app/components/bar-menu/bar-menu.component.ts new file mode 100644 index 0000000..2396e1c --- /dev/null +++ b/src/app/components/bar-menu/bar-menu.component.ts @@ -0,0 +1,34 @@ +import { Component, OnInit, Input } from '@angular/core'; + +@Component({ + selector: 'app-bar-menu', + templateUrl: './bar-menu.component.html', + styleUrls: ['./bar-menu.component.scss'] +}) +export class BarMenuComponent implements OnInit { + + @Input() data: Array; + constructor() { } + + ngOnInit() { + } + + /** + * 判断是否有子节点 + * @param item + */ + isLeaf(item: any) { + return !item.children || !item.children.length; + } + + /** + * 菜单点击事件 + * @param item + */ + itemClicked(item: any) { + if (!this.isLeaf(item)) { + item.isExpend = !item.isExpend; + } + } + +} diff --git a/src/app/components/bar-menu/bar-menu.module.spec.ts b/src/app/components/bar-menu/bar-menu.module.spec.ts new file mode 100644 index 0000000..b7eef5e --- /dev/null +++ b/src/app/components/bar-menu/bar-menu.module.spec.ts @@ -0,0 +1,13 @@ +import { BarMenuModule } from './bar-menu.module'; + +describe('BarMenuModule', () => { + let barMenuModule: BarMenuModule; + + beforeEach(() => { + barMenuModule = new BarMenuModule(); + }); + + it('should create an instance', () => { + expect(barMenuModule).toBeTruthy(); + }); +}); diff --git a/src/app/components/bar-menu/bar-menu.module.ts b/src/app/components/bar-menu/bar-menu.module.ts new file mode 100644 index 0000000..cf904d6 --- /dev/null +++ b/src/app/components/bar-menu/bar-menu.module.ts @@ -0,0 +1,12 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { BarMenuComponent } from './bar-menu.component'; + +@NgModule({ + imports: [ + CommonModule + ], + declarations: [BarMenuComponent], + exports: [BarMenuComponent] +}) +export class BarMenuModule { } diff --git a/src/app/components/components.module.spec.ts b/src/app/components/components.module.spec.ts new file mode 100644 index 0000000..6f2deef --- /dev/null +++ b/src/app/components/components.module.spec.ts @@ -0,0 +1,13 @@ +import { ComponentsModule } from './components.module'; + +describe('ComponentsModule', () => { + let componentsModule: ComponentsModule; + + beforeEach(() => { + componentsModule = new ComponentsModule(); + }); + + it('should create an instance', () => { + expect(componentsModule).toBeTruthy(); + }); +}); diff --git a/src/app/components/components.module.ts b/src/app/components/components.module.ts new file mode 100644 index 0000000..73d060f --- /dev/null +++ b/src/app/components/components.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { PageTopModule } from './page-top/page-top.module' //头部 +import { ToastModule } from './toast/toast.module' //消息提示 +import { SidebarMenuModule } from './sidebar-menu/sidebar-menu.module' + +@NgModule({ + imports: [ + CommonModule, + PageTopModule, + ToastModule, + SidebarMenuModule, + ], + declarations: [], + exports: [ + PageTopModule, + ToastModule, + SidebarMenuModule, + ] +}) +export class ComponentsModule { } diff --git a/src/app/components/page-top/page-top.component.html b/src/app/components/page-top/page-top.component.html new file mode 100644 index 0000000..57f9706 --- /dev/null +++ b/src/app/components/page-top/page-top.component.html @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/src/app/components/page-top/page-top.component.scss b/src/app/components/page-top/page-top.component.scss new file mode 100644 index 0000000..c226816 --- /dev/null +++ b/src/app/components/page-top/page-top.component.scss @@ -0,0 +1,50 @@ +@import "../../theme/scss/variables"; +.navbar { + height: 66px; + .nav-icon { + padding: 0.1rem 0.75rem; + cursor: pointer; + display: block; + font-size: 1.5rem; + transition: color 0.1s ease-in-out, color 0.1s ease-in-out; + &:hover { + color: $white; + .icon-container { + > span { + top: -7px; + } + } + } + .icon-container { + position: relative; + > span { + background: $red; + box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05); + border-radius: 50%; + display: block; + height: 18px; + width: 18px; + padding: 1px; + position: absolute; + top: -4px; + right: -8px; + text-align: center; + transition: top 0.1s ease-out; + font-size: 0.675rem; + color: #fff; + } + } + } + .user-info { + cursor: pointer; + .user-container { + > img { + width: 40px; + height: 40px; + border-radius: 50%; + margin-top: -15px; + margin-bottom: -15px; + } + } + } +} diff --git a/src/app/components/page-top/page-top.component.spec.ts b/src/app/components/page-top/page-top.component.spec.ts new file mode 100644 index 0000000..65185d6 --- /dev/null +++ b/src/app/components/page-top/page-top.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PageTopComponent } from './page-top.component'; + +describe('PageTopComponent', () => { + let component: PageTopComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PageTopComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PageTopComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/page-top/page-top.component.ts b/src/app/components/page-top/page-top.component.ts new file mode 100644 index 0000000..ff2d693 --- /dev/null +++ b/src/app/components/page-top/page-top.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-page-top', + templateUrl: './page-top.component.html', + styleUrls: ['./page-top.component.scss'] +}) +export class PageTopComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/components/page-top/page-top.module.spec.ts b/src/app/components/page-top/page-top.module.spec.ts new file mode 100644 index 0000000..5677abe --- /dev/null +++ b/src/app/components/page-top/page-top.module.spec.ts @@ -0,0 +1,13 @@ +import { PageTopModule } from './page-top.module'; + +describe('PageTopModule', () => { + let pageTopModule: PageTopModule; + + beforeEach(() => { + pageTopModule = new PageTopModule(); + }); + + it('should create an instance', () => { + expect(pageTopModule).toBeTruthy(); + }); +}); diff --git a/src/app/components/page-top/page-top.module.ts b/src/app/components/page-top/page-top.module.ts new file mode 100644 index 0000000..67fce0a --- /dev/null +++ b/src/app/components/page-top/page-top.module.ts @@ -0,0 +1,12 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { PageTopComponent } from './page-top.component'; + +@NgModule({ + imports: [ + CommonModule + ], + declarations: [PageTopComponent], + exports: [PageTopComponent] +}) +export class PageTopModule { } diff --git a/src/app/components/sidebar-menu/sidebar-menu.component.html b/src/app/components/sidebar-menu/sidebar-menu.component.html new file mode 100644 index 0000000..50f4415 --- /dev/null +++ b/src/app/components/sidebar-menu/sidebar-menu.component.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/src/app/components/sidebar-menu/sidebar-menu.component.scss b/src/app/components/sidebar-menu/sidebar-menu.component.scss new file mode 100644 index 0000000..7ae5039 --- /dev/null +++ b/src/app/components/sidebar-menu/sidebar-menu.component.scss @@ -0,0 +1,58 @@ +@import "../../theme/scss/variables.scss"; + +.sidebar-menu { + list-style: none; + margin: 0; + padding: 0; + font-size: 20px; + a { + color: $color-gray-deep; + text-decoration: none; + border: 0px; + } + & > li { + position: relative; + margin: 0; + // padding: 0 10px; + background: rgb(50, 65, 84); + border-bottom: 2px solid rgb(34, 49, 68); + // box-shadow: 1px 2px 6px rgba(0, 0, 0, 0.03); + &:hover { + & > a { + color: $color-gray-deep; + border: 0px; + } + } + &.active { + & > a { + color: $color-gray-deep; + border: 0px; + } + } + & > a { + padding: 8px 5px 8px 25px; + display: block; + border-left: 3px solid transparent; + color: $color-gray-deep; + border: 0px; + &:hover { + color: $color-white; + -webkit-transition: 0.3s; + transition: 0.3s; + -moz-transition: 0.3s; + -webkit-transition: 0.3s; + -o-transition: 0.3s; + cursor: pointer; + filter: alpha(opacity=35); + -moz-opacity: 0.35; + opacity: 0.35; + margin-left: 5px; + } + & > .fa { + &::before{ + width: 25px; + } + } + } + } +} diff --git a/src/app/components/sidebar-menu/sidebar-menu.component.spec.ts b/src/app/components/sidebar-menu/sidebar-menu.component.spec.ts new file mode 100644 index 0000000..485b812 --- /dev/null +++ b/src/app/components/sidebar-menu/sidebar-menu.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SidebarMenuComponent } from './sidebar-menu.component'; + +describe('SidebarMenuComponent', () => { + let component: SidebarMenuComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SidebarMenuComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SidebarMenuComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/sidebar-menu/sidebar-menu.component.ts b/src/app/components/sidebar-menu/sidebar-menu.component.ts new file mode 100644 index 0000000..e1e0693 --- /dev/null +++ b/src/app/components/sidebar-menu/sidebar-menu.component.ts @@ -0,0 +1,36 @@ +import { Component, OnInit,Input } from '@angular/core'; + +@Component({ + selector: 'app-sidebar-menu', + templateUrl: './sidebar-menu.component.html', + styleUrls: ['./sidebar-menu.component.scss'] +}) +export class SidebarMenuComponent implements OnInit { + //输入数据 + @Input() data: Array; + + constructor() { } + + ngOnInit() { + + } + + /** + * 判断是否有子节点 + * @param item + */ + isLeaf(item: any) { + return !item.children || !item.children.length; + } + + /** + * 菜单点击事件 + * @param item + */ + itemClicked(item: any) { + if (!this.isLeaf(item)) { + item.isExpend = !item.isExpend; + } + } + +} diff --git a/src/app/components/sidebar-menu/sidebar-menu.module.spec.ts b/src/app/components/sidebar-menu/sidebar-menu.module.spec.ts new file mode 100644 index 0000000..78e8498 --- /dev/null +++ b/src/app/components/sidebar-menu/sidebar-menu.module.spec.ts @@ -0,0 +1,13 @@ +import { SidebarMenuModule } from './sidebar-menu.module'; + +describe('SidebarMenuModule', () => { + let sidebarMenuModule: SidebarMenuModule; + + beforeEach(() => { + sidebarMenuModule = new SidebarMenuModule(); + }); + + it('should create an instance', () => { + expect(sidebarMenuModule).toBeTruthy(); + }); +}); diff --git a/src/app/components/sidebar-menu/sidebar-menu.module.ts b/src/app/components/sidebar-menu/sidebar-menu.module.ts new file mode 100644 index 0000000..d5bc894 --- /dev/null +++ b/src/app/components/sidebar-menu/sidebar-menu.module.ts @@ -0,0 +1,14 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { SidebarMenuComponent } from './sidebar-menu.component'; +import { BarMenuModule } from '../bar-menu/bar-menu.module' + +@NgModule({ + imports: [ + CommonModule, + BarMenuModule + ], + declarations: [SidebarMenuComponent], + exports: [SidebarMenuComponent] +}) +export class SidebarMenuModule { } diff --git a/src/app/components/toast/toast-box.component.html b/src/app/components/toast/toast-box.component.html new file mode 100644 index 0000000..b938517 --- /dev/null +++ b/src/app/components/toast/toast-box.component.html @@ -0,0 +1,5 @@ +
+
+ +
+
\ No newline at end of file diff --git a/src/app/components/toast/toast-box.component.scss b/src/app/components/toast/toast-box.component.scss new file mode 100644 index 0000000..35f1c68 --- /dev/null +++ b/src/app/components/toast/toast-box.component.scss @@ -0,0 +1,36 @@ +.toast-container { + position: absolute; + z-index: 22222; + margin-top:10px; + width:450px; + } + + .toast-top-left{ + left: 10px; + top:75px; + } + + .toast-top-center{ + top:75px; + left: -moz-calc( 50% - 225px); + left: -webkit-calc( 50% - 225px); + left: calc( 50% - 225px); + } + + .toast-top-right{ + top:75px; + right: 10px + } + + + .toast-bottom-right{ + right: 75px; + bottom:0; + } + + .toast-bottom-left{ + left: 10px; + bottom:0; + } + + \ No newline at end of file diff --git a/src/app/components/toast/toast-box.component.spec.ts b/src/app/components/toast/toast-box.component.spec.ts new file mode 100644 index 0000000..2d84204 --- /dev/null +++ b/src/app/components/toast/toast-box.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ToastBoxComponent } from './toast-box.component'; + +describe('ToastBoxComponent', () => { + let component: ToastBoxComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ToastBoxComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ToastBoxComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/toast/toast-box.component.ts b/src/app/components/toast/toast-box.component.ts new file mode 100644 index 0000000..c5c02d0 --- /dev/null +++ b/src/app/components/toast/toast-box.component.ts @@ -0,0 +1,68 @@ +import {Component, Input, OnInit} from '@angular/core'; +import {trigger, transition, style, animate, state} from '@angular/animations' +import {ToastService} from './toast.service'; +import {ToastConfig} from './toast-model'; +// import { from } from 'rxjs'; + +/** + * toast外层组件 + */ +@Component({ + selector: 'toast-box', + templateUrl : './toast-box.component.html', + styleUrls:['./toast-box.component.scss'], + animations: [ + trigger('animation', [ + state('none', style({})), + state('decent', style([{opacity: 1}, {maxWidth: 450}])), + state('fancy', style([{transform: 'translateX(0)'},{transform: 'translateY(0)'}, {opacity: 1}, {maxWidth: 450}])), + transition('void => fancy', [ + style({opacity: 0, maxWidth: 450, transform: 'translateX(100%)'}), + animate('300ms ease-in-out') + ]), + transition('fancy => void', [ + animate('300ms ease-in-out', style({transform: 'translateX(100%)', height: 0, opacity: 0})) + ]), + transition('void => decent', [ + style({opacity: 0, maxWidth: 0}), + animate('300ms ease-in-out') + ]), + transition('decent => void', [ + animate('300ms ease-in-out', style({width: 0, opacity: 0})) + ]) + ]) + ] +}) +export class ToastBoxComponent implements OnInit { + @Input() toastAnimation: string = 'none'; + @Input() toastPosition: string = 'toast-top-center'; + + private toastConfigs: Array = []; + + constructor(private toastService: ToastService) { + this.toastService.getToasts().forEach((config: ToastConfig) => { + this.toastConfigs.unshift(config); + }); + } + + ngOnInit() { + + } + + /** + * 获得所有toast配置 + */ + getToastConfigs(): Array { + return this.toastConfigs; + } + + /** + * 移除 + * @param toastCfg + */ + remove(toastCfg: ToastConfig) { + if(this.toastConfigs.indexOf(toastCfg) >= 0) { + this.toastConfigs.splice(this.toastConfigs.indexOf(toastCfg), 1); + } + } +} diff --git a/src/app/components/toast/toast-model.ts b/src/app/components/toast/toast-model.ts new file mode 100644 index 0000000..4c115f3 --- /dev/null +++ b/src/app/components/toast/toast-model.ts @@ -0,0 +1,57 @@ +/** + * 类型 + */ +export enum ToastType { + SUCCESS, INFO, WARNING, ERROR +} + + +/** + * 配置 + */ +export class ToastConfig { + toastType: ToastType; + text: string; + textStrong: string; + autoDismissTime: number; + dismissable: boolean; + + + constructor(toastType: ToastType, textStrong: string = '', text: string = '', autoDismissTime = 0, dismissable = true) { + this.toastType = toastType; + this.text = text; + this.textStrong = textStrong; + this.autoDismissTime = autoDismissTime; + this.dismissable = dismissable; + } + + getToastType(): ToastType { + return this.toastType; + } + + getText(): string { + return this.text; + } + + getTextStrong(): string { + return this.textStrong; + } + + getAutoDismissTime(): number { + return this.autoDismissTime; + } + + getDismissable(): boolean { + return this.dismissable; + } + + + isDismissable() { + return this.autoDismissTime === 0 || this.dismissable; + } + + isAutoDismissing() { + return this.autoDismissTime > 0; + } +} + diff --git a/src/app/components/toast/toast.component.html b/src/app/components/toast/toast.component.html new file mode 100644 index 0000000..24eba94 --- /dev/null +++ b/src/app/components/toast/toast.component.html @@ -0,0 +1,8 @@ +
+ + + {{config.textStrong}}{{config.text}} +
+ \ No newline at end of file diff --git a/src/app/components/toast/toast.component.scss b/src/app/components/toast/toast.component.scss new file mode 100644 index 0000000..04e88c1 --- /dev/null +++ b/src/app/components/toast/toast.component.scss @@ -0,0 +1,9 @@ +.toast{ + border:0px; + -webkit-box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.3); + box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.3); + -moz-box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.3); + border-radius: 20px; + } + + diff --git a/src/app/components/toast/toast.component.spec.ts b/src/app/components/toast/toast.component.spec.ts new file mode 100644 index 0000000..ab7e70d --- /dev/null +++ b/src/app/components/toast/toast.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ToastComponent } from './toast.component'; + +describe('ToastComponent', () => { + let component: ToastComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ToastComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ToastComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/toast/toast.component.ts b/src/app/components/toast/toast.component.ts new file mode 100644 index 0000000..8ada579 --- /dev/null +++ b/src/app/components/toast/toast.component.ts @@ -0,0 +1,72 @@ +import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core'; +import {ToastConfig,ToastType} from './toast-model'; + +/** + * toast组件 + */ +@Component({ + selector: 'toast', + templateUrl : './toast.component.html', + styleUrls:['./toast.component.scss'] + }) +export class ToastComponent implements OnInit { + + @Input() config = new ToastConfig(ToastType.INFO, '', ''); + + @Output() dismissed = new EventEmitter(); + + constructor() { + + } + + ngOnInit() { + //自动关闭 + if (this.config.isAutoDismissing()) { + setTimeout(() => this.dismiss(), this.config.getAutoDismissTime()); + } + } + + /** + * 判断是成功 + */ + isSuccess() { + return this.config.getToastType() === ToastType.SUCCESS; + } + + /** + * 判断是信息 + */ + isInfo() { + return this.config.getToastType() === ToastType.INFO; + } + + /** + * 判断是警告 + */ + isWarning() { + return this.config.getToastType() === ToastType.WARNING; + } + + /** + * 判断是错误 + */ + isError() { + return this.config.getToastType() === ToastType.ERROR; + } + + /** + * 解除 + */ + dismiss() { + this.dismissed.emit(); + } + + /** + * 是否启用 + */ + isDismissEnabled() { + return this.config.isDismissable(); + } + + +} diff --git a/src/app/components/toast/toast.module.ts b/src/app/components/toast/toast.module.ts new file mode 100644 index 0000000..32cd78a --- /dev/null +++ b/src/app/components/toast/toast.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { ToastBoxComponent } from './toast-box.component'; +import { ToastComponent } from './toast.component'; +import { ToastService } from './toast.service' + + +@NgModule({ + imports: [ + CommonModule, + ], + declarations: [ + ToastBoxComponent, + ToastComponent + ], + providers: [ + ToastService + ], + exports: [ + ToastBoxComponent, + ToastComponent + ] +}) +export class ToastModule { } diff --git a/src/app/components/toast/toast.service.spec.ts b/src/app/components/toast/toast.service.spec.ts new file mode 100644 index 0000000..3fd5c4f --- /dev/null +++ b/src/app/components/toast/toast.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { ToastService } from './toast.service'; + +describe('ToastService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [ToastService] + }); + }); + + it('should be created', inject([ToastService], (service: ToastService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/app/components/toast/toast.service.ts b/src/app/components/toast/toast.service.ts new file mode 100644 index 0000000..4ae8f13 --- /dev/null +++ b/src/app/components/toast/toast.service.ts @@ -0,0 +1,24 @@ +import {Injectable} from '@angular/core'; +import {Observable,Subject} from 'rxjs'; +import {ToastConfig} from './toast-model'; + +/** + * toast服务 + */ +@Injectable() +export class ToastService { + + private toastSubject = new Subject(); + + constructor() {} + + getToasts(): Observable { + return this.toastSubject; + } + + + toast(toastConfig: ToastConfig) { + this.toastSubject.next(toastConfig); + } + +} diff --git a/src/app/login/login-routing.module.ts b/src/app/login/login-routing.module.ts new file mode 100644 index 0000000..f3c9374 --- /dev/null +++ b/src/app/login/login-routing.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core' +import { RouterModule, Routes } from '@angular/router' + +import { LoginComponent } from './login.component' + +const loginRoutes: Routes = [ + { + path: '', + component: LoginComponent + } +] + +@NgModule({ + imports: [ + RouterModule.forChild(loginRoutes) + ], + exports: [RouterModule] +}) + +export class LoginRoutingModule { } \ No newline at end of file diff --git a/src/app/login/login.component.html b/src/app/login/login.component.html new file mode 100644 index 0000000..1eb9de9 --- /dev/null +++ b/src/app/login/login.component.html @@ -0,0 +1,39 @@ + \ No newline at end of file diff --git a/src/app/login/login.component.scss b/src/app/login/login.component.scss new file mode 100644 index 0000000..c104971 --- /dev/null +++ b/src/app/login/login.component.scss @@ -0,0 +1,65 @@ +@import "../theme/scss/variables.scss"; + +.login-container { + width: 100%; + height: 100%; + padding-top: 10%; + background-image: url("../../assets/images/blur-bg-blurred.jpg"); + background-repeat: no-repeat; + background-size: cover; + .login-panel { + width: 410px; + height: 380px; + margin: 0 auto; + > .card-header { + background: none; + > .login-header { + text-align: center; + img { + width: 32px; + height: 32px; + vertical-align: -7px; + margin-right: 12px; + } + h2 { + display: inline-block; + } + } + } + > .card-body { + .form-control { + height: 41px; + } + .submit-btn { + width: 100%; + background-color: $color-secondary; + border-color: $color-secondary; + color: $white; + &:hover { + background: $color-primary; + border-color: 1px solid $color-primary; + } + } + a:hover { + text-decoration: none; + } + .copy-right { + color: $gray-600; + } + } + } + .sys-desc { + width: 410px; + margin: 0 auto; + color: $gray-200; + } +} + +.validator { + color: $white; + background: $bootstrap-danger; + padding-left: 5px; + padding-right: 5px; + padding-top: 3px; + padding-bottom: 3px; +} diff --git a/src/app/login/login.component.spec.ts b/src/app/login/login.component.spec.ts new file mode 100644 index 0000000..d6d85a8 --- /dev/null +++ b/src/app/login/login.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoginComponent } from './login.component'; + +describe('LoginComponent', () => { + let component: LoginComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ LoginComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(LoginComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts new file mode 100644 index 0000000..72eb3b9 --- /dev/null +++ b/src/app/login/login.component.ts @@ -0,0 +1,40 @@ +import { Component, OnInit } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms' + +import { Router, ActivatedRoute } from '@angular/router' + +import { ToastService } from '../components/toast/toast.service'; +import { ToastConfig, ToastType } from '../components/toast/toast-model'; + +@Component({ + selector: 'app-login', + templateUrl: './login.component.html', + styleUrls: ['./login.component.scss'] +}) +export class LoginComponent implements OnInit { + + constructor( + private formBuilder: FormBuilder, + private router: Router, + private route: ActivatedRoute, + private toastService: ToastService, + ) { } + + loginForm: FormGroup = this.formBuilder.group({ + 'userName': ['gzznadmin', [Validators.required, Validators.minLength(6), Validators.maxLength(15)]], + 'password': ['gzznadmin', [Validators.required, Validators.minLength(6), Validators.maxLength(15)]] + }) + + ngOnInit() { + } + + _submit() { + let date = new Date() + date.setTime(date.getTime() + 10 * 60 * 1000) + document.cookie = 'token=cnlpYWRtaW4lM0FyeWlhZG1pbg==;path=/;expires=' + date.toUTCString() + + const toastCfg = new ToastConfig(ToastType.SUCCESS, '', '登录成功!', 3000); + this.toastService.toast(toastCfg); + this.router.navigate(['../app'], { relativeTo: this.route }) + } +} diff --git a/src/app/login/login.module.spec.ts b/src/app/login/login.module.spec.ts new file mode 100644 index 0000000..b200c0b --- /dev/null +++ b/src/app/login/login.module.spec.ts @@ -0,0 +1,13 @@ +import { LoginModule } from './login.module'; + +describe('LoginModule', () => { + let loginModule: LoginModule; + + beforeEach(() => { + loginModule = new LoginModule(); + }); + + it('should create an instance', () => { + expect(loginModule).toBeTruthy(); + }); +}); diff --git a/src/app/login/login.module.ts b/src/app/login/login.module.ts new file mode 100644 index 0000000..3305320 --- /dev/null +++ b/src/app/login/login.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule,ReactiveFormsModule } from '@angular/forms' +import { LoginRoutingModule } from './login-routing.module' +import { LoginComponent } from './login.component'; + + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + LoginRoutingModule + ], + declarations: [LoginComponent] +}) +export class LoginModule { } diff --git a/src/app/pages/main/main-routing.module.ts b/src/app/pages/main/main-routing.module.ts new file mode 100644 index 0000000..952014b --- /dev/null +++ b/src/app/pages/main/main-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core' +import { RouterModule, Routes } from '@angular/router' + +import { MainComponent } from './main.component' +const mainRoutes: Routes = [ + { + path: '', + component: MainComponent + } +] + +@NgModule({ + imports: [RouterModule.forChild(mainRoutes)], + exports: [RouterModule] +}) + +export class MainRoutingModule { } \ No newline at end of file diff --git a/src/app/pages/main/main.component.html b/src/app/pages/main/main.component.html new file mode 100644 index 0000000..472d1af --- /dev/null +++ b/src/app/pages/main/main.component.html @@ -0,0 +1,126 @@ +
+
+
+
+
+ + + + +
+
+ + + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + + + + +
+
+
+
+ + + + + + + + + + + + + +
序号{{airline_col.COL_CN}}
{{i+1}}{{airline_row[airline_col.COL_CODE]}}
+
+
+
+
\ No newline at end of file diff --git a/src/app/pages/main/main.component.scss b/src/app/pages/main/main.component.scss new file mode 100644 index 0000000..fa34e9b --- /dev/null +++ b/src/app/pages/main/main.component.scss @@ -0,0 +1,63 @@ +.main-page { + width: 100%; + height: calc(100% - 66px); + padding: 15px 10px; + background-color: #fff; + .page-content { + border: 1px solid #ccc; + padding: 10px 20px; + .search-filter { + padding: 0 15px; + .first-condition { + .line-operator-right { + text-align: right; + padding: 0; + .btn-info { + background-color: rgb(122, 156, 204); + border-color: rgb(122, 156, 204); + } + } + } + .input-container { + padding: 0; + > .form-control { + width: 180px; + display: inline-block; + } + } + } + .airline-table{ + .table-container{ + border: 1px solid #ccc; + width: 100%; + height: 700px; + overflow: scroll; + table{ + width: auto; + tr{ + cursor: pointer; + &.active{ + background: rgb(181, 215, 255); + } + } + th,td{ + border: none; + text-align: center; + } + } + } + } + } +} + +@media screen and (max-width: 991px) { + .line-operator-right { + text-align: left !important; + } +} + +// @media screen and (min-width: 1200px){ +// .line-operator-right{ +// text-align: left; +// } +// } diff --git a/src/app/pages/main/main.component.spec.ts b/src/app/pages/main/main.component.spec.ts new file mode 100644 index 0000000..0878044 --- /dev/null +++ b/src/app/pages/main/main.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MainComponent } from './main.component'; + +describe('MainComponent', () => { + let component: MainComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ MainComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MainComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts new file mode 100644 index 0000000..1bde3ed --- /dev/null +++ b/src/app/pages/main/main.component.ts @@ -0,0 +1,66 @@ +import { Component, OnInit } from '@angular/core'; + +import { HttpClientService } from '../../services/http-client.service'; + +@Component({ + selector: 'app-main', + templateUrl: './main.component.html', + styleUrls: ['./main.component.scss'] +}) +export class MainComponent implements OnInit { + public airline_col_lists: Array; + public airline_row_lists: Array = []; + public airline_color: Array = []; + public row_state: number; + + + constructor( + private httpCilent: HttpClientService + ) { } + + ngOnInit() { + /* 获取显示列 */ + this.httpCilent.get('/assets/mock-data/airline-col_code.json').subscribe( + data => { + data.sort(function (a, b) { + return (a['COL_ORDER'] - b['COL_ORDER']); + }) + this.airline_col_lists = data; + } + ) + /* 获取航班动态信息 */ + this.httpCilent.get('/assets/mock-data/airline-data.json').subscribe( + data => { + this.airline_row_lists = [] + data.forEach(element => { + this.airline_row_lists.push(JSON.parse(element.value)); + }); + } + ) + /* 获取颜色数据 */ + // this.httpCilent.get('/assets/mock-data/airline-color.json').subscribe( + // data => { + // this.airline_color = data; + // console.log(data); + // } + // ) + } + + selectRow($event, i) { + this.row_state = i; + } + + findColor(items,marryItem){ + // console.log(items,marryItem); + let index = items.findIndex(element=>{ + element.COL_CODE === marryItem; + }) + console.log(index) + if(index===-1){ + return false; + }else{ + return true; + } + } + +} diff --git a/src/app/pages/main/main.module.spec.ts b/src/app/pages/main/main.module.spec.ts new file mode 100644 index 0000000..50c7753 --- /dev/null +++ b/src/app/pages/main/main.module.spec.ts @@ -0,0 +1,13 @@ +import { MainModule } from './main.module'; + +describe('MainModule', () => { + let mainModule: MainModule; + + beforeEach(() => { + mainModule = new MainModule(); + }); + + it('should create an instance', () => { + expect(mainModule).toBeTruthy(); + }); +}); diff --git a/src/app/pages/main/main.module.ts b/src/app/pages/main/main.module.ts new file mode 100644 index 0000000..2ef18ed --- /dev/null +++ b/src/app/pages/main/main.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { MainComponent } from './main.component'; +import { MainRoutingModule } from './main-routing.module' + +@NgModule({ + imports: [ + CommonModule, + MainRoutingModule + ], + declarations: [MainComponent] +}) +export class MainModule { } diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts new file mode 100644 index 0000000..bcabbc1 --- /dev/null +++ b/src/app/pages/pages-routing.module.ts @@ -0,0 +1,29 @@ +import { NgModule } from '@angular/core' +import { RouterModule, Routes } from '@angular/router' + +import { PagesComponent } from './pages.component' + +const pagesRoutes: Routes = [ + { + path: '', + component: PagesComponent, + children:[ + { + path:'', + redirectTo:'main', + pathMatch:'full' + }, + { + path:'main', + loadChildren:'./main/main.module#MainModule' + } + ] + } +] + +@NgModule({ + imports: [RouterModule.forChild(pagesRoutes)], + exports: [RouterModule] +}) + +export class PagesRoutingModule { } \ No newline at end of file diff --git a/src/app/pages/pages.component.html b/src/app/pages/pages.component.html new file mode 100644 index 0000000..60d3ed1 --- /dev/null +++ b/src/app/pages/pages.component.html @@ -0,0 +1,67 @@ +
+
+
+ +

航班信息查询系统

+
+
+ +
+
+ + +
\ No newline at end of file diff --git a/src/app/pages/pages.component.scss b/src/app/pages/pages.component.scss new file mode 100644 index 0000000..bc60d2d --- /dev/null +++ b/src/app/pages/pages.component.scss @@ -0,0 +1,95 @@ +@import "../theme/scss/variables"; + +.wrapper { + width: 100%; + height: 100%; + .left-wrapper { + height: 100%; + width: 235px; + background-color: rgb(46, 59, 76); + float: left; + .left-header { + height: 66px; + border-bottom: 1px solid $gray-900; + text-align: center; + line-height: 66px; + img { + width: 32px; + height: 32px; + vertical-align: middle; + margin-right: 12px; + } + h3 { + display: inline-block; + color: $white; + vertical-align: middle; + margin: 0; + } + } + } + .right-wrapper { + // width: 100%; + height: 100%; + margin-left: 235px; + .navbar { + height: 66px; + background-color: rgb(46, 59, 76) !important; + .navbar-brand { + font-size: 24px; + padding: 3px 10px !important; + font-weight: normal !important; + color: rgba(255, 255, 255, 1); + cursor: pointer; + } + // .bg-dark{ + + // } + .nav-icon { + padding: 0.1rem 0.75rem; + cursor: pointer; + display: block; + font-size: 1.5rem; + transition: color 0.1s ease-in-out, color 0.1s ease-in-out; + &:hover { + color: $color-primary; + .icon-container { + > span { + top: -7px; + } + } + } + .icon-container { + position: relative; + > span { + background: $red; + box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05); + border-radius: 50%; + display: block; + height: 18px; + width: 18px; + padding: 1px; + position: absolute; + top: -4px; + right: -8px; + text-align: center; + transition: top 0.1s ease-out; + font-size: 0.675rem; + color: #fff; + } + } + } + .user-info { + cursor: pointer; + .user-container { + > img { + width: 40px; + height: 40px; + border-radius: 50%; + margin-top: -15px; + margin-bottom: -10px; + } + } + } + } + } +} diff --git a/src/app/pages/pages.component.spec.ts b/src/app/pages/pages.component.spec.ts new file mode 100644 index 0000000..7a864ac --- /dev/null +++ b/src/app/pages/pages.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PagesComponent } from './pages.component'; + +describe('PagesComponent', () => { + let component: PagesComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PagesComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PagesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts new file mode 100644 index 0000000..68e2b39 --- /dev/null +++ b/src/app/pages/pages.component.ts @@ -0,0 +1,69 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-pages', + templateUrl: './pages.component.html', + styleUrls: ['./pages.component.scss'] +}) +export class PagesComponent implements OnInit { + + menuData = [ + { + "name": "航班动态", + "icon": 'fa-plane', + "isExpend": false, + "path": "/main" + }, + { + "name": "季度计划", + "icon": 'fa-cube', + "isExpend": false, + + }, + { + "name": "历史数据", + "icon": 'fa-history', + "isExpend": false, + }, + { + "name": "基础数据", + "icon": 'fa-database', + "isExpend": false, + }, + { + "name": "系统管理", + "icon": "fa-window-restore", + "isExpend": false, + "children": [ + { + "name": "个人设置", + "icon": "fa-cog", + }, + { + "name": "角色管理", + "icon": "fa-users", + }, + { + "name": "用户管理", + "icon": "fa-user", + }, + { + "name": "部门管理", + "icon": "fa-street-view", + }, + { + "name": "操作日志", + "icon": "fa-sticky-note", + }, + { + "name": "数据同步", + "icon": "fa-refresh", + }, + ] + }] + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/pages/pages.module.spec.ts b/src/app/pages/pages.module.spec.ts new file mode 100644 index 0000000..70a3cd4 --- /dev/null +++ b/src/app/pages/pages.module.spec.ts @@ -0,0 +1,13 @@ +import { PagesModule } from './pages.module'; + +describe('PagesModule', () => { + let pagesModule: PagesModule; + + beforeEach(() => { + pagesModule = new PagesModule(); + }); + + it('should create an instance', () => { + expect(pagesModule).toBeTruthy(); + }); +}); diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts new file mode 100644 index 0000000..cd8e6c7 --- /dev/null +++ b/src/app/pages/pages.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { PagesComponent } from './pages.component'; +import { PagesRoutingModule } from './pages-routing.module' + +import { ComponentsModule } from '../components/components.module' + +@NgModule({ + imports: [ + CommonModule, + ComponentsModule, + PagesRoutingModule, + ], + declarations: [PagesComponent] +}) +export class PagesModule { } diff --git a/src/app/preloading-strategy.ts b/src/app/preloading-strategy.ts new file mode 100644 index 0000000..84712fa --- /dev/null +++ b/src/app/preloading-strategy.ts @@ -0,0 +1,12 @@ +import { PreloadingStrategy, Route } from '@angular/router' +import { Observable, of } from 'rxjs' + +/** + * 预加载策略 + */ +export class SelectivePreloadingStrategy implements PreloadingStrategy { + preload(route: Route, load: Function): Observable { + //默认进行加载,当配置了preload=false时不预加载 + return route.data && route.data.preload === false ? of(null) : load(); + } +} \ No newline at end of file diff --git a/src/app/register/register-routing.module.ts b/src/app/register/register-routing.module.ts new file mode 100644 index 0000000..af8b654 --- /dev/null +++ b/src/app/register/register-routing.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core' +import { RouterModule, Routes } from '@angular/router' + +import { RegisterComponent } from './register.component' + +const registerRoutes: Routes = [ + { + path: '', + component: RegisterComponent + } +] + +@NgModule({ + imports: [RouterModule.forChild(registerRoutes)], + exports: [RouterModule] +}) + +export class RegisterRoutingModule { } \ No newline at end of file diff --git a/src/app/register/register.component.html b/src/app/register/register.component.html new file mode 100644 index 0000000..a4aa8f5 --- /dev/null +++ b/src/app/register/register.component.html @@ -0,0 +1,44 @@ + \ No newline at end of file diff --git a/src/app/register/register.component.scss b/src/app/register/register.component.scss new file mode 100644 index 0000000..1793f4b --- /dev/null +++ b/src/app/register/register.component.scss @@ -0,0 +1,65 @@ +@import "../theme/scss/variables.scss"; + +.login-container { + width: 100%; + height: 100%; + padding-top: 10%; + background-image: url("../../assets/images/blur-bg-blurred.jpg"); + background-repeat: no-repeat; + background-size: cover; + .login-panel { + width: 410px; + height: 425px; + margin: 0 auto; + > .card-header { + background: none; + > .login-header { + text-align: center; + img { + width: 32px; + height: 32px; + vertical-align: -7px; + margin-right: 12px; + } + h2 { + display: inline-block; + } + } + } + > .card-body { + .form-control { + height: 41px; + } + .submit-btn { + width: 100%; + background-color: $color-secondary; + border-color: $color-secondary; + color: $white; + &:hover { + background: $color-primary; + border-color: 1px solid $color-primary; + } + } + a:hover { + text-decoration: none; + } + .copy-right { + color: $gray-600; + } + } + } + .sys-desc { + width: 410px; + margin: 0 auto; + color: $gray-200; + } +} + +.validator { + color: $white; + background: $bootstrap-danger; + padding-left: 5px; + padding-right: 5px; + padding-top: 3px; + padding-bottom: 3px; +} diff --git a/src/app/register/register.component.spec.ts b/src/app/register/register.component.spec.ts new file mode 100644 index 0000000..6c19551 --- /dev/null +++ b/src/app/register/register.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RegisterComponent } from './register.component'; + +describe('RegisterComponent', () => { + let component: RegisterComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ RegisterComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(RegisterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/register/register.component.ts b/src/app/register/register.component.ts new file mode 100644 index 0000000..89b6217 --- /dev/null +++ b/src/app/register/register.component.ts @@ -0,0 +1,27 @@ +import { Component, OnInit } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms' + +@Component({ + selector: 'app-register', + templateUrl: './register.component.html', + styleUrls: ['./register.component.scss'] +}) +export class RegisterComponent implements OnInit { + + constructor( + private formBuilder: FormBuilder + ) { } + + loginForm: FormGroup = this.formBuilder.group({ + 'userName': ['', [Validators.required, Validators.minLength(6), Validators.maxLength(15)]], + 'password': ['', [Validators.required, Validators.minLength(6), Validators.maxLength(15)]], + 'confirmPassword': ['', [Validators.required, Validators.minLength(6), Validators.maxLength(15)]], + }) + + ngOnInit() { + } + + _submit() { + alert('=====') + } +} diff --git a/src/app/register/register.module.spec.ts b/src/app/register/register.module.spec.ts new file mode 100644 index 0000000..e33fbf8 --- /dev/null +++ b/src/app/register/register.module.spec.ts @@ -0,0 +1,13 @@ +import { RegisterModule } from './register.module'; + +describe('RegisterModule', () => { + let registerModule: RegisterModule; + + beforeEach(() => { + registerModule = new RegisterModule(); + }); + + it('should create an instance', () => { + expect(registerModule).toBeTruthy(); + }); +}); diff --git a/src/app/register/register.module.ts b/src/app/register/register.module.ts new file mode 100644 index 0000000..e95244c --- /dev/null +++ b/src/app/register/register.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { RegisterRoutingModule } from './register-routing.module' +import { RegisterComponent } from './register.component'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + RegisterRoutingModule + ], + declarations: [RegisterComponent] +}) +export class RegisterModule { } diff --git a/src/app/services/http-client.service.ts b/src/app/services/http-client.service.ts new file mode 100644 index 0000000..5af5fca --- /dev/null +++ b/src/app/services/http-client.service.ts @@ -0,0 +1,175 @@ +import { Injectable } from '@angular/core'; +import { HttpClient, HttpRequest, HttpHeaders, HttpParams } from '@angular/common/http'; +import { HttpObserve } from '@angular/common/http/src/client'; + +import { Observable } from 'rxjs'; + +/** + * httpclient服务 + */ +@Injectable() +export class HttpClientService { + + constructor( + private httpClient: HttpClient, + ) { } + + + + /** + * request + * + * @return any + */ + request(method: string, url: string, options?: { + body?: any; + headers?: HttpHeaders | { + [header: string]: string | string[]; + }; + params?: HttpParams | { + [param: string]: string | string[]; + }; + observe?: HttpObserve; + reportProgress?: boolean; + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text'; + withCredentials?: boolean; + }): Observable { + return this.commonProcess(this.httpClient.request(method, url, options = {})); + } + + + + /** + * delete + * @param url + * @param options + */ + delete(url: string, options: { + headers?: HttpHeaders | { [header: string]: string | string[] }, + observe?: HttpObserve, + params?: HttpParams | { [param: string]: string | string[] }, + reportProgress?: boolean, + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text', + withCredentials?: boolean, + } = {}): Observable { + return this.commonProcess(this.httpClient.delete(url, options = {})); + } + + /** + * get + * @param url + * @param options + */ + get(url: string, options: { + headers?: HttpHeaders | { [header: string]: string | string[] }, + observe?: HttpObserve, + params?: HttpParams | { [param: string]: string | string[] }, + reportProgress?: boolean, + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text', + withCredentials?: boolean, + } = {}): Observable { + return this.commonProcess(this.httpClient.get(url, options = {})); + } + + /** + * head + * @param url + * @param options + */ + head(url: string, options: { + headers?: HttpHeaders | { [header: string]: string | string[] }, + observe?: HttpObserve, + params?: HttpParams | { [param: string]: string | string[] }, + reportProgress?: boolean, + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text', + withCredentials?: boolean, + } = {}): Observable { + return this.commonProcess(this.httpClient.head(url, options = {})); + } + + /** + * options + * @param url + * @param options + */ + options(url: string, options: { + headers?: HttpHeaders | { [header: string]: string | string[] }, + observe?: HttpObserve, + params?: HttpParams | { [param: string]: string | string[] }, + reportProgress?: boolean, + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text', + withCredentials?: boolean, + } = {}): Observable { + return this.commonProcess(this.httpClient.options(url, options = {})); + } + + /** + * patch + * @param url + * @param options + */ + patch(url: string, body: any | null, options: { + headers?: HttpHeaders | { [header: string]: string | string[] }, + observe?: HttpObserve, + params?: HttpParams | { [param: string]: string | string[] }, + reportProgress?: boolean, + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text', + withCredentials?: boolean, + } = {}): Observable { + return this.commonProcess(this.httpClient.patch(url, body, options = {})); + } + + + /** + * post + * @param url + * @param options + */ + post(url: string, body: any | null, options: { + headers?: HttpHeaders | { [header: string]: string | string[] }, + observe?: HttpObserve, + params?: HttpParams | { [param: string]: string | string[] }, + reportProgress?: boolean, + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text', + withCredentials?: boolean, + } = {}): Observable { + return this.commonProcess(this.httpClient.post(url, body, options = {})); + } + + /** + * put + * @param url + * @param options + */ + put(url: string, body: any | null, options: { + headers?: HttpHeaders | { [header: string]: string | string[] }, + observe?: HttpObserve, + params?: HttpParams | { [param: string]: string | string[] }, + reportProgress?: boolean, + responseType?: 'arraybuffer' | 'blob' | 'json' | 'text', + withCredentials?: boolean, + } = {}): Observable { + return this.commonProcess(this.httpClient.put(url, body, options = {})); + } + + /** + * 公共处理 + * @param observable + */ + commonProcess(observable: Observable): Observable { + // this.spinService.spin(true); + return Observable.create((observer) => { + observable.subscribe(res => { + // this.spinService.spin(false); + observer.next(res); + }, (err) => { + // this.spinService.spin(false); + observer.error(err); + }, () => { + // this.spinService.spin(false); + observer.complete(); + }); + }); + } + +} diff --git a/src/app/services/http.service.ts b/src/app/services/http.service.ts new file mode 100644 index 0000000..55f5ca5 --- /dev/null +++ b/src/app/services/http.service.ts @@ -0,0 +1,135 @@ +import { Injectable } from '@angular/core'; +import { + Http, Response, Headers, RequestOptions, URLSearchParams, RequestOptionsArgs, RequestMethod +} from '@angular/http'; + + +/** + * http服务 + */ +@Injectable() +export class HttpService { + + constructor(private http: Http) {} + + public request(url: string, options: RequestOptionsArgs, success: Function, error: Function): any { + // this.spinService.spin(true); + this.http.request(url, options).subscribe(res => { + // this.spinService.spin(false); + success(res.ok, res.json(), res); + }, err => { + // this.spinService.spin(false); + //处理请求失败 + let msg = this.requestFailed(url, options, err); + error(err.ok, msg, err); + }); + + } + + public get(url: string, paramMap: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + return this.request(url, new RequestOptions({ + method: RequestMethod.Get, + search: HttpService.buildURLSearchParams(paramMap) + }), success, error); + } + + public post(url: string, body: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + + return this.request(url, new RequestOptions({ + method: RequestMethod.Post, + body: body, + headers: new Headers({ + 'Content-Type': 'application/json; charset=UTF-8' + }) + }), success, error); + } + + public postFormData(url: string, paramMap: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + return this.request(url, new RequestOptions({ + method: RequestMethod.Post, + search: HttpService.buildURLSearchParams(paramMap).toString(), + headers: new Headers({ + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' + }) + }), success, error); + } + + public put(url: string, body: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + return this.request(url, new RequestOptions({ + method: RequestMethod.Put, + body: body + }), success, error); + } + + public delete(url: string, paramMap: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + return this.request(url, new RequestOptions({ + method: RequestMethod.Delete, + search: HttpService.buildURLSearchParams(paramMap).toString() + }), success, error); + } + + public patch(url: string, body: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + return this.request(url, new RequestOptions({ + method: RequestMethod.Patch, + body: body + }), success, error); + } + + public head(url: string, paramMap: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + return this.request(url, new RequestOptions({ + method: RequestMethod.Head, + search: HttpService.buildURLSearchParams(paramMap).toString() + }), success, error); + } + + public options(url: string, paramMap: any = null, success: Function=function(successful, data, res){}, error: Function=function(successful, msg, err){}): any { + return this.request(url, new RequestOptions({ + method: RequestMethod.Options, + search: HttpService.buildURLSearchParams(paramMap).toString() + }), success, error); + } + + /** + * 将对象转为查询参数 + * @param paramMap + * @returns {URLSearchParams} + */ + private static buildURLSearchParams(paramMap): URLSearchParams { + let params = new URLSearchParams(); + if (!paramMap) { + return params; + } + for (let key in paramMap) { + let val = paramMap[key]; + // if (val instanceof Date) { + // val = Utils.dateFormat(val, 'yyyy-MM-dd hh:mm:ss') + // } + params.set(key, val); + } + return params; + } + + /** + * 处理请求失败事件 + * @param url + * @param options + * @param err + */ + private requestFailed(url: string, options: RequestOptionsArgs, err) { + let msg = '请求发生异常', status = err.status; + if (status === 0) { + msg = '请求失败,请求响应出错'; + } else if (status === 404) { + msg = '请求失败,未找到请求地址'; + } else if (status === 500) { + msg = '请求失败,服务器出错,请稍后再试'; + } else { + msg = "未知错误,请检查网络"; + } + + return msg; + + } + + +} \ No newline at end of file diff --git a/src/app/services/login-auth.service.ts b/src/app/services/login-auth.service.ts new file mode 100644 index 0000000..59d51df --- /dev/null +++ b/src/app/services/login-auth.service.ts @@ -0,0 +1,39 @@ +import { Injectable } from '@angular/core'; +import { CanActivate, Router, ActivatedRouteSnapshot } from '@angular/router'; +import getCookie from '../utils/get-cookie'; + +@Injectable() +export class LoginAuthService implements CanActivate { + constructor( + private router: Router, + ) { } + canActivate(route: ActivatedRouteSnapshot): boolean { + if (!this.isLogin()) { + if (route.routeConfig.path === 'login') { + return true + } else { + this.router.navigate(['login']) + return false + } + } else { + if (route.routeConfig.path === 'login') { + this.router.navigate(['app']) + return false + } else { + return true + } + } + } + + public isLogin(): boolean { + if (this.getToken()) { + return true; + } else { + return false; + } + } + + getToken(): string { + return getCookie('token'); + } +} \ No newline at end of file diff --git a/src/app/theme/scss/base.scss b/src/app/theme/scss/base.scss new file mode 100644 index 0000000..e47637d --- /dev/null +++ b/src/app/theme/scss/base.scss @@ -0,0 +1,37 @@ +/*页面统一样式*/ +html, +body { + width: 100%; + height: 100%; + font-size: 14px !important; + overflow: hidden; + font-family: "Roboto", sans-serif !important; + background-color: #1190d6 !important; +} +/*添加手形*/ +a[href], +input[type="submit"], +input[type="image"], +label[for], +select, +button, +.c-pointer { + cursor: pointer; +} + +/*整体部分*/ +::-webkit-scrollbar { + width: 10px; + height: 10px; +} +/*滑动轨道*/ +::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.06); +} +/*滑块*/ +::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.08); + &:hover { + background: rgba(0, 0, 0, 0.15); + } +} diff --git a/src/app/theme/scss/common.scss b/src/app/theme/scss/common.scss new file mode 100644 index 0000000..04aa37f --- /dev/null +++ b/src/app/theme/scss/common.scss @@ -0,0 +1,208 @@ +/* 字体大小 */ +.fz-12 { + font-size: 12px !important; +} +.fz-14 { + font-size: 14px !important; +} +.fz-16 { + font-size: 16px !important; +} +.fz-18 { + font-size: 18px !important; +} +.fz-20 { + font-size: 20px !important; +} +.fz-22 { + font-size: 22px !important; +} +.fz-24 { + font-size: 24px !important; +} + +/* 外边距 */ +.m-5 { + margin: 5px !important; +} +.m-10 { + margin: 10px !important; +} +.m-15 { + margin: 15px !important; +} +.m-20 { + margin: 20px !important; +} +.m-25 { + margin: 25px !important; +} +.m-30 { + margin: 30px !important; +} + +/* 内边距 */ +.p-5 { + padding: 5px !important; +} +.p-10 { + padding: 10px !important; +} +.p-15 { + padding: 15px !important; +} +.p-20 { + padding: 20px !important; +} +.p-25 { + padding: 25px !important; +} +.p-30 { + padding: 30px !important; +} + +.dip { + display: inline-block; +} + +label.custom-radio { + @padding-right: 0; + padding-left: 0; + margin-bottom: 0; + & > input { + height: 0; + z-index: -100 !important; + opacity: 0; + position: absolute; + &:checked { + & + span { + &:before { + content: "\f00c"; + font-weight: 300; + } + } + } + &:disabled { + & + span { + color: rgba(255, 255, 255, 0.4); + cursor: not-allowed; + &:before { + border-color: rgba(255, 255, 255, 0.4) !important; + cursor: not-allowed; + } + } + } + } + & > span { + position: relative; + display: inline-block; + margin: 0; + line-height: 16px; + font-weight: 300; + cursor: pointer; + padding-left: 22px; + width: 100%; + &:before { + cursor: pointer; + font-family: fontAwesome; + font-weight: 300; + font-size: 12px; + content: "\a0"; + background-color: transparent; + border: 1px solid #ccc; + color: $color-primary; + border-radius: 0; + display: inline-block; + text-align: center; + height: 16px; + line-height: 14px; + min-width: 16px; + margin-right: 6px; + position: relative; + top: 0; + margin-left: -22px; + float: left; + } + &:hover { + &:before { + border-color: tint(#00abff, 20%); + } + } + } + & > input { + &:checked { + & + span { + &:before { + content: "\f111"; + } + } + } + } + & > span { + &:before { + border-radius: 16px; + font-size: 9px; + } + } +} + +label.custom-checkbox { + padding-right: 0; + padding-left: 0; + margin-bottom: 0; + & > input { + height: 0; + z-index: -100 !important; + opacity: 0; + position: absolute; + &:checked { + & + span { + &:before { + content: "\f00c"; + font-weight: 300; + } + } + } + &:disabled { + & + span { + color: rgba(255, 255, 255, 0.4); + cursor: not-allowed; + &:before { + border-color: rgba(255, 255, 255, 0.4) !important; + cursor: not-allowed; + } + } + } + } + & > span { + position: relative; + display: inline-block; + margin: 0; + line-height: 16px; + font-weight: 300; + cursor: pointer; + padding-left: 22px; + width: 100%; + &:before { + cursor: pointer; + font-family: fontAwesome; + font-weight: 300; + font-size: 12px; + content: "\a0"; + background-color: transparent; + border: 1px solid #ccc; + color: $color-primary; + border-radius: 0; + display: inline-block; + text-align: center; + height: 16px; + line-height: 14px; + min-width: 16px; + margin-right: 6px; + position: relative; + top: 0; + margin-left: -22px; + float: left; + } + } +} diff --git a/src/app/theme/scss/typography.scss b/src/app/theme/scss/typography.scss new file mode 100644 index 0000000..64a9d6a --- /dev/null +++ b/src/app/theme/scss/typography.scss @@ -0,0 +1,101 @@ +@media screen and (min-width: 1420px) { + .col-mlg-1 { + max-width: 8.33333333%; + flex: 0 0 8.33333333%; + } + .col-mlg-2 { + max-width: 16.66666667%; + flex: 0 0 16.66666667%; + } + .col-mlg-3 { + max-width: 25%; + flex: 0 0 25%; + } + .col-mlg-4 { + max-width: 33.33333333%; + flex: 0 0 33.33333333%; + } + .col-mlg-5 { + max-width: 41.66666667%; + flex: 0 0 41.66666667%; + } + .col-mlg-6 { + max-width: 50%; + flex: 0 0 50%; + } + .col-mlg-7 { + max-width: 58.33333333%; + flex: 0 0 58.33333333%; + } + .col-mlg-8 { + max-width: 66.66666667%; + flex: 0 0 66.66666667%; + } + .col-mlg-9 { + max-width: 75%; + flex: 0 0 75%; + } + .col-mlg-10 { + max-width: 83.33333333%; + flex: 0 0 83.33333333%; + } + .col-mlg-11 { + max-width: 91.66666667%; + flex: 0 0 91.66666667%; + } + .col-mlg-12 { + max-width: 100%; + flex: 0 0 100%; + } +} + +@media screen and (min-width: 1620px) { + .col-xlg-1 { + max-width: 8.33333333%; + flex: 0 0 8.33333333%; + } + .col-xlg-2 { + max-width: 16.66666667%; + flex: 0 0 16.66666667%; + } + .col-xlg-3 { + max-width: 25%; + flex: 0 0 25%; + } + .col-xlg-4 { + max-width: 33.33333333%; + flex: 0 0 33.33333333%; + } + .col-xlg-5 { + max-width: 41.66666667%; + flex: 0 0 41.66666667%; + } + .col-xlg-6 { + max-width: 50%; + flex: 0 0 50%; + } + .col-xlg-7 { + max-width: 58.33333333%; + flex: 0 0 58.33333333%; + } + .col-xlg-8 { + max-width: 66.66666667%; + flex: 0 0 66.66666667%; + } + .col-xlg-9 { + max-width: 75%; + flex: 0 0 75%; + } + .col-xlg-10 { + max-width: 83.33333333%; + flex: 0 0 83.33333333%; + } + .col-xlg-11 { + max-width: 91.66666667%; + flex: 0 0 91.66666667%; + } + .col-xlg-12 { + max-width: 100%; + flex: 0 0 100%; + } +} diff --git a/src/app/theme/scss/variables.scss b/src/app/theme/scss/variables.scss new file mode 100644 index 0000000..b785116 --- /dev/null +++ b/src/app/theme/scss/variables.scss @@ -0,0 +1,69 @@ +/* 颜色变量 */ +$white: #fff !default; +$gray-100: #f8f9fa !default; +$gray-200: #e9ecef !default; +$gray-300: #dee2e6 !default; +$gray-400: #ced4da !default; +$gray-500: #adb5bd !default; +$gray-600: #868e96 !default; +$gray-700: #495057 !default; +$gray-800: #343a40 !default; +$gray-900: #212529 !default; + +$black: #000 !default; +$blue: #20a8d8 !default; +$indigo: #6610f2 !default; +$purple: #6f42c1 !default; +$pink: #e83e8c !default; +$red: #f86c6b !default; +$orange: #fd7e14 !default; +$yellow: #f0bd0a !default; +$green: #4dbd74 !default; +$teal: #20c997 !default; +$cyan: #6acae6 !default; + +$color-primary: #1190d6 !default; +$color-secondary: #10a2e9 !default; +$color-deep: #0a7bb9 !default; +$color-light: #5bc0de !default; +$color-black-primary: #333333 !default; +$color-black-secondary: #555555 !default; +$color-black-deep: #000000 !default; +$color-black-light: #888888 !default; +$color-gray-primary: #f2f2f2 !default; +$color-gray-secondary: #fafafa !default; +$color-gray-deep: #eeeeee !default; +$color-gray-light: #fefefe !default; +$color-white: #ffffff !default; +$color-gary: #dddddd !default; +$color-white-gray: #f6f7f8 !default; +$color-white-gray-deep: #f5f5f5 !default; + +$box-shadow: 1px 2px 6px rgba(0, 0, 0, 0.03) !default; +$header-shadow: 1px 2px 6px rgba(0, 0, 0, 0.03) !default; +$img-shadow: 1px 2px 6px rgba(0, 0, 0, 0.05) !default; +$hierarchy-box: 1px 1px 3px rgba(100, 100, 100, 0.6) !default; +$toast-box: 1px 1px 3px rgba(100, 100, 100, 0.3) !default; +$switch-small: 0 1px 3px rgba(0, 0, 0, 0.3) !default; +$btn-shadow: 1px 2px 5px rgba(0, 0, 0, 0.05) !default; + +$spin-color-red: #f95372; +$spin-color-blue: #00abff; +$spin-color-yellow: #e7ba08; +$bootstrap-light: #ffffff; +$bootstrap-light-deep: #e6e6e6; +$bootstrap-primary: #20a8d8; +$bootstrap-primary-deep: #1985ac; +$bootstrap-success: #4dbd74; +$bootstrap-success-deep: #369759; +$bootstrap-info: #6acae6; +$bootstrap-info-deep: #32add3; +$bootstrap-warning: #f0bd0a; +$bootstrap-warning-deep: #bf9608; +$bootstrap-danger: #f86c6b; +$bootstrap-danger-deep: #e23533; +$bootstrap-secondary: #868e96; +$bootstrap-secondary-deep: #66696d; +$bootstrap-dark: #343a40; +$bootstrap-dark-deep: #111111; + diff --git a/src/app/utils/get-cookie.ts b/src/app/utils/get-cookie.ts new file mode 100644 index 0000000..420e27c --- /dev/null +++ b/src/app/utils/get-cookie.ts @@ -0,0 +1,14 @@ +//获取cookie +export default function (name) { + name = name + "=" + var start = document.cookie.indexOf(name), + value = null; + if (start > -1) { + var end = document.cookie.indexOf(";", start); + if (end == -1) { + end = document.cookie.length; + } + value = document.cookie.substring(start + name.length, end); + } + return value; +} \ No newline at end of file diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/images/Vlad.png b/src/assets/images/Vlad.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1cde6f2a9a4f5a3c943ace5af03281098f1d3a GIT binary patch literal 47573 zcmbT6Wl$YK*XJ(|f#49_?#10*gS)#s7k8IHaCdiicL>4VHCS+W_bku*ZtYg>r`il|os?Vwa`M2_K3xFyuE+r0tfB*m>J}6XWieq@1!W!*3sZWqgP8@1 z8#4nF36-m}m7N8Nl(Yniw4#^2Fkj%{VBwLzAR!@sK}7tDjE?#h84Vc`5fvL14FeMk3kwP58xA%m4mu_l z=6_xS0rfct8U_Id1_ARc;#bW7XZ!aXfCdjS0WkpuK?ZgMj@=@s-dI3zSIJR%`6DLExIEj^>4u&B7Cw5+_Mp|PpCrM0cSqpyEp zaA4?9hi+Z?!hD*G_>n#T0O;u#8P^8+tU$TamGehY(LaqJ8l3)!vgN+tf? zq@#ot1B#HnX6}cD$jLulalHxftiiWvfmSz6hrE+Kt79u6@e@CtLymQ1C=z{%hNI!y zxY+j*Yh;5i@sxHDu!3y&+^gOb+0;xH?%Q0VS>deUPQV-0(MbkW5TV_kIM>O2$SeXO zRXR@}mLCrayHay$?^Oz#wv2M|zbt_pCt}QZo#<}xGgQYv^uayoQNAW$@4-2O5oPcj zmMF6o{7J7^=f-Y{M-PGDlOfBe3s%p#qR=!WugymTP)z1GOCxtu5)KcWEkCkmwpHr9 zB_HW>k=MAkB`1|St_lR)Sdr8td}L+`+=;L7nsNkY_Hh{suZpdzXD*2jF}%0EBMql9 zT4-UnHrEo0(D|*Gz767GzCD)*t+8W1>JxV>6YdCxRb%ciqR#m$kXavlzvX$&3#|Xy z%ed>z{pta}-|kjaOL8<&FUdVd883Emg@I-R6BDXj5$S-Sn~OpPp=wuvYd?C&h19BUURK3DF7 zoTFwasd2!Izx-|YmHQ2&y!TPo{tjF!@S|Kvz!K-jhP;(`_dt92vLg4?h1Ea6s@$m- zinSxQyXfgX=EmGVfWwEH?k~eN-U11~COg?+km)jFxkt#hiGXtZ7YGotoT&~t<7exr zLx~d{vG85KQFg79Z^u!rB12ZxtuPG=*QB%J$((d9H}2&RIbXdw$v!M653W-2T!MXHIrzoZ6oWT8 z_)*Pcjh7YGFnGSBC-|2CQqCBb)7~MGVWJW2q8axH#90)rY>v$@cZm17KCz_lAo`n4 z+6?VG8&Qj0Yd3u%ao$+ahY&ioD1^3oWB+$+4Dv{8=b z#pZ%L6PP`Uk;Iw63XBJ(RmR2jD?(>NhnV~E!{UP3QUt!y(shAes@$4QnPgfeaN+R8 z+UblJ5^v2$PYVSrsIc?$9HvO|5iynz#I$(qI?cztey(Jv8igM^zxD)~Fb$@aH14ueQ&Fg4(n%v5+doTD2@gMt5C_qMkk$ME-HTV7lq)g{l^MP9hZ#NZQ zj~0v<0zKZ2W$AcTc`*~~jo7W@m=8w;F_bAfU3zYA_PjHyNJrrE3rE%!uozP-XqAty zVGg*G-mS!Y+;i_I{P7AfsfKt|q+_LZ>(B5qDtCBiM-mF{F;57g*L`WZAR?j*L9Z(N z3VAh?22axWB;1*|n8e?}q9&8O$C~?Y8G3nlg$ewDXAAaNU|=HiTbTj&3F4fvmZ2*l zHAim#fA#$#;#klC)PWtYo1X|9H8T~ooyytTfh!D?iM!r!H<%xo``69KClUT%hT#?b z=dwucO_UcjL~16TcX4&dWE}c_>@*L*dBu*^Pe_#blgi(eJ$fT>NY7J;C5hR@tY;Yi zfm0m(70OR@ss%#BcvSVLsXkm=ErW=}{=lxj_r_UWOP(A+l?0}ej_olY{f(B4Mm+D; zU6dNzL|_R>el2J$j(Rh;86=+Ism5Y0BgL|zn=P?F?bGZ7sE^> zdzOd4x@WFJ)!o#jrg2>Ku-bfW{gBBQZ!JRk7`- zjWTZN~ClM&6oQY-IXE zT>e*U0{rf0S@MY3e&_0srC++7X}@E7IEjPR<>dDys~YSmQ;-&?dct-g5a`YnDCY{> zmfn(aViQNI1u9AAf4BKJK%_K94yuf2T@Oy@bxG*9taSb~ft z5?BW634ahz5iTYRew9v}a#Z!%S0s{UT+UGKR)?mBCfaG-^Nq$5jh0-uU{mlX%o}&|g)t}J+;Z?Z z7NJU>n$5bOWVER5GH99?8M9Ww<)l)edl=n`JUwRU+a5D%aFlF`#JPJYW+Dq1t}jd= zL~Sp%)pA zKk7ap8#hgVIM%iBLP#MOLya~iL?87PDD{XWowt{=-yi|1r0y#kHu!=pC$uhTgnook zUa=D_UH0myA9<;2(SIe#TyWtO#~LV#UwJH_oTK=%7c?jW?N24hO0*$Vz8g0358(WT zA8eXvCRShIdmhMjE}BS|g)!aCqvNFdY+B=WEuBJYJW&dAzm#BMRBq1}=7P;&Sa98X zonN7)Im1zOP;ge7wm-Nk|4rz_1ef9N+L9P`l+mRDeQm z*jN2bPL(Wwn zB>XjCpo|e8sObk1e)R?i#)REut3UE~>iJQ)MdH|{^CNqlN@17m!Wz}>m7oY&CoC{1 zQ=RVyHwcZ}-tW|`>*<2kv8VFeffF>mvD)%sG}&JfYthCFHs34OamnagG-K~-9%UBK zn`x;o3KN+}AOQD7LtUu@t-_|*N=)X&YzfHiWR*|OdOdTS3XOg@Oir^zp)m#F+t1ss zZM$K6**U|_dSm1*@x~{ryM#}*>`OX|bsgbY>AKV`T-%=i0AJ?oo+52sa%AhfzCjc5 zVw_nsYAn+qhKMKFbC~N(zb_sJ6WvdWCvBb0HcQ86beO#g;zufdvBxNbAb80+=vb3E z^);T{Z?XKdKtNQi&{m6?$uZcjxU%jz91g*5hqbym-*ry0{;1mSVL46(=tYyeln@W;oxAS*1W9DSZt2p4(Tk>2cNFysNWT zyLxD6>fiNk#ao>?^epG*)?xqGt)P7kc#(GauV_bWYR9zVe3ym^0lXdPmA7qb6qfal zo&7L80b4x=xQApH7sKSse>%#iQ^Qg2QLn>sYVEp0yzt2G-Y>v~=i0D#qS(B^e2V~; z^)P9ArI4C!_ku^Ke6a8Dd7LUh&cQNd9wvtI^>?Gs=DOOcp8te6Lnl*b!)EgSa>uPl zgrh%MSV81|1nH>x9a&RNEplY(F!}Ct>oSfBk*7fV9adCb2g5-nT5bHMLTx{KAIijB zRz*-ytcucjnbrxX$c(6I98!w#qhCqa*t~j*PTB>?2z1_8e&qX}q&EH+TcWVA--I#S znbj^qX-MHo<)u)5+_6g_NC_`!DG}ea9muKxnF7S?V}zbNj%8Nv5fVSj17vL5{_7UHdQW=dZuc-zycx5f~dLhC)t_Bq*7&kOFPyH zi!2fbQI}8Y8_mzhh=g5Y#`f3x*obbMf^izF!dN(srd~ZdG;d2@ursXS^;%e>_ICI# zj40VXa%5em0H?LqcB?HlmUTPxfz^)H9!1KB(bHW$<2&AzjgB>+qkbX3WMs`&Wn1!h#f{gtTG+>KCZW;PE2mD%2FO@ z^^Aq7A{vz^oTE1}Cxb5qLOdDSd=j9!Dr0IyqLmt7kgtFVexJ{!6!J`uw(;qsx;y!< z>&C~(P6vOI*;OIAy3CG6-b!^pgQ-wJ%sco@F=;nZAN;|%Knzo~7LEh06sooKJVga*VGOxJ_w18Tv5IKWs4e*I zcUU9-;BkT|r1a4@S`VXS)%2)q!yJ<)GCiRyIRBCZPQ}-J8P+#1c%Jt)Q>4CaL zF7DBClg{W&LP@BMZL{SXc&2pcrgOSx;)nOaJSUD$rq|tS_K@Tz;Hgsk5o5Xbp|xye ztV)EGT{VVv(>2l^d9bJ2z-sUldYq|REM3D#6zk)Pzk*{? zFGk%l)=}TPq(~-XM!Wt5v^F*OFcq(H^!?T)Uw4FP*;D1Xn*tVpKwuX@WOa$HCXokSB~?a0({h zr7mP_ZG>h!p9flwoqH&2yysSQ*}i>I3HS#f6-d?|JGZOp@!BC<$9gpMW*-xr-O=almR^I_1a*u zvpafRpy7n#)(x^(Mm0La``#`b-y9Fx=m=CqcSA`UP;6W9h+(pIOd7e9+2Td2s zP{+eejV&M0;S}j={YP`0NvZR&lCE4!y{kEVONu1w=V8h{WUX#JjW!AfCCC(F21V85 zVvQ=Z+JY8iBAlXB+}ydZa&)LnI>RQSyU|`xBTLicC7Gyq z0nVsZ62nW+c($VKqYJ1KB;Mauw*gykOf1nvb^{A@r>Z4?59KAa-xW_Sh0Ur&HCqt+ z7H+NpMYJ-oxj{rI-BQJtI_In2Q5CyX+0#99EzMkE0W#Q!R8GHh3fiK*brViZ;GF`f zhETW)bClJ!p^fm@7nj)YW>NdCI1Yf1RVehD4=-nr^=VFu7VdD+oQl?{6L#3bB&#@H zPJYeq{o^fW3}qUi6uU*{@S?70G*5s#c90cT zIXD?F{!}CJXpc!b{$I*%cPiJ)D2>yyVF{3ehW)^_gvM%Z;!!CGBrx?uxc8CW`3t4u%g#2Ka z)?Af#G5Q9sVfviDHo|Y-BbRCk(FHN3%8MV9#5wKe!f_E!1Zry6y0X^+Z5l_KyKr;u z3g5v009P@`abY53!4CnG(+jFE^bIEo181|scDpWpDt(Sw?^YF7v<(Csa}s8R3o5m% z$Rdv_ZxmVVRP{X*Ux{U7(rdhh(l7PT;P0V0VQeBA))OPn=8t zpc+TXa5%LyDr5@2{7{2t71JmyZ&jXFWbQ!6iCml<0m>;yxC{&7Yg((J>oAsqm5}(l z=|Si?sn)>XMaHfb(KK~a8xwvp<8|3qxy}(aqReQ8Lt#3xA{aA8CKU0K;+lJN$vqd~ ze&2$~41?TAi5=vSh*)zc6GbM>Zz(~qD&dbyEGxw|meeqdI=|%h?Msvsyw`NHCM|kn zIG@^|VsCP~72=5L@i^SPKpcHG!(n@B=DO$PfQnIf5W2mt9icETR^2M$M`;;(a&yDD zLl;V8EnH6N8~D8E2ZP~)GHpRL&eTJ6+w^j=Otl=NXG*#1udqU^ol^K&DZDzP5q@TQ zn4+L}Tqz4Xk*F*$4Wm*ILE(7|R{3-P0Qgvb+R~tbrIe+!47XGym0d*IA2)t#y*#u3 z0I7~VyW;k{@%tV2A+FJKMKa#px>V%h_(H_d-<=D<93;;vb0|v7klk_&2Vr(8#*<_p zx6pz9FN=|Wvh6YGM;EVYFR{`}15!Pnm{->_&XXUDB*H`oUwF+6(kG(h)&g*FPxbCM zLy?q*F(ax7_S0$wvz=ZpLvyAyHy7OpNmn5s*q7y-@VPC-m2}c_tW-t^_2#=KMeHd+ zEbSkcT$R+@WlI?33;zI2Tr}BmyPHjS)!KjMI+(2LjIi9Ls89Y%yV8_&FYvgyKIVj) zZJ)!^V*@6zWeOj&{sBbB7I zVZ^uvtcVu44cm>K)W_n?;J@VUd8?RbkO#Dp8K9E}^gUpGJ*amjJdQD?C$NzRjF{aQN~0l4nNhcmNzw6S1W{JKovV;WWn4s%P&ud^cuq$Liq{o48Nn5}uk;vJoKM+dfsV*;E4gR_ zB`PeSTY>g|P)L3q238AKt)fIgtuNbl(60shcU!% z_CBsYwGv*+9v7L$$j}TRSpqarK*BPC& zoZp0Uq94>Lt70Ojtaos@Bg3+bIBsU%w7RH2^X+uF%Xjs zvD?;d_B*UL5ll}100MHZOQ>Qn4bRNa;J0)Ba@VhPe@kYmV`D0p*)r=WCS|M*RrYhK z=fS%GC2RiVrbeONv2_O)zsI?TrgNTMxy~EgfoRO|)CBPnxYerDhf_@E@o{-%#of~K zsx>z0eeY-n?%o?zDUj%{GuAr)Nv5T9BvXBGYnE9{`7ZadPKRs>*Mv=RgA|fiZnb5Y z+K_`lNaPBhH$hDHLl^^JW?7PyBN1+>vuvVN$}F06%^-Qe^n~Xw)`CoN@!$Xp*Z7cA z+fKD!cXD*6?xqY9^AIO4IjKl&d0Domu)b`WN>+A3jPbHeT9<}50c)Ee^A_@(hGI%1 zoi#}sS!@>%B=2(erjNtbT|#nwimzCFR_UJ^Oyk15(O#l^@}6@PD>L@^&KcE_n-Y5M zUAHYS3&f}_BHFR?bVUuR6R)P5m)GX}wRH~^^=ti3JL5U~izWxSOXGlZ$~KjE>(~%g1J(^z3kQe*rMsQ<0w0R2#paQm?~V?_BPtYdyAdm$$X(dR zzQ-wZqu=n$JCbd$G0RoXZ1kQ?gqrIIQ{t^LtAsXHK*;Y_9q#=bQ1+SpNpzYnYlG_F zY*xnou#D`}Nc)MW>buUZGj4|KYdXvmOLe-tYqIUacC981_cR1PAg|66J?Axr1_-to zV6-_0lbok(z_@ns1kKV1dYY>W`O2@tGni$Ok}c#YNXoJF(l#+{qJ&tA0IC$(9D#PW z!9=SeYn|~*U@}86elDWbYPz6RixlfJ6!BQiDG@HuuTb0KKchsMworDET)peQ$6_NY zx9GG2hXeL(Jthq{lR@cU-YNusHLVxD1pf3Uh<^NW?~k-8<7`_NJ}S%gGj7j2R$4~q zJ_GWaLJN6$og1#Lro1FpCM-^W=RkcgWlEu^*+gdluijYD_;c*ktmE{3O`4khF884n z`9)U!B4w@;qJ8o(EbFk>TEmxRatt6rYkishUAhgB^*d%Oz~u|~bhrNe&%i~!!ap1W zw*All@Be(M$Bvl`%B6E8VycD>gr z-WZbOf`3w$vJyWgH1jE9)!N)}AnbOnwU}3^QPRfFuEYUdKuh>JbH-c4yKH3*oT4l` zTW<1pI_>Jqa4H6i4O*+;xXD3T>dYrs<_p_P@+4+nvh61fM>aDh|qM84&(xN@&+2x|MQ<%G#MPG66N>#0b!NG>agMkPLqWhVG^2mLkoI=5|vT-YdpH0-^S{;nCOQ|Ol zt!@(R?0qNbRTTwhhMZEPzlnZ@bQ4QDxrE!{SZjFaVHO8lO#?KUat2F*6e zBgKzFkRS`+V~*Y}H+J-+*Clp?9FvEYCS8h6U?X34Mnpx#3@>^kbGWexf8{!|sXWW} zE#t2k)D=NlsB>d@2HPAj&XF{PJbRb?+(VRGGu+!Yov3|iAh3$xz z(XCJTt<#jyxjrya4*wiFrf>sWh@ob5eA{q!m+g6zze#m%7r9N#{wlXRSw200&GDD7 z`a(kZX*tnHJ>+l@@9X5xqOOL%gzu4Ixd-$K9OctEYh$;G$4V!79Ud%`j3#x?UdyKG zQJJfzYf(-ta3qFa8O2tX*Otmpnd(WSRezaP!6B z!Y-?H>+Jh0YTN_6T~-rxo)T5tmuiNS&GjW>lu?A&k;hsQjZWY&yZlxnRuT_H%_6g#x9 z0!UEG4!KVC{dep!|5};6a;l`;oddLNYw}5>@B_2QHrx`p31hqnmi4$M%Gvs%+jKuj_Bq-+^*m5IYmP7bt9-_%UcBV}ShejnCvvM=xa=K}) z`-v!I5N)NkC?cfzQp3abrTJ{&9}lf+c{=8ISm-BgdoOrC*qcl)xpAa^iD6u#1R69q zw?-B>&HAW-)KfjtO7gz#;r@OOwRwr*w?38WwDJk9Mo2ZpsRf7ZQ}d zh}s;+%y-Sd0}XqlvpBEMiJ?(cZLABK(jtt#M7V7M0B)Ch-N-H?7hRHsKbt1GaUp`Y)9S5sm92SFLNI&k8H|stSAcaWw=3K@MT4*veqH? z4$&k(w4~frIo_PH&c7__W@O6FbzYziahekST9ndFIg_a{(8U#Hk_6ImCj!pjPLf;0 z>DV-V(o1hkhO{2e*A)rmWgZN3h9 zgwFD_lBo^j@>OZO`qJRLibnH%SJ`7o`qWJ2G+SA#hB9*wmnex5q^m&DGVit=g_Pau z#T%$2GfMjUeen*mlQvv=YH=ft0j`?%9DcF#_uldLxyj_FF)p81zpQ{?9w zcNb;s2BZ-Ga|M0vUtRHrKT~=L+n8n&^`(<}Rq5+mf7ti(wKyySC5(>mD{~lHWi)NJ z!luyl&XnnUhc*f~i&6#)!bX^fx$bL%X?e3A^yE>Lu4Fk` zv0Kt~?&+!!ppGL(<-W<`s<`MSZHF6Xy?^z>ORL2^vu$9s*<~LCcc?{Ao^}n7q!!ZF zp72*zup~f2KjO04`}L3G*DieE$xZ!h1<$pvM7WRU>f3RVw&>jN0VvYn1WwMn^#hY~ z9Ck-ygN5VbC3FW7S~b)0q-%I}AFfBa@Gc4*C$|QRw{^#olDKx%LgigFd(>yFyp{_&NZ65leE~KkZhJ{hG$1i6`sM;R3y@ z1I@Q#O?mNcF{`mEuVAP+5qFE~e$ZVXuPb9*FM|btlsQDzsIS$(w%SS2M=)hVf(R%86PL!OSDxfsQ}V!^{-t`G zrQviRoq7%;{Q0wa^!0T~yBd+b_y9=)7pRQq`N2)O$s%pvEkqNCSFN>6@c{>aW&^Da z1zWdTTfW}Iw&;agr=Uw;7@z6u$o|!+`Ds3F=l95IyaGK;dunhIK+WnK{(e}dJ0djFxP%nR_-$ot8v~;}91qA?v&P&9lET_N_ z>~H*CcU8`&G;16e_wCfc>f6GoO5zbB#RUpGn_(7``>A3-I_W5Rw3bxZQ4rC6W~zyq zLOTe|k3vXu-gbv2hY%m48e8mj*y|tq4ez1b%GcLeM^d(vtq_rd*L#^BJeH+np~l7C z2@G0tA(T*<+3InyHEt8^a3^RZbf8VLjvR_MY*pZbNM#|gII`aO)C&-kB9-Q=Y)K|N zfROdkYYIlg(pM|ZYS9@u+n(f#-z}n0s?9=b&#{Wz)sDG%tD`ilmOOthV>b-d1yX#U zy5iO~DF>Nc7kAHH-fP(xXy(;Rk`5GTA&+~=bMkJ*C~(2mXdLS&UtRPe+#O$DlC3$j z<&#EtZlN=u$DwR%FMmoDy3(m+w6W|%e+eZLcy5V0fR0c#5EAhqK?eTFE7i;Lm%A?i=wC1e)5{JCFB-}Jl{ka5n~ z4gv|aKP$Wa>2O_}Vgtw`*LM&65P&m=w?s&Fjk7M)c`~*)dhIC(8a`|hMYg){p2PX< zr^<Tk;huhs&X2V`;(+NxUD(QPgeCPpbRK~9N+GDQd~d0cwv#}1nPntLJ3H9R zd(pK!Wj!$=M&OF?gT2&Xz1W8rrci7tNJ6$u`MRBV{U{{zPU4T8TMRqn(@`B0*00xUZ)Q+yCyss!TGS`PfA;4+qzDAmzj{hQk~5r~WF>2Ur$yl__nUKRv9+mQmT zpno~hR#5Ua6PJ6e$<0({XvFI#U@-}=`z41u?>J%t)w)xiSl-HKwsNI+UCV9n6i}u3 z7Xv!YN!D;-MZ9*eD_{JQIm3+-KBKDaylsNq3?XlmxqQ3vqcpH~XxQ6#RykWoduyAb z?U%sZVDPb5aCJ#KVM@ODuk)49dML+Z*=S&MD+dplMt1=2qVdsx;B_&Kj~kx449twc zfQ(qCd%@pcp&{DpY$6}X#gLuhp0PiqX|b=g2GwlG#yew*&a=#0q*wLGB1iZmlH|gW zo9n((s#5nPJ|X>9hU?Dz_*SeRf#G$O|`(LyV3z0i2mwe}PGt)?)+mo|C%&6Oe6WoO+?=c0!99c*TKqAi!*f1+gR<$b1P z2_Vl9;jAZ~SkAQmi%z*%T|-yBkdkC8mEMx|vSeQ2%81IQ;Ofw;`doGl4DOIhDpxS}Htwblz#mt@gxC#mtoAEB5Io1T%fy;$+#6FnFEI9ZgBXQ-R*BiQ{;s^H9bLi^h9|DCtqeEe3#g2( zcrFlj#?Tr>`v=gX#`VvG`*B}x^TugwOMFp?CcxZ$s*?+aF{!_Bu8MKPtqR}lpg{C@zg0vfH|Ze9#O z>({3pB7@DLnRoddzO87mZp(~krZ2%6@H3CvZ)0sV?+C-r-s}eY@>izFwb(QP7wyUB z^UdAHDzBTJF*nd;(q+z+XI2gXp=_`(v)ifkel5rb$<}`aK zG&(Uq!Hz6GPE94-U?^d-(Y&6T-ogC`uw3H*_<6I|Z*BU$4?{o&33}v6Ah{E})vjU4 z-W0&iT%_=3LD_74n!{7CXTCEuCz>OPYOmS;#g|o1{{?*-`FgrPv-+D_oo&H3QfA1M zB!95iw|#d_b9(Jx2NCZiuD3CmT`in$PowFrnh*O*(9CVJ! zXoI4xp|PfioHWx-k7>?jkM>mI%X!@%e_C9uuG(#|EL;u2gpcyJc(YFb^+dSi z%{|9z_E0bkSZmoQRxwaoqvZ)g2QmK$V4m@%Iq$L$h8Pt+1TDo6EX4LrY{0Yjc458p zZ2WCY)kwD~kj21zo08};($6=lj*OjY3E?abbD2_D!?iB^^W!V!y4|DGQ{Glv4 zYkt{fTCf!g-uxy$)+_3e*_0OW1N07qyT5kVq(kupKVvp>-wi6TY8R}^Y2}jos4vpJ zk=AaAL6gm`&ZfZI?&921#(N|Gwzzw&%@81Y(@J<9DjDO(KU;NeY#;W-5B@B_ci}vs zT@bYN|F(Lf&zhN{NnIcl#C zU31^hrGj9fnMi`PGGar39xLa#{PlWc+J$9(wQ$v-7C;L=vGin1^a95E^;e5tNOh<3 z1PNIUYQZ0ynn@L?&Vhj1f`i%ZxHxfSZmv^RgZ`zf#<-w^hn*UB+-W{K+*^*yZK*R8 z(2yk2Vl)p)gD1zH3DU2^Vqey(Cv*G}Tv3y2tlP^lmymh(%y;f(05&iNp6^=E<%F}4 z&qtn6Wr;jC^n;{*UVrlhdvNh*Bp>}o5|Nl+sb%A^cj2lYqts^<=$$y}C;!BjHgVnd zoD`$54BMm3hd?*IRSn)vv*K^Wch3`uzvSzc&OqnesB?kEPCK9Zc7-u{@EtJ~ccsI3HKJiO_if&uX2yhxHefCAIAf;k zim-XH%M6R8U44^W6>#{=x?1!(d{8#tbnmks;+ZUTYT_$KpQ2Sf8ZZ9n=xB=Y$OD$c zlm3_stwS`A-8xkLvv05s%!b11mmgxu5gODrxtLr!9wu^sJ$7oXUQE@W&Bl3MjlrTn z_Z)wy`^^$iM@9L2vy;=VcuO?T$Wo?#m6EDdBKl z<_hS1>c+j*nj)keW0QR=x!IIOS_Zun^}BEzm?l2@y?x$j-b8vcFGQ#(#re zE}C{U+NNjAO(tMasIks&6b)I^TJ_LS7)R@AzZhyT`<1E88%BzAeYz_#%3(MuWsGDKd^URV*9;Sw17`?(e! zO5@y#W$GR8a`P~epOu_{xsSzazNY1{&w;M>!;b9*|t_gPg=^*IjPt&vTexr=F&@M>^-tml@$DyVAl|hjE6xEt8vBE!elG zG1jeq)G#>u+l2RPl3HoT|E670J7?TsUyAf`rB~lP_)5J{B=x2wDfyf&Vay`WAc~##Jc-457uu8K^*5gj5uJ-p&&pp$j4$a1A0sL#H!EJUy|6f zaPOj11EB-CxX#tLf;WCoV+C#Nar>}ZbHo!U5IBx0|IvG79sU#B?8;QJW+Vlx%!9m` zJkHQh5-svrP0RH*KOggvoNa>8mdO3=m8juLFHTR>r&ScEvnoB)iv3BhaqTl2UgH*`0}cEK z5chVwoMfwkYy6laZt?%|4`4z2-L^uPqj={t%fe%ihgCT;wF^V(p{!$ncD&AgIC?6) zzSRDh^fhauhdnTpyvyc}QZlUj9slbt_X-$mWWehYIq(u2;i{7@q1u)4@~}OTFzv9v zv63T2S#9G(b+wSg@D!YXT%O&aoA1O;0+skyQEWNb!c{p6JTnMe>X)6p)5F4r?f#Es?L!ROQIhM!^WL`$|##@*}+~~Gr^9coc+U@t& z>w(Ef*6yH~F-K+6z@uRz1#PpzwGk(L*lGoM2raBp7qk%0mk?=$h9gqY{`oA=RH7NWI*TUpoWLY*T9eNIaXeQ;rTi?Ti$WL z>~kgGMW6hgmi3`#OygVA=}2r|4wwznQsR@+5@&-rd>cR5U*xVrl|ELUT=R7SkeQM% zNGKh&>%C2D0xH;5@w3xlq~9Tid53m>24fZLdS!`YVjz=CC~b!CS!ybf;jPdF%N4Oq zwFDlxd=CdD(a8v0)6G&%jBwqes#s(p@FA}%@mM6GX!66U1V8SoD$^N$5-E3rCVr<( zE3M}WYn04uOHgpYqi`Khs@_zuHKw-ZzJSZJ2MWY+5M3uE9r(vh9mAFO8_dROl zNt5kU6u=lAszi$%(Ab1U?kaQ}fW<1HBN(UPMIPh86`M6lC2^wxkF`2B1e|mgS?2`g zQ`D6n^oF<4t*y^|ElSv;$i$3-aB=NYX!bX6i7)mlV+#=H^Qq&>Y>&O$H4WNbN`ckF z%DpgZS}50&RYHiPXzT?IEU~Bxo4>q!{uPO5sI8hZ+>+C;Qo|Ul{{U}vK_qMDmH>h6 z>rgUF=5rWk8%Nfb2usEeD>^Hiy<+?>#7kKDE*m7DO4O55v$k(6&V;DJ!Oduiu`A7% zBvasj-ejHyLaDi`<*kcKcm#XbK8YGFN&NmZnm{CxhBH>vO;udE{3>DPrUHRkN>?c+ zG6**EYpL+mHpXn+My(%G&TtfeTEe%1r(jPCI-FNWrrF%z#pEn&6dhVd6_a-~NY}aX zd~mZ{XjYrp4W{AOYLBI6TljAKU7Sm(PSUP&K|EIWlc3vakxL`7n{#gFvOGuP$FhgZ zg$jl{KvBu5D`Qq^ZM3uzD~y4SqqRgXjlz)+3VAGh*E6MA-QUa}eZk+N9^YEq)GuSw z;qp*|!>K2VRvpUPjmc>e6>K0QBv(DIUb4>dpvn$c)xAlk-s{M+KbQO2J7cD4G`kDE zUSQH4tJfa1_9FK#=+@b^+~WlDeX7*5h(S~vNvp__THAS1k27iI{Y^z-rb&Hr6e)H* zpKq-u$6`$u(n;=CM$U8csqODw4wIuw+N<0&D+DMC#S)yBCz8gj>6Q^f%(492e*B%j zg1QT52%GkWLDN0z8!00$`@)bmr3R$)FrG1hhyVwU=c%GABJHt3$vG@~)#)yc#G6-< z>)24&3v9b%8GiJNC5>aWj{}oX-A*M!g+uQC9@Px8;B(Z{N031T0gSVs=|CPy`%?UN zv;Cg_5^6g1#UEFhO}3c>f6GgPI5_lPr~d%2Uxr>V@m{0j4-j8!`mNL6U*5{o%`}H4 z*^WuCxc>m)tG+dtSNMtH{RS~0veRtK{KtbMoyP;|x0?6?`EpHb9f`Qj0TQe?pWF5qM9AJJXym6NtJn*sgf}sqG7v)^gYfTDQXbL{ zCDWHA)Q`113E;@}b9bm*sd%qdRa17|;GN!{z@9q+UvK;%_-AY2--h~ZFvcL7<^1Mj z$xu&B{VU`jgx69*qWEG<)qxw)D? zokqz%=Ysre@npKS(;x!3~Sns#E$Ki$UHK! zClykIPe*d$Qp;6ldPGPj^vL99p`GU}k;a|*Zo`VjeNIRo6T52>gHm63f=DcxkvGf_ z81$@MTz5Sf)J`|C7N@1^^Dpjhk`d6H^{jaOFXA3^tVbXp^31M3TI4mK8Tf+!d6Eca zw~!CrplM^-S#Sqtx_^ zhk4ocnxE3J=|br=5tL72uivSl&cVAtJ0vX_Y4SNKb3Y^+*qNhF1cUlB%9WWg2fsSmPg|}oMmzjKDFvE zs@`g)g~LG&!;qvz3CFJ({{R~6`s%%!vBC9SFL7E>z+iAV=9!!xl|9w0c9F)Y;fUa$ z{S*1rzIIQ_j(d$Vq zZVjsoAI{@FD&mZc)jL)Ba(bG)g;%DEj6YRI_Kt`;*ax1L4158g72voC&oR@6I&^Vj^d_CGUD0E z-1vstSS{?V;<&f9$;65Zt7FvEHhSfyq((M%LJ8mu=DM56S)nEfqj$yvxZ=@K+R z&2MiT{{VGYiiDa6eutsMp~n;Dw>k8w&+h(IKq}nl%YIu759e1Q)a+m(<%4{Hbt632 z4cXCTjEJ=ByV88LAa^9-3S-#|SN--_j?4Zvds6XXknM&riaG!>S#exkUrKjA#qL^` zs!`734+okGO%{*(yrFhffe%sv+{?Jh2~ny@gQLyg{RQLfQ+BUU6w;(g>m(3mF`P zzyNjwB=)PCe~)}QsYrs$Qni*x>Ak{{_!@@WDOkS_l=mnJ0vLyL*0wbJ1oC{Svaz4M zlX(xTc$lD!85(z9lY#9Lsshi}}CdD=VHan&Z&rV+-WVhw>% zT{Xt5a3WPJ5bKWhuVrYqR^VU;1FcBKbL6L&7|VLp1vWN8%$>)j4LICU4o~;0yUZX2 zli!+PO(cOnXF11er+2890arZq1HC~s%;;H;%>C6r%+xmFgM8mHC+{Br0O3_&KRLhP zraumDt~_0(_=v{u9o?vn3WI>j!!OqxPvc*n*ATV5uN#6HPkR0E{h&S)LGh2_hM}aa zDs>o9rqkSvA2<)Y>=<$RdRO9K#J>aG_-kChg61Ox@J`V@Oodrk91us=trF4axWGB& zQI1D7Bd!NDw&}UYtx%7?{t9U$#C{O?d*TTujiR{SVz$GVSBPM-^c(*GI{S-LnV&>R z(YE=Kj4|!UQ(u`MvUkOip=#P*fq!@Qds|zva{+#Y78}%h6aF>&b9RWjUAIg>$`7!w z3avLvr;|Rajab#Bn%y5gc=y3_N+fMQ8D^N1zT!c>*#7{sIw<{X#C2UF`rcPrBxPhc zV8*_)@z07ANYm$v&??HyjlfsT`s|N&aUqbB%t<&kqDdpJnsU(KXR$3NWn%uAuA9SN z8GGQ2Bf@7Ok4m9%VzoJtWP``OdPl>PCFR0f`DH;}*(0@S7KKs{2PfjqJXp^hYMg*O zdsZFvWkSEG`G;!h{B?A#s>>Q3!ZzUg)(n%NiCT5au*bDjl95onRm@V6MKG2mMgy*R zHKA$ZV;dO$%-=xVQ{PI8=1jl{BehQskH|Z6SB&GWbEO#_Nl81jUDMzDLAMzEo__CC zKj3R%<|Nv3I}m9!jXa>*dN;LbYSyMJ7LmAh80XfSk1H^%?<*fN_`wX`C!P_IuQ5@_ zsj9v`k+eN(T|Oj=F>4Y-i2LJ$Pq{g+)5e}3j>kvUb%`X+$PFZC`=A4g@&5oA_^~`u z;v0=p6cLMoyv7DLvE=@>)d;t#^O%&N?bV%Mh5TtYiFX6W?;9yn*lZJ?zm0uw@XO*Q z#-(Wx0q1$-WoML*2t5hTO?(w#&KR_Z=L0xBa68wzd@a|c@&GbAuwlx++%e~_J-sVu z6!$n&(EF=PxNFEZyIPDM0v)G6LUUG{9fSZweJjtrDdWvHD+P(|E+BOS=gE_CKCRT( zpxMrsu%xJRtTGOB&3cp?OGbIs6TR#)h6V_v02-OsY3H2Lupgy$T*MV}eQDrw2&GlX z>r3}~cc?TIjokFjM=XXstvP5N@cGu~8%FDX$<0tv2FNhvn^A?{)K@X{||C0 zQzg`}JogRGPaA%f)J?0R^%*^}RIl~u?3UczM$yGFW!z3S{G{a4y@z9+@P~?`@vGjO zXxh~+93woO=dVx7y7XHuIuAPLPmpzaPAlf^BjVlP!%MlA$3#t0FJ=NqcPJ2nz%7CY z2fb7H-}_N`OIgt&(<9UGmtI8zRkxffBXuC>gH;&HZqZjFRU;3H*y+A4>()Lp@s*lI zDm9*;YRecW?c^NqcH}lGkMn67nYJ> z7@AIEKC7Mxub_0jYRkn|(cRcwEzE7yFB?6Z(AVdr{{R>?O%7XixzycSW#1c;aKqPu zUr~G{`0?Rn@TG)ycG3ZGH$2h&+nYGtbBz8K%~G3-H-wWt-dBdrNl+C%Pw^VYy42cf z3ZdLjKEkN4h-|z?5PJ)xxdh>`azXSXsHqan!5Q3nWB9SGE!^1x%v2U93*CoP^r$Ag z-8n#{$h~v-Q~XU^^8BDPjsBnA6&l1@vKJtqz3W050;zAAxz9j)n!jagcL$JU{{RXK zb-kuoF&Te;f~QGLl6f%lN8WzIm=|H5D0eiB0Z>T;u&>Sk0Qe}U!Fy|~xA=#mL5my4 z5njfl09WTd5U)A6oMrPGs8HA3v$C%U%L|sg6!d z5%sPj`rNdPrLmKeO?h&k**>rY)vliw#Dqfag)NRTk6Pr0 ziX@3yWCM~(6tLTyXFH0zj>o^!x3!~k9QoeF+P01_bqOUd8C>oM>riSMWt^7cGaw4M z{7qVIR@GS-%8;@LO zi+;{Bnc#ju_`!YS3s$p&0byc(`i9)j2V#2)<8;Y)!{#r{H(>h;p*oQap5w2jThJ_} znoY5isf@OISGCHLvOYF-XI5O&XGd!)rQ|Fl3agC&0JI3^y59?HO=Sh#aW-EGCI?Z1 zLl4v%!L-rZ;snUy58lOSS=ykvcej(uWZ{_fKHl}0E`hQ155unz>A!8UTc=2(c1C$_ z3l$yDPDgKA`k%x4ovf&fXE&IPp@toqaD6upYv3f3;s{jO$nU$TL7sT+_*b%gG_v@K zJ*r8ki_fu<)?|q`9{4PHt*K9u=!~ky=hpyajGUT&&7cf-t{cJD9wv!PYPa(_&J_a0 zQv=k2pIYtVW@H718@+mJS68vd)rnLErZE8fdr_R!GB$otc{B)PN;1R(Xa_jRKD72s zC`B0cG^I{PIqgcwWM>3>RBk|Q=QR1qkL6R7-!(!>2squ7>sl>HZp@ZRIV624sXiMS zs0nOz!0W{-uxG2bgmY_h)3+dJtw!yLj%e6fbDn7>LPsKyUiz1G{gK3EY@RcUduj_J zZ&8J+QBAf2q*phsYqypSZv+~A_ugymEe1b#?m?+)?&H0VhU)Mhha#yn{Ktb$um9wmk+~vbhq(RHC!5Y<81>N?eXaJI86?aKPp(Q0WXwQmFg z8*-L%PeDM@&_*R#@gCSm`zuhqY|?IHET_=cyd{|z3)FP0cJ|EYE(Sf$D?65RO!rgV zq%m6%4<(pz2iCSO?5&qgo9#>-1SI2=TS~A)z(tY$hCr-865pFRkuJ8!Z*Z=x! z{n&`N3<&L?vb zvO4vvns4lFeWUC8W}$z6HEj+BAlll-V|dOuAmo$JW9n-c;&+dAKY^Ynwz9UF?(eQG z)?c*1{!rPHp$c*iHrH?P2lj)z_=)4|J1tsUt80dYqC*>QhGH^HFc{i#j@_%GSjw$( zwnD?fJJ{LP{{UxQ2VG$zMI7=)$VuYE4{E)q{5ibv^@7{k1cnp`_bLY5dt$zdn@qO2 zk9vd>c6`)rqeRg8ZV>m$9E#7|$>_~Jnp++@;J*;+-VVQx@+j8gAGthxzVi3ZN9Bt8 zM%MBh+emJqed{WQ47}q#tA)4lLfl;Wks?VE%D)*Vx_=7zV0d;JkzLXm8*;$Soxefa zvz)n#im|mFr<^j}1KTxc%2-!CV05R0v;c9_fl1|zZ+@MtGeWz^B;03YUE8^=%|`jZ zmy$_vHbzRXKm|>wY4O>O*xe!Oed>gB9wYFsm1CfpudY(euN&kWmC5Yu z{6L=7`2qV;_)ApyQSpBETR1H(>_Hb6_j*)Lma?NW6$MYqtOihpz~h0hcSkrA>@CkKWe~4NSl)%NQTOIO7{Z&ZMUgIXb-tN(%mE(~}+IF%ZTJ=8~ z_y+61+R@epmDZtSZ4a3}#Askp11bjh2X;90K8Cq37N$S5ZZECIn|r80Zc^E@50+Sj zEuKMOGBeayY-XmejIF7{&uU}KD9UH2abDm19sEyEhyMT*+QRZ(npU?5*(Th6Rd90~ zegu*D*O5xQ81Cq6HbC}Q33F`aB#ncq9aMvy(wuqX;>{_`*~v*CrCOX({jz)z!zToH zt_xTBFC<17LNQ$L!C#AUc=N+hi-}ZfR>~upN$N*K_}6Kwz$d#?fK}J6eDz2;O(X4S z)m16;E~k}iT4ulDeN`^3uO+?G^jVHN+wv0ObB%Z z0!bZv_Vle-EMmKbtu8>@&KP#CTUqc_kX)?L0!kdLksLTayjNV3l3I!iSF~N3+8>2F zs$5+n>I6p;ZVk`P#&PY^x&HtWi(d&tFq>9MuOo^%1*~T>Ib)1tKdoTRrfc`1gtyw1 zk;#Q^*DiSX8Ldqh;mj~OmSosH$0oUXZ1s`dYRP--=Da^;;;$0SZnYgwT|U5P{T|Hi zEPD;#d+W`529*z)dj+zR!2m2qkLQc00}?D2`!?NeYTq)k-^}(Ie+Ls3i>DGPsGUl1>spH z4zH+83|7&9dQ5ftFH`wqOyGbmJUEPl?#N?XvFf^KOZ2A1wy0WDguTq`J z0z6~hpwe}@Z0|~rRq{9;y(qkxNhys_0P=sOXIsVp024(*c7S;&p!cs?_C9R%-78po z@Ug3i)cxi3{A&Da<;W6&3}@~q-ed3USbA63Ehe>FdA#?QMN_c+xzDY7ZnLA=S~O*4 z5l99V$jCm&{P(VRd)U_HT`F0b6#+5I7!~yPucE#cc)P?FF$k~iZ<+@oP0h3{?B1Ky z5!=2i%sw1=BGbfI5K7n3s9nu8aRTxzeK&+Zc|q%gk?mhl_!q;^qg%meeyK5!_X%|x z6OcLv{$n8UPvNyFyWGm7(#L0^Yu5MCq)QddOa?J=Zt)ZNH#M};lg=}mwP|F@0(_xD z4Ws`6t?f$Cl5xSWMQF7+*_|d=G>I3Mxj%WT)a$XjX9KlHkh5}mYGNS^gYQbq)OD%M zXFV`QJIgLU?mr4HGd5_*CaK8)1QT1WVA2fZ0;|cV0(q)ZA;ihqk$^MqC=il*b6P)S z^0*!9YkMG0PhWa&LCRE)*pLp~QE;UfAoE&n9?{bkO6D<-nS$rk)ZC=3W+Z1HUbSM@ zz%v(N$f<4P`GD(J(`Y~g4AXKal#C}B=zZ!pRSa^()xion;F4)Pn87&!pL&~=d#11D z$8WSR%>Mu=tPAUiEv?jj(0B{fnzgBFUukgRODG3v&mUUlwOxMFz=w7FP0lc>jsl>a`oyt91Pk*KwN!OJ_0s%1@U)h8#`^Vt(q$R>zl2pU2WeAI8&$u6ERNtpjy~x1 z#dZ+QaVU7vLdBn#9cXW&8eK~_ddya1Y*Frhg9D1M3Tj%b?ql|Nv)`}fR&4a;N8H#i z>s!$xM484&_o%sK78+z$QSNsx-|clZUtW=?(yr7(tsj*6-^l1|Lx$w#vsfN4)`pQ{ z$nli7ni)e*LE3~b0R3}FN0EFa@LkW^UiVMG`z(?ya!jQ%te}sV@fG?10Q*L2H1f$V0R)-|p@H zhNp(|Vx*N!kKyT>#*4(0JPE&CE!t7p38R>>Kjm7<7Y(&3dx(<0^H z7$e)7k+rL9cEYPOAL3!3*126Zt|GNq+D*`}Dx{nNQasXKIS`Tn{vv7E4e533c=>J8 zzIZ`Uw}?FU+vLcD)2(IMSrl^8IFJ3d`yh)d`9tA$s`%8W6AtzwmsJjk5 z3b!8h^Tp#!b|jO`V!)hq>O7VQX36r`y zO&8$Zr;ol7!>nmHXr3goR=1wS^tda^vY+;oo_m8{5qT8$7c$#jLhxKhN<4BY1xV~g zb)O9WCf|4)RgxLyk+jR8Bbq$@!VXo((B~u2n)RQFw-&ehjh(KqX$9q-)tpxl%B!)I zvgL?j>Up6#!giLZZp|*|hj<^x7hVSO3_69Y5f*VYU735=*nSW3-JglAVYs)IWk&-F zTb%uC<^4>vEL~quX6Q-C8B9=7@l*E+;*eH9xbu(riXE;Y7?ckv`f1ze?eRa zihea{J{y6vbhi$?h~wtIVEC8uXHxiysFOPwEFwR-wo}0OKJ}z9?xQ@K_~_D2Me0fM z8{!4u#6J^DsN54A3zW8io+C{E05jD80QIYwTfNdUC*43<*meWA<5}?~)%>XyyfR4c za5kx}%RMO|ai^R~D-hE%o`( zxE-sclfsXGd-iK5*=T@ylCj9oaHqX$>)K_Xhx|L`D0XR%#Z~IZ8Oc3|wH(W0Y;#tc z#h#AwNouV$k>G;d0DVn#nrDrr)$S&@l?K*c268y<_3K<5c5*~~reB$X1K8Hpg_O3J zC1G$_<9-xzPQp8VJH;28HN-DxE5gygnG~@x1u`&3eGjF5b?|5QvD0;Hc(lJ5#v_(6 zyLA|2&T)^vqo2ipD)^P|S`+2AIO8Byt2@&Kt0lXB@qK&IcD55&KVI~0Z%Oe+oVR*S z{2GP342OyHkErTD8hcxO!;BjIz|j6M__M-Dms&2XHK2@-l`(}rgnC!hU$gJ+h+OpY1xDLg!*EKmIj|+oJuz*f!t%kK7YiQtx4!ci4dsX>j3b{-c&p}n9 zPc2V46po?5ELdZawDqI|{K-ipZqrei=3-7qKGer&+IE6HGgHAa5iawV$0QCY8Q5yx zGz0fmV|I83wEQcfBS@F}i1TNYnBfchn#}Nzf}Zh~=5za?dUrMHcDh7yDe{*DjBe|J zUVNHbBcdt2!rmmE)ylC0?yqXqhBaJ#xESeAi!dluKrlLyPgv!Yf<{GR*{J1aD}@RT zSdQ9K0d@*Lv@B~FB#uX6O3%hvlm5?YkRRv6YPn|IeJcyanuwo3)W<~oG@KrXH`$op`t>@g5O1pSv zCnSC#SLdI{HS>Njc&+h=I*i2U*LknfuY_8~z0=%96Xf|I9Cl^kiu~62)C>Go@k0Z< z{w5Qg=daFbH=vg1A8Tr_oxmSsUX$<#K{x*Z7IYxkx=Ky*}r1G!?S7$09+$~v;1$LJlXo68%l<8pcu2tTb_CBl8^ z?d3g20Tr5ciT?m~<;N_Mu*u+LX0F>nCO&L@%0BdNFimu=5t-2G&|F>H#0u^uMo8d& zewCvsw$mUlBOur^dm#6zE$%|;@uJ2dRbQRSz!ma0?Q8MhSG2W%4|q_*T2Or3sas~? z4{vJ5rC7q<*-?v;clMk8v2Fez>C$Ol7rBb(T9_1DjDoRt$Q{qUer5RQ#9F6{wVS<5 zRlS<}?sqKm%*Ba5mFsq10heE#YW^YBr@WhfCAYR;F_iWh=K%KO+PJS8_)V^E=ee@b zwHsR?a$Z!%JqgLB38_6xaWSOS?lg}MX<8gpG;my?zPXJKJjZkLZuP-Ppj;EkEi8PNCNM6|NWx@HEY4*)J8>h8CRG;d}%Ab10_-){s{7F5v zoG43N%mzo~KT}@O@zcW^H-jO!HWtYezyvaoP9-V;-RYB#wVbA*HB8Y(wB&s0R>VRQUIB)R;z3f;XmGwK5J?@wLOUHP!7C(CvI zRi_1z*Db!&ZZ!NxJ`T_fq(+EP;(&)p+6l=-=R-OV9p z?IG9J5*t}9q?>pvvI|@nw{VBfh$ZJ;NqDw*LSc=rtQ%PV^VP)Nd{###RaL4%GwbPHR`s zaJUP*JaTbSY7@WNm`B2a|YW0PmVE&~lj?jgF!sSakT|f!OVCFc1;ejWfY^dQ^U8 z)U9(l8DowsR7oSs*dI1J6O&bE)Zw+8ZPnay5&SH0MQE;PVYj!|x=p{CAo7rK2UF|? zbNY^=*OsPf6r>~WD|PzQHEBQLAl8n?4`m14anX-+Prrsao*0_~BwS%4Q`KQc=8TOV^v-;#zswDAdlh(ppkxWY*$fzyU^nl_C(z8?eaiDR2iH zlzS6Qb;Ot$1HLJ(5YO4jUp^S9S zdz$jj(r8gn%_A1}%~)y2{Id$a^;KB8`A8vp4jNPY~_IE5mCnp>M=}yAAL%|wYirOhOxh0PE z?l(;u9mwDjoQ}udzdQad$Y0`ri5RZZZ>7l2aCe&hBlu-}(&$pj=0qe}+&e|v2aKOw zSHiy(J`w77o-x(#?Jlk5nrn$A@+Ll0V6i+Fz;D3TZF{I|bIPp-@sHNMOZIcHiu2;W zm?nqLP?D8hxdpZye~oeaFMxHXxOJaSmC+6u#_NyIIIns5AK<90d`V+9t>a8V0#M%~qwyHN7c!$yZ3;g2<$ zC8yGHlALIB|@@gvV&ezb#_}TG$Oz?hzaBlCC&rgLhaW;98 zzqq*Mnp#PDegUMrqOjN^vk$!pkWQdocYI=$?8UHx7nnujCu7sTVDuCf8b9aX!i(WI%+PZ z3b4UfR|s+SSN#QHX_Nl|Z~Ph3VpT73V|^{Y2Rl)|as2-PO4{)U#EnL6FIcy<@{&DH z1h%@I#thOTka4@*sL#^5&w>6TZ3gQ4-J*_ojDftl7b9@!aY;r>?SpFPuK4QOFNJ>q ztaMR`^^I;pcY3S$k|4jkL;2_N_OF&K(9bD$8OhCi2ggqo-uQ;eg7miWHn`qhrG>aE0QuyZh80wL@=bZ) z$4?zUjwg%olLoSl zH0J6{b53h3Bh4-}{{SaTGl9}Ukz4vErzQ4TP0^L$OGc87Hq9{{R~3dZRw3mYh;+r|I_Fj+w)i6E3H%A)g==xU9;jT#>^ zMKZD8?VhCn0Gv}nD|9uQQ?s5pz`&^5`Z!k%a>t+*nD=Vz0Fa%W?NQdL>Kcf$wtJ}} zZK!ee^c1Z62QbZE<#gMNi^9fRnS!J-w;M6uup_p6i44-6@;Tf|?rKXot~F_zd2&hZ z=qqX~9jXE26}mIM*(RS5iXngodg6(qRShc+ed_cOsE3oltj$t(o=+)87Jy}26S{5= zGHTYRHunfP^&+6QjKPEcMM)ec;_n?n>sBElxAN3GaB;^J?LoF%sLxSWrV7%mW48vg z^?5hWz#aww6bP>u?rkTSj*3XGa4TNiM5iTG<-V1@txPSnq=k8wb^tH6L1$zwAzm`) zl4+rnMBu1X_i>8Y@cyfFrQSvMdEN~ z(SO;?<63-U@O%BBBwFT}%LVjfqxIV;_H2FxA8PekS2^4Gn*99ziTp(-gYk~u!Q|MQ zy}Z`Uq~mi1^B46@el_|KAliOz_1#Wf(bVOdw2E&CkPdhsts;zq0IN)a-)fFKlT3Y( z@HZn13dWiC6)0xsCzJUKp>2C4(s?E`6qv~;1bzmst`O}f zbxzv(9R1BuIzO0S(x9sx7Kd5!#BXzL=(vUdNXFT>k)qiNRxe zackjKl6X~$t<1}?x4zMmKRWsMTK&6xe|;wC^=To=&klbo@y`|b1H@h&*DiF;OG>&+ z=mRsPY36_wZezJ}2m`4HisPEzDF*D2J;izasOdha(7)iIe-JD-`I>;ZQPfGuuSW3y z0Q?lESBgdc)6*^PKiUHy%Dxb5D41a+Qhv14r^^@{N&3;shvh!`#U~$?cDi@%jqv-#K|s}ors2|6KhD1*O5I2NNAal^?(QZyWA&wAN9?Yd@gKr| zB7E9-hQ-yt>8J$$6~B2dmUJ8Mv)so#h86*%VA(jY#fxtg>NZ3)cM_o=-D6!glkum; z8Y?Nb)-NF*o?~PA)3dOT*3Bj*g4re0M%#v)bb&_Xd>({X%>FCTbw%-pp?7ZgPnnpt zrPPE*nQp6+KOjwf+u{EJ+YiT@C;@esln>#PkbgSs>_2T?Qdr(SM^3h%%*N>~PQ zEyPO`#vr(~*vLr0V9Mli^zT@xNiy%D_wB!wv5&NV?1A^=ZOdOje%v}u$BRA`+SurK zdo>$-k$Npx{$7<4fl<$2n_Py0gZ`gQK9r|SAn zqLQVg!fSQ5`NW`Y`F${X1pRodu{9kyCc3ieL!Ih;Z>`%$;@^Q^DlV$ykw(Uk5W zgthcy4(T zepWcCpxV4&sZ)0--I(=DRKAE|x=5q=U;hBFR%}CELN^nIA9pp+X}4{qU$iouTU-#Y zo`cZWPXu3NmPGD&uCpRbvOIwj^y|fC_%I7U6kSAk-l4{RxUDB#0nbkLO3g)|i)>}+ zC02-^)KeQQ{70C}Dk=UaQBCj!2zAAsfC+0GNt5f)ex{-E%WuE6O!b%bt6mi%+e+0Z zCk2@z{$&3E?6oUkdz0!HZFhYmG0x&i{OhIDU>Dj9u^fH;isG&0-76lWHQjhr?zEY6 z-;C6~7K29{;&?vKW99ZliAMF`AOnPa*cg`&-xAvuLEv zyZGRa+({VPH-g>IQQDg=vLt!=2Osj#1N|#D=Jq$Y+{eq8a2N;WJm)y7uX8@9AV9=M zI4#)wP>}9fI;F&t7;Phs$T(-)fGamrihV}<8!2To6(UIp=sg8l@ncM26(l4&#x z7GU=>{{XC&w;yjoS8EG$-My09z!gS2Q>9;!0m1K9ZVm|JBi^dWPZ^;FhRq?01>*7hBV}D4V-l(RT)l6&(@29Mnna`>+4!tO74&^IR>gj16)hC zF`V_S4L0fvNv>FcVYgho+3Mbci3sa|W(X$MKWL8&D!-Jr*M-@Mz&llrKOAH6uhbWC z&Q!1rqattyFMHEk>Pzrjj~Cq!87Nw83sq>O@5+W%r~43#~98!S6v;BdYg>6 zxmbbuaK3}RXPFvy`M4d0PU^~XM?c;@s-)5aMi?rNt?OMjG7?$R5K}o}>CP$zWOfHK zH_+mpx&;IVG9N$W^{?%&~0QMm6N2e%)E zI6!6~K2?1IvRq*6au8isfbSef^+v*0L@*B&ikq zJi<$cAMN4f{{Ul85nIO6MQ+jn zI>hSV*FU98QjX}P)7bfdSlc)sya1nGGe~rHZc(>?x^rI5seaBrC9%mivkV{kX$i;Y zT&AJ$k6yEKtzyKFL5f_%vB8@OqW&T=>q48Tx;A~Qq`2^|tzf@By~KF*Lw%I9Hg^+;ZvN)JI=9meb|rYh2dJ)Td{R6^;b|qh8P)9e#X7g~V*oefR&TsRcj7skYnhC$$0s~FtrC%Kb)u`Vs`^+?M7*EOrAIhw&?nYUd*@{`?%V_eLvvcfK` zTL-I0+*OM$V{;_S#Hqt6{vqjG*hg3pY+qB_v-M>Od21*jJW{LU+c-bYu3BBkGAx0z z2*~YR{{V>YS#Pczorw~#$Ejc`A+moNGd`_ixck!%^?e`gz8ohwGtTe$3=imPr-&2H z)%4~ABYyAvcCUDyKFOw8TlDhOZsWP+(t83aSw16Ck9^l{;aiX*b?!;xxEp!GjlHX` z@Y#HCUVz|x(zTFvG`wYR=Gvk5t{mCyLKtVC!o3GyK4zSox}NpKIL1LF^ZHR2&>BeQ zbqE^DaKP*blf^Sj(gv-5moj{|(J(B>_=xN(?bVc;z3W4tE+soz{XKsgxqp2In{KwS z03(cc^{T%?6}7EH48eZ$9suc8;3CowGC~WH)6%P3#?!gDo8y-o*frVn&r+&=rPGXfTRX}?k;a))1$)# z!_42vS4SLwXNgpDMPc|>#k{AwoMu^@dmnn-k%&3ZL*Az4CP2-(`5cOZP&4@FH90&M zJPLv(^Bni4fUkI`YB0t}2Q=78WhXr2tyWo@u9fuX4DtUTU`{Ox40Q^N>zB{)bxis6D^P^4x z&J-S=;+^ym8BCD|Cpl5arxi|6UBc%i_p7#8lGzI!an`5O?2M8;?!UTI$GsqZitldL z_QD8wxS4r>`R1L^*09tI`-tsrhAeH{mj3{rjp}PxTfLI*>Fg~t=Slv)RqVgr6?)4} zi%YlI$_5vlQn;BvhniTtNo6qkL{mmr@FV;y^-1MaMP@nO$WdRF_IC?i8Gzd=P&)pT*LFmjXE~GQLn>(^V=)DD1@_j*7`qrJ?q=i0M1n>awO%|@} znQ)`~y@&YMRm=(yz#EmwUYR}ql{kPzP87E8cIWxj$q)l#f)sEG{{TEw@)wSW+K>?} zEs#mZDnlC;;D9^()3Lk1G#gUbjA{6j7B?l6ngAzlK{eB+^P0s%;6}`-<*lxp%_An={q%l4}UZsiS4fy;6AN z7;zG}1PpG)WclvI`3bc5bIVnzbhdMr$!@&zYgXG%MFSuTtq}`T20b!MgSn0~)RWe& z#i0l4H&(mNZ)&HZ$9l}W*VZ;*j;cKrQFitQlH9pt;p1^UaK{)f#{dfHHH!-!8^UvW zR_iqKe2p}Vou@s8aP}T6drR2mCwi_y8SFgpN(TpX{l}4^UYV`cZW5F1@!B9hSFHu z^%<^Bzh`d^YEnrB$w;M9m6A2#l=_3;=xfq%EFEN5w%V(YnG0kS^sKojn%ZDwi)UZ~ zAXiGK86zhqk1*E%0AuYbQRcGMqDasdDvE!aep!!P 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

BrKhiCd02_o{a;t0S_$?TSwxrmN6L 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 bVzx+yfb{E2pP51A5#E}lFv$b*pb!7q?Bbn8 literal 0 HcmV?d00001 diff --git a/src/assets/images/blur-bg-blurred.jpg b/src/assets/images/blur-bg-blurred.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b18f342b1b06ab606fa00e6312afae586671a7d GIT binary patch literal 260016 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�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 SMt5?8g#)&CPg%(>*(a>uNNODA7s+j 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 0.5% +last 2 versions +Firefox ESR +not dead +# IE 9-11 \ No newline at end of file diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts new file mode 100644 index 0000000..3612073 --- /dev/null +++ b/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..012182e --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,15 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * In development mode, to ignore zone related error stack frames such as + * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can + * import the following file, but please comment it out in production mode + * because it will have performance impact when throw error + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b7848964255348ebf4ab84236d33961644cf2cde GIT binary patch literal 19852 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 + + + + + 广州智能科技发展有限公司 + + + + + + + + +

+ + + + + \ No newline at end of file diff --git a/src/karma.conf.js b/src/karma.conf.js new file mode 100644 index 0000000..b6e0042 --- /dev/null +++ b/src/karma.conf.js @@ -0,0 +1,31 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require('path').join(__dirname, '../coverage'), + reports: ['html', 'lcovonly'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +}; \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..91ec6da --- /dev/null +++ b/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.log(err)); diff --git a/src/polyfills.ts b/src/polyfills.ts new file mode 100644 index 0000000..d310405 --- /dev/null +++ b/src/polyfills.ts @@ -0,0 +1,80 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE9, IE10 and IE11 requires all of the following polyfills. **/ +// import 'core-js/es6/symbol'; +// import 'core-js/es6/object'; +// import 'core-js/es6/function'; +// import 'core-js/es6/parse-int'; +// import 'core-js/es6/parse-float'; +// import 'core-js/es6/number'; +// import 'core-js/es6/math'; +// import 'core-js/es6/string'; +// import 'core-js/es6/date'; +// import 'core-js/es6/array'; +// import 'core-js/es6/regexp'; +// import 'core-js/es6/map'; +// import 'core-js/es6/weak-map'; +// import 'core-js/es6/set'; + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ +// import 'core-js/es6/reflect'; + + +/** Evergreen browsers require these. **/ +// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. +import 'core-js/es7/reflect'; + + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + **/ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + */ + + // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + + /* + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + */ +// (window as any).__Zone_enable_cross_context_check = true; + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/src/styles.scss b/src/styles.scss new file mode 100644 index 0000000..5adb454 --- /dev/null +++ b/src/styles.scss @@ -0,0 +1,7 @@ +/* You can add global styles to this file, and also import other style files */ + +/* 引入基础样式和基础变量 */ +@import './app/theme/scss/base.scss'; +@import './app/theme/scss/variables.scss'; +@import './app/theme/scss/common.scss'; +@import './app/theme/scss/typography.scss' \ No newline at end of file diff --git a/src/test.ts b/src/test.ts new file mode 100644 index 0000000..1631789 --- /dev/null +++ b/src/test.ts @@ -0,0 +1,20 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json new file mode 100644 index 0000000..722c370 --- /dev/null +++ b/src/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/app", + "module": "es2015", + "types": [] + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/src/tsconfig.spec.json b/src/tsconfig.spec.json new file mode 100644 index 0000000..8f7cede --- /dev/null +++ b/src/tsconfig.spec.json @@ -0,0 +1,19 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/spec", + "module": "commonjs", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "test.ts", + "polyfills.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/src/tslint.json b/src/tslint.json new file mode 100644 index 0000000..52e2c1a --- /dev/null +++ b/src/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ] + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..ef44e28 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es5", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2017", + "dom" + ] + } +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..3ea984c --- /dev/null +++ b/tslint.json @@ -0,0 +1,130 @@ +{ + "rulesDirectory": [ + "node_modules/codelyzer" + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": true, + "deprecation": { + "severity": "warn" + }, + "eofline": true, + "forin": true, + "import-blacklist": [ + true, + "rxjs/Rx" + ], + "import-spacing": true, + "indent": [ + true, + "spaces" + ], + "interface-over-type-literal": true, + "label-position": true, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "prefer-const": true, + "quotemark": [ + true, + "single" + ], + "radix": true, + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "unified-signatures": true, + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + "no-output-on-prefix": true, + "use-input-property-decorator": true, + "use-output-property-decorator": true, + "use-host-property-decorator": true, + "no-input-rename": true, + "no-output-rename": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true + } +}